Пример #1
0
        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);
        }
Пример #2
0
 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
         });
     }
 }