From 8c756ae99d1d50b58b5568f0ea63dce05183b931 Mon Sep 17 00:00:00 2001 From: Shifu Chen Date: Fri, 29 Mar 2019 17:41:46 +0800 Subject: [PATCH] revise the insert size estimation a little when trim front is enabled --- src/peprocessor.cpp | 10 +++++----- src/peprocessor.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/peprocessor.cpp b/src/peprocessor.cpp index aa839e3..7ec79df 100644 --- a/src/peprocessor.cpp +++ b/src/peprocessor.cpp @@ -288,7 +288,7 @@ bool PairEndProcessor::processPairEnd(ReadPairPack* pack, ThreadConfig* config){ OverlapResult ov = OverlapAnalysis::analyze(r1, r2, mOptions->overlapDiffLimit, mOptions->overlapRequire); // we only use thread 0 to evaluae ISIZE if(config->getThreadId() == 0) { - statInsertSize(r1, r2, ov); + statInsertSize(r1, r2, ov, frontTrimmed1, frontTrimmed2); isizeEvaluated = true; } if(mOptions->correction.enabled) { @@ -307,7 +307,7 @@ bool PairEndProcessor::processPairEnd(ReadPairPack* pack, ThreadConfig* config){ if(config->getThreadId() == 0 && !isizeEvaluated && r1 != NULL && r2!=NULL) { OverlapResult ov = OverlapAnalysis::analyze(r1, r2, mOptions->overlapDiffLimit, mOptions->overlapRequire); - statInsertSize(r1, r2, ov); + statInsertSize(r1, r2, ov, frontTrimmed1, frontTrimmed2); isizeEvaluated = true; } @@ -435,13 +435,13 @@ bool PairEndProcessor::processPairEnd(ReadPairPack* pack, ThreadConfig* config){ return true; } -void PairEndProcessor::statInsertSize(Read* r1, Read* r2, OverlapResult& ov) { +void PairEndProcessor::statInsertSize(Read* r1, Read* r2, OverlapResult& ov, int frontTrimmed1, int frontTrimmed2) { int isize = mOptions->insertSizeMax; if(ov.overlapped) { if(ov.offset > 0) - isize = r1->length() + r2->length() - ov.overlap_len; + isize = r1->length() + r2->length() - ov.overlap_len + frontTrimmed1 + frontTrimmed2; else - isize = ov.overlap_len; + isize = ov.overlap_len + frontTrimmed1 + frontTrimmed2; } if(isize > mOptions->insertSizeMax) diff --git a/src/peprocessor.h b/src/peprocessor.h index 26fd98d..1d64e4d 100644 --- a/src/peprocessor.h +++ b/src/peprocessor.h @@ -57,7 +57,7 @@ class PairEndProcessor{ void initConfig(ThreadConfig* config); void initOutput(); void closeOutput(); - void statInsertSize(Read* r1, Read* r2, OverlapResult& ov); + void statInsertSize(Read* r1, Read* r2, OverlapResult& ov, int frontTrimmed1 = 0, int frontTrimmed2 = 0); int getPeakInsertSize(); void writeTask(WriterThread* config);