Hi Daniel,
While quasi-mapping doesn't produce a traditional alignment, it's not actually less precise than traditional alignment. What I mean by this is that, if there is even a small differentiating region of sequence between the overlapping transcripts, reads that originate from that region should be distinguished and mapped to that transcript that produces them. However, for the large majority of reads, coming from regions where the containing transcript and the contained transcript have identical sequence, quasi-mappings will be generated for both of these transcripts. This multi-mapping will then be resolved by the inference algorithm.
Basically, if no reads come from only the contained transcript, but there exist reads that can be assigned to only the containing transcript, then it is very likely that having the contained transcript with an abundance close to zero is a high likelihood solution. Consider the following example:
-- -- -- -- -- -- -- -- -- -- -- -- -- --
|====================================| X
|==============*========| Y
In the "diagram" above, X is the containing transcript, Y is the contained transcript, "--" represents a read and "*" represents the small region of Y that is distinct from X.
In this case, since no reads overlap "*", every read that can be accounted for by Y can also be accounted for by X. Further, there are reads that only X can account for.
So, in this case, Y is likely to be assigned very low abundance (possibly 0). Of course, if there are reads overlapping "*", then that shouldn't happen.
If you want to know which (read, transcript) pairs are being generated by quasi-mapping (and hence, considered by salmon), you can run
RapMap on the data and take a look at the resulting SAM file. Then, you'll be able to see which reads are multi-mapping to X and Y, and which reads, if any, are mapping only to Y.
Best,
Rob