]> git.donarmstrong.com Git - rsem.git/blobdiff - Refs.h
tested version for tbam2gbam
[rsem.git] / Refs.h
diff --git a/Refs.h b/Refs.h
index 41fcf061112bc4b6ca1cc96cb4395ca4a819e944..67c5d57a349ab589a479b6ac0608058e86cb973e 100644 (file)
--- a/Refs.h
+++ b/Refs.h
@@ -52,7 +52,7 @@ class Refs {
   }
 
   bool isValid(int sid, int dir, int pos, const std::string& readseq, int LEN, int C) {
-    if (sid <= 0 || sid > M || dir != 0 && dir != 1 ||  pos < 0 || pos + LEN > seqs[sid].getTotLen() || LEN > (int)readseq.length()) return false;
+    if (sid <= 0 || sid > M || (dir != 0 && dir != 1) ||  pos < 0 || pos + LEN > seqs[sid].getTotLen() || LEN > (int)readseq.length()) return false;
     const std::string& seq = seqs[sid].getSeq(dir);
     return countMismatch(seq, pos, readseq, LEN, C) <= C;
   }
@@ -97,7 +97,10 @@ void Refs::makeRefs(char *inpF, RefSeqPolicy& policy, PolyARules& rules) {
     while((pt = getline(fin, line)) && line[0] != '>') {
       rawseq += line;
     }
-    assert(rawseq.size() > 0);
+    if (rawseq.size() <= 0) {
+      printf("Warning: Fasta entry %s has an empty sequence! It is omitted!\n", tag.c_str()); 
+      continue;
+    }
     ++M;
     seqs.push_back(RefSeq(tag, policy.convert(rawseq), rules.getLenAt(tag)));
   }
@@ -107,7 +110,7 @@ void Refs::makeRefs(char *inpF, RefSeqPolicy& policy, PolyARules& rules) {
 }
 
 //inpF in fasta format, with sequence all in one line together
-//option 0 read all, 1 do not read sequences and names
+//option 0 read all, 1 do not read sequences
 void Refs::loadRefs(char *inpF, int option) {
   std::ifstream fin;
   RefSeq seq;