public ChrRealigner(ChrReference chrReference, IAlignmentExtractor extractorForCandidates, IAlignmentExtractor extractorForRealign, IIndelCandidateFinder indelFinder, IIndelRanker indelRanker, ITargetCaller caller, RealignStateManager stateManager, IRealignmentWriter writer, List <CandidateAllele> knownIndels = null, int maxIndelSize = 25, bool tryThree = false, int anchorSizeThreshold = 10, bool skipDuplicates = false, bool skipAndRemoveDuplicates = false, bool remaskSoftclips = true, bool maskPartialInsertion = false, int minimumUnanchoredInsertionLength = 0, bool tryRealignCleanSoftclippedReads = true, bool allowRescoringOrig0 = true, int maxRealignShift = 250, AlignmentScorer alignmentScorer = null, bool debug = false) { _chrReference = chrReference; _extractorForCandidates = extractorForCandidates; _extractorForRealign = extractorForRealign; _indelFinder = indelFinder; _indelRanker = indelRanker; _caller = caller; _stateManager = stateManager; _writer = writer; _knownIndels = knownIndels == null ? null : knownIndels.Select(i => new CandidateIndel(i)).ToList(); _maxIndelSize = maxIndelSize; _anchorSizeThreshold = anchorSizeThreshold; _skipDuplicates = skipDuplicates; _skipAndRemoveDuplicates = skipAndRemoveDuplicates; _allowRescoringOrig0 = allowRescoringOrig0; _maxRealignShift = maxRealignShift; _tryRealignCleanSoftclippedReads = tryRealignCleanSoftclippedReads; _alignmentScorer = alignmentScorer; _debug = debug; if (alignmentScorer != null) { _alignmentComparer = new ScoredAlignmentComparer(alignmentScorer); } else { _alignmentComparer = new BasicAlignmentComparer(); } _readRealigner = new ReadRealigner(_alignmentComparer, tryThree, remaskSoftclips, maskPartialInsertion, minimumUnanchoredInsertionLength); }
public GeminiReadRealigner(AlignmentComparer comparer, bool remaskSoftclips = true, bool maskPartialInsertion = true, bool keepProbeSoftclips = false, bool keepBothSideSoftclips = false, bool trackActualMismatches = false, bool checkSoftclipsForMismatches = false, bool debug = false, bool maskNsOnly = true, int minInsertionSizeToAllowMismatchingBases = 5, double maxProportionInsertSequenceMismatch = 0.2, int minimumUnanchoredInsertionLength = 0) { _maskPartialInsertion = maskPartialInsertion; _keepProbeSoftclips = keepProbeSoftclips; _keepBothSideSoftclips = keepBothSideSoftclips; _trackActualMismatches = trackActualMismatches; _checkSoftclipsForMismatches = checkSoftclipsForMismatches; _comparer = comparer; _minInsertionSizeToAllowMismatchingBases = minInsertionSizeToAllowMismatchingBases; _maxProportionInsertSequenceMismatch = maxProportionInsertSequenceMismatch; _minimumUnanchoredInsertionLength = minimumUnanchoredInsertionLength; if (_keepProbeSoftclips || _keepBothSideSoftclips) { _checkSoftclipsForMismatches = false; maskNsOnly = false; } _softclipReapplier = new SoftclipReapplier(remaskSoftclips, maskNsOnly, keepProbeSoftclips, keepBothSideSoftclips, trackActualMismatches, checkSoftclipsForMismatches); _debug = debug; }
public RealignmentJudger(AlignmentComparer alignmentComparer) { _alignmentComparer = alignmentComparer; }