private VcfReader(StreamReader headerReader, StreamReader vcfLineReader, ISequenceProvider sequenceProvider, IRefMinorProvider refMinorProvider, IVcfFilter vcfFilter, IVariantIdCreator vidCreator) { _headerReader = headerReader; _reader = vcfLineReader; _variantFactory = new VariantFactory(sequenceProvider.Sequence, vidCreator); _sequenceProvider = sequenceProvider; _refMinorProvider = refMinorProvider; _vcfFilter = vcfFilter; _refNameToChromosome = sequenceProvider.RefNameToChromosome; }
private VcfReader(StreamReader headerReader, StreamReader vcfLineReader, ISequenceProvider sequenceProvider, IRefMinorProvider refMinorProvider, IVcfFilter vcfFilter, IVariantIdCreator vidCreator, IMitoHeteroplasmyProvider mitoHeteroplasmyProvider, bool enableDq = false) { _headerReader = headerReader; _reader = vcfLineReader; _variantFactory = new VariantFactory(sequenceProvider.Sequence, vidCreator); _sequenceProvider = sequenceProvider; _refMinorProvider = refMinorProvider; _vcfFilter = vcfFilter; _refNameToChromosome = sequenceProvider.RefNameToChromosome; _mitoHeteroplasmyProvider = mitoHeteroplasmyProvider; EnableDq = enableDq; }
public static IVariant[] Create(IVariantIdCreator vidCreator, ISequence sequence, IChromosome chromosome, int start, int end, string refAllele, string altAllele, string globalMajorAllele) { bool isRefMinor = end == start && globalMajorAllele != null; if (!isRefMinor) { return(null); } string vid = vidCreator.Create(sequence, VariantCategory.SmallVariant, null, chromosome, start, end, refAllele, altAllele, null); return(new[] { SmallVariantCreator.Create(chromosome, start, end, globalMajorAllele, refAllele, false, false, null, vid, true) }); }
public static VcfReader Create(StreamReader headerReader, StreamReader vcfLineReader, ISequenceProvider sequenceProvider, IRefMinorProvider refMinorProvider, IRecomposer recomposer, IVcfFilter vcfFilter, IVariantIdCreator vidCreator, IMitoHeteroplasmyProvider mitoHeteroplasmyProvider, bool enableDq = false) { var vcfReader = new VcfReader(headerReader, vcfLineReader, sequenceProvider, refMinorProvider, vcfFilter, vidCreator, mitoHeteroplasmyProvider, enableDq); vcfReader.ParseHeader(); vcfReader.SetRecomposer(recomposer); return(vcfReader); }
public VariantFactory(ISequence sequence, IVariantIdCreator vidCreator) { _sequence = sequence; _vidCreator = vidCreator; }
public VariantGenerator(ISequenceProvider sequenceProvider, IVariantIdCreator vidCreator) { _sequenceProvider = sequenceProvider; _vidCreator = vidCreator; }
decomposedVids) GetPositionsAndRefAltAlleles(AlleleBlock alleleBlock, AlleleSet alleleSet, string totalRefSequence, int regionStart, List <ISimplePosition> simplePositions, ISequence sequence, IVariantIdCreator vidCreator) { int numPositions = alleleBlock.AlleleIndexes.Length; int firstPositionIndex = alleleBlock.PositionIndex; int lastPositionIndex = alleleBlock.PositionIndex + numPositions - 1; int blockStart = alleleSet.Starts[firstPositionIndex]; int blockEnd = alleleSet.Starts[lastPositionIndex]; string lastRefAllele = alleleSet.VariantArrays[lastPositionIndex][0]; int blockRefLength = blockEnd - blockStart + lastRefAllele.Length; string refSequence = totalRefSequence.Substring(blockStart - regionStart, blockRefLength); var refSequenceStart = 0; var altSequenceSegments = new LinkedList <string>(); var variantPosIndexesInAlleleBlock = new List <int>(); var vidListsNeedUpdate = new List <List <string> >(); var decomposedVids = new List <string>(); if (FindConflictAllele(alleleBlock, alleleSet)) { return(default);
public static VcfReader Create(StreamReader headerReader, StreamReader vcfLineReader, ISequenceProvider sequenceProvider, IRefMinorProvider refMinorProvider, IRecomposer recomposer, IVcfFilter vcfFilter, IVariantIdCreator vidCreator) { var vcfReader = new VcfReader(headerReader, vcfLineReader, sequenceProvider, refMinorProvider, vcfFilter, vidCreator); vcfReader.ParseHeader(); vcfReader.SetRecomposer(recomposer); return(vcfReader); }