Hi Neel,
At the moment there is no good way to prevent soft-clipping in STAR. There were a few requests for this feature, and I am thinking about a solution.
The main problem is as follows. Imagine that you have a 100b read that maps to an annotated splice junction with a short 4b overhang and no mismatches. STAR will only map 96b and soft-clip 4b. This alignment will have a score of 100-4=96.
Imagine that this sequence can also be mapped to a pseudogene with 3 mismatches, which will have a score of 97-3=94. Since 96-94>1, STAR will only report the first alignment.
On the other hand, if STAR is not allowed to soft-clip, the first alignment may have 4 mismatches and a score of 96-4=92, and thus STAR will report the second alignment.
This exemplifies why soft-clipping is important to avoid bias of alignments towards pseudogenes, even though this problem is not very severe if you are using annotations.
I am going to implement an option to enforce end-to-end alignments.
Another option is to simply replace S operation in CIGAR by extending the M operations at the ends of the reads without changing the local alignment logic - you can actually do it yourself by post-processing STAR files.
Cheers
Alex