What is the difference between the tophat2 options --no-mixed and --no-discordant? From the manual it says :
For paired reads, report only concordant mappings.
For paired reads, only report read alignments if both reads in a pair can be mapped (by default, if TopHat cannot find a concordant or discordant alignment for both reads in a pair, it will find and report alignments for each read separately; this option disables that behavior)
Sounds like pretty much the same thing to me.