X-Git-Url: https://git.donarmstrong.com/?p=rsem.git;a=blobdiff_plain;f=parseIt.cpp;h=f40f82295302c48b16923d6655f3757d4057e09b;hp=c760c79f879775450e4677951d3ee25774a7ffcc;hb=refs%2Fheads%2Fmaster;hpb=9eef8b58056b7cdaad1b4bdb2b2904d9fc0ff430 diff --git a/parseIt.cpp b/parseIt.cpp index c760c79..f40f822 100644 --- a/parseIt.cpp +++ b/parseIt.cpp @@ -33,7 +33,6 @@ HIT_INT_TYPE nHits; // # of hits READ_INT_TYPE nUnique, nMulti, nIsoMulti; char fn_list[STRLEN]; char groupF[STRLEN], tiF[STRLEN]; -char imdName[STRLEN]; char datF[STRLEN], cntF[STRLEN]; GroupInfo gi; @@ -53,7 +52,7 @@ void init(const char* imdName, char alignFType, const char* alignF) { char* aux = 0; if (strcmp(fn_list, "")) aux = fn_list; - parser = new SamParser(alignFType, alignF, transcripts, aux); + parser = new SamParser(alignFType, alignF, aux, transcripts, imdName); memset(cat, 0, sizeof(cat)); memset(readOutFs, 0, sizeof(readOutFs)); @@ -95,6 +94,9 @@ void parseIt(SamParser *parser) { record_read.write(n_os, cat[record_val]); ++N[record_val]; } + + general_assert(record_val == 1 || hits.getNHits() == 0, "Read " + record_read.getName() + " is both unalignable and alignable according to the input SAM/BAM file!"); + // flush out previous read's hits if the read is alignable reads if (record_val == 1) { hits.updateRI(); @@ -167,7 +169,7 @@ int main(int argc, char* argv[]) { bool quiet = false; if (argc < 6) { - printf("Usage : rsem-parse-alignments refName sampleName sampleToken alignFType('s' for sam, 'b' for bam) alignF [-t Type] [-l fn_list] [-tag tagName] [-q]\n"); + printf("Usage : rsem-parse-alignments refName imdName statName alignFType('s' for sam, 'b' for bam) alignF [-t Type] [-l fn_list] [-tag tagName] [-q]\n"); exit(-1); } @@ -195,11 +197,10 @@ int main(int argc, char* argv[]) { sprintf(tiF, "%s.ti", argv[1]); transcripts.readFrom(tiF); - sprintf(imdName, "%s.temp/%s", argv[2], argv[3]); - sprintf(datF, "%s.dat", imdName); - sprintf(cntF, "%s.stat/%s.cnt", argv[2], argv[3]); + sprintf(datF, "%s.dat", argv[2]); + sprintf(cntF, "%s.cnt", argv[3]); - init(imdName, argv[4][0], argv[5]); + init(argv[2], argv[4][0], argv[5]); hit_out.open(datF);