diff --git a/orpara-0.1.0.tar.gz b/orpara-0.1.0.tar.gz index c4e1cfa..b08b3d2 100644 Binary files a/orpara-0.1.0.tar.gz and b/orpara-0.1.0.tar.gz differ diff --git a/src/bioseq.cpp b/src/bioseq.cpp index 86683fc..09e81f5 100644 --- a/src/bioseq.cpp +++ b/src/bioseq.cpp @@ -553,10 +553,14 @@ string bioseq::substr(int b, int e) const { } string bioseq::substring(const int b, const int len) const throw (bioseqexception) { - if (b>= (int)length() || b < 0) { - cerr << "seq: " << seq << "\nb,len: " << b << ',' << len << endl; + if ((size_t)b >= length()) { + cerr << "seq: " << seq << "\nb,len: " << b << ',' << len + << " b is greater than sequence length: " << length() << endl; throw bioseqexception("bioseq::substring start index: " + itos(b) - + " out of range inside substring(b, len)"); + + " greater than seqlength"); + } + else if (b < 0) { + throw bioseqexception("b is negative inside bioseq::substring"); } return seq.substr(b, len); }