In identifying unique reads, if tophat alignment is set to allow mismatches, I assume, that a unique read with single perfect alignment may be tagged as having multiple alignments due to a mismatch acceptance. On the other hand, if tophat alignment is set to disallow any mismatches, even the reads which have single unique alignment with one mismatch will get excluded. Is it possible to set tophat parameters so that only if a read has 0 alignments, then to allow 1 mismatch, if this still yields 0 alignments, then allow 2 mismatches, etc. (until x maximum mismatches to accept is reached)? Or, is this best accomplished after the alignment is made, by filtering the output files (e.g., by alignment quality scores) prior to passing to Cufflinks? Either way, how to accomplish this? thanks.
By default TopHat reports best or primary alignments based on alignment scores (AS). So even if there are more than one alignments that fulfill a certain mapping criteria given by a user it will only report the best alignment. In other words, use default settings during alignment and Tophat should be smart enough to report alignments you are looking for. If you set pretty stringent parameters like no mismatches allowed then you will loose lot of valid alignments. Use default if you don't know how Tophat works.