private static List <Creation.ReferenceSequence> CreateReferenceSequences(IEnumerable <FastaSequence> fastaSequences, IReadOnlyList <List <Band> > cytogeneticBandsByRef) { var referenceSequences = new List <Creation.ReferenceSequence>(); foreach (var fastaSequence in fastaSequences) { Band[] cytogeneticBands = cytogeneticBandsByRef[fastaSequence.Chromosome.Index].ToArray(); (byte[] buffer, MaskedEntry[] maskedEntries) = TwoBitCompressor.Compress(fastaSequence.Bases); var referenceSequence = new Creation.ReferenceSequence(buffer, maskedEntries, cytogeneticBands, 0, fastaSequence.Bases.Length); referenceSequences.Add(referenceSequence); } return(referenceSequences); }
private static void CreateReferenceSequenceFile(GenomeAssembly genomeAssembly, IReadOnlyCollection <IChromosome> chromosomes, Creation.ReferenceSequence referenceSequence) { using (var writer = new ReferenceSequenceWriter(FileUtilities.GetCreateStream(_outputCompressedPath), chromosomes, genomeAssembly, 0)) { writer.Write(new List <Creation.ReferenceSequence> { referenceSequence }); } }