Пример #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 Creation.ReferenceSequence CreateReferenceSequence(FastaSequence fastaSequence, List <Band> cytogeneticBands)
 {
     Band[] bands = cytogeneticBands.ToArray();
     (byte[] buffer, MaskedEntry[] maskedEntries) = TwoBitCompressor.Compress(fastaSequence.Bases);
     return(new Creation.ReferenceSequence(buffer, maskedEntries, bands, _beginPosition - 1, fastaSequence.Bases.Length));
 }
Пример #3
0
 private static Creation.ReferenceSequence CreateReferenceSequence(FastaSequence fastaSequence)
 {
     (byte[] buffer, MaskedEntry[] maskedEntries) = TwoBitCompressor.Compress(fastaSequence.Bases);
     return(new Creation.ReferenceSequence(buffer, maskedEntries, new Band[0], 0, fastaSequence.Bases.Length));
 }