Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
 }