]> git.donarmstrong.com Git - rsem.git/commitdiff
rsem v1.2.0
authorBo Li <bli@cs.wisc.edu>
Thu, 11 Aug 2011 02:19:27 +0000 (21:19 -0500)
committerBo Li <bli@cs.wisc.edu>
Thu, 11 Aug 2011 02:19:27 +0000 (21:19 -0500)
BamWriter.h
EM.cpp
QProfile.h
Refs.h
Transcript.h
extractRef.cpp
synthesisRef.cpp

index e33a07fdc35e335aaf2cfe10d900fca0efd1eee2..fd0b8b7fb2734321026c85af0253b301279c2627 100644 (file)
@@ -227,7 +227,7 @@ void BamWriter::work(HitWrapper<SingleHit> wrapper, Transcripts& transcripts) {
 
                        uint16_t rstrand = b->core.flag & 0x0010; // read strand
                        b->core.flag -= rstrand;
-                       rstrand = (!rstrand && transcript.getStrand() == '+' || rstrand && transcript.getStrand() == '-' ? 0 : 0x0010);
+                       rstrand = (((!rstrand && transcript.getStrand() == '+') || (rstrand && transcript.getStrand() == '-')) ? 0 : 0x0010);
                        b->core.flag += rstrand;
 
                        push_qname(qname, b->core.l_qname, data);
@@ -356,7 +356,7 @@ void BamWriter::work(HitWrapper<PairedEndHit> wrapper, Transcripts& transcripts)
                        b2->core.flag = b2->core.flag - (b2->core.flag & 0x0010) - (b2->core.flag & 0x0020);
 
                        uint16_t add, add2;
-                       if (!rstrand && transcript.getStrand() == '+' || rstrand && transcript.getStrand() == '-') {
+                       if ((!rstrand && transcript.getStrand() == '+') || (rstrand && transcript.getStrand() == '-')) {
                                add = 0x0020; add2 = 0x0010;
                        }
                        else {
diff --git a/EM.cpp b/EM.cpp
index 08fc8c7d2400396a8fef40fc945717be4b166e83..15dd11747b27e84e6732ff6a2411efd0a1529f36 100644 (file)
--- a/EM.cpp
+++ b/EM.cpp
@@ -506,7 +506,7 @@ void EM() {
                        }
 
                if (verbose) printf("ROUND = %d, SUM = %.15g, bChange = %f, totNum = %d\n", ROUND, sum, bChange, totNum);
-       } while (ROUND < MIN_ROUND || totNum > 0 && ROUND < MAX_ROUND);
+       } while (ROUND < MIN_ROUND || (totNum > 0 && ROUND < MAX_ROUND));
          //while (ROUND < MAX_ROUND);
 
        if (totNum > 0) fprintf(stderr, "Warning: RSEM reaches %d iterations before meeting the convergence criteria.\n", MAX_ROUND);
index 879856207cbb33560aafc3c2e021eb8ea909c031..0a3b74fef022fb45ca045e342fbb3051ca1193d6 100644 (file)
@@ -43,7 +43,7 @@ private:
 };
 
 QProfile::QProfile() {
-       memset(p, sizeof(p), 0);
+       memset(p, 0, sizeof(p));
 
        //make initialized parameters
        //ASSUME order of A, C, G, T, N
diff --git a/Refs.h b/Refs.h
index f411622f0cfb74c974db580e8e16091f1503d16d..63b67e16e0d705d8c66d3946085f76b79496724c 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;
   }
index ea621f3072b98ca16c7b6d6f4e195f10e8ebb624..8d7be7ae68afae09c773144e45db4ba79b81b36f 100644 (file)
@@ -49,7 +49,7 @@ public:
        }
 
        bool operator< (const Transcript& o) const {
-               return gene_id < o.gene_id || gene_id == o.gene_id && transcript_id < o.transcript_id;
+         return gene_id < o.gene_id || (gene_id == o.gene_id && transcript_id < o.transcript_id);
        }
 
        const std::string& getTranscriptID() const { return transcript_id; }
index 12b3222744db41cf1602890b9ae0fccfd2dfedca..693af6635ae9df85006dcc7b991ee5d2e497bed8 100644 (file)
@@ -86,8 +86,14 @@ bool buildTranscript(int sp, int ep) {
                int start = items[i].getStart();
                int end = items[i].getEnd();
 
-               assert(strand == items[i].getStrand());
-               assert(seqname == items[i].getSeqName());
+               if (strand != items[i].getStrand()) {
+                 fprintf(stderr, "According to the GTF file given, a transcript has exons from different orientations!\n");
+                 exit(-1);
+               }
+               if (seqname != items[i].getSeqName()) {
+                 fprintf(stderr, "According to the GTF file given, a transcript has exons on multiple chromosomes!\n");
+                 exit(-1);
+               }
 
                if (cur_e + 1 < start) {
                        if (cur_s > 0) vec.push_back(Interval(cur_s, cur_e));
@@ -241,7 +247,7 @@ void writeResults(char* refName) {
 }
 
 int main(int argc, char* argv[]) {
-       if (argc < 6 || (hasMappingFile = atoi(argv[4])) && argc < 7) {
+  if (argc < 6 || ((hasMappingFile = atoi(argv[4])) && argc < 7)) {
                printf("Usage: rsem-extract-reference-transcripts refName quiet gtfF hasMappingFile [mappingFile] chromosome_file_1 [chromosome_file_2 ...]\n");
                exit(-1);
        }
index 3bb28086b3fee8755d81b88ad8f053b1ffd5a0af..0c6695e82389adce001ce1802d35dd21852e3add 100644 (file)
@@ -104,7 +104,7 @@ void writeResults(char* refName) {
 }
 
 int main(int argc, char* argv[]) {
-       if (argc < 5 || (hasMappingFile = atoi(argv[3])) && argc < 6) {
+  if (argc < 5 || ((hasMappingFile = atoi(argv[3])) && argc < 6)) {
                printf("Usage: synthesisRef refName quiet hasMappingFile [mappingFile] reference_file_1 [reference_file_2 ...]\n");
                exit(-1);
        }