Ejemplo n.º 1
0
 public BamRewriter(IBamReader bamReader, IBamWriterMultithreaded bamWriter, IAlignmentPairFilter filter,
                    List <IReadPairHandler> pairHandlers, BlockingCollection <Task> taskQueue, bool getUnpaired = false, string chrFilter = null)
 {
     _bamReader    = bamReader;
     _bamWriter    = bamWriter;
     _filter       = filter;
     _pairHandlers = pairHandlers;
     _getUnpaired  = getUnpaired;
     _chrFilter    = chrFilter;
     _taskQueue    = taskQueue;
 }
Ejemplo n.º 2
0
        public IDataSource <ReadPair> CreateReadPairSource(IBamReader bamReader, ReadStatusCounter statusCounter)
        {
            //var pairSourceLevelFilterProperPairs = _stitcherOptions.FilterForProperPairs;
            var pairSourceLevelFilterProperPairs = false; // This gets taken care of at the Gemini level now.
            var filter = new StitcherPairFilter(_stitcherOptions.FilterDuplicates,
                                                pairSourceLevelFilterProperPairs, new AlignmentFlagDuplicateIdentifier(), statusCounter,
                                                minMapQuality: 0, treatImproperAsIncomplete: false);

            var readLength = 150;

            return(new PairFilterReadPairSource(bamReader, statusCounter, _skipAndRemoveDuplicates,
                                                filter, refId: _refId,
                                                expectedFragmentLength: readLength, filterForProperPairs: pairSourceLevelFilterProperPairs));
        }
Ejemplo n.º 3
0
        public BamRewriter(IBamReader bamReader, IBamWriter bamWriter, IAlignmentPairFilter filter,
                           IReadPairHandler pairHandler, long?bufferSize = 100000, bool getUnpaired = false, string chrFilter = null)
        {
            _bamReader   = bamReader;
            _bamWriter   = bamWriter;
            _filter      = filter;
            _pairHandler = pairHandler;
            _bufferSize  = bufferSize;
            _getUnpaired = getUnpaired;
            _chrFilter   = chrFilter;

            _alignmentBuffer = new List <BamAlignment>();

            OnLog = message => Console.WriteLine(message);
        }
        public PairFilterReadPairSource(IBamReader bamReader, ReadStatusCounter readStatuses, bool skipAndRemoveDuplicates, IAlignmentPairFilter filter, int?refId = null,
                                        int?expectedFragmentLength = null, bool filterForProperPairs = false)
        {
            _bamReader               = bamReader;
            _readStatuses            = readStatuses;
            _skipAndRemoveDuplicates = skipAndRemoveDuplicates;
            if (refId != null)
            {
                _applyChrFilter = true;
                _refId          = refId.Value;
                _bamReader.Jump(_refId, 0);
            }

            _filter = filter;
            _filterForProperPairs = filterForProperPairs;

            if (expectedFragmentLength != null)
            {
                _considerInsertSize     = true;
                _expectedFragmentLength = expectedFragmentLength.Value;
            }
        }