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;
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));
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();
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);
}
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);