X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=SingleQModel.h;fp=SingleQModel.h;h=5d4191a809d39c454e1bfea7805b12f5fde990c0;hb=86e650e9577999a7ba00ab454d1f6bf674b0ea70;hp=f32b747ad298d2bcc94f109083025a3c4277dac0;hpb=5b867894f164d9fa3fbc1a8e659b34890b977716;p=rsem.git diff --git a/SingleQModel.h b/SingleQModel.h index f32b747..5d4191a 100644 --- a/SingleQModel.h +++ b/SingleQModel.h @@ -283,9 +283,12 @@ void SingleQModel::estimateFromReads(const char* readFN) { int cnt = 0; while (reader.next(read)) { - mld != NULL ? mld->update(read.getReadLength(), 1.0) : gld->update(read.getReadLength(), 1.0); - qd->update(read.getQScore()); - if (i == 0) { nqpro->updateC(read.getReadSeq(), read.getQScore()); } + if (!read.isLowQuality()) { + mld != NULL ? mld->update(read.getReadLength(), 1.0) : gld->update(read.getReadLength(), 1.0); + qd->update(read.getQScore()); + if (i == 0) { nqpro->updateC(read.getReadSeq(), read.getQScore()); } + } + else if (verbose && read.getReadLength() < OLEN) { printf("Warning: Read %s is ignored due to read length < %d!\n", read.getName().c_str(), OLEN); } ++cnt; if (verbose && cnt % 1000000 == 0) { printf("%d READS PROCESSED\n", cnt); } @@ -339,7 +342,7 @@ void SingleQModel::read(const char* inpF) { ori->read(fi); gld->read(fi); - fscanf(fi, "%d", &val); + assert(fscanf(fi, "%d", &val) == 1); if (val > 0) { if (mld == NULL) mld = new LenDist(); mld->read(fi);