Hi David,
James is right, using large enough --sjdbOverhang is safer and should not generally cause any problems with reads of varying length.
If your reads are very short, <50b, then I would strongly recommend using optimum --sjdbOverhang=mateLength-1
By mate length I mean the length of one of the ends of the read, i.e. it's 100 for 2x100b PE or 1x100b SE.
For longer reads you can simply use generic --sjdbOverhang 100.
It is a bit confusing because of the way I named this parameter. --sjdbOverhang <Noverhang> is only used at the genome generation step for constructing the reference sequence out of the annotations.
Basically, the Noverhang exonic bases from the donor site and Noverhang exonic bases from the acceptor site are spliced together for each of the junctions, and these spliced sequences are added to the genome sequence.
At the mapping stage, the reads are aligned to both genomic and splice sequences simultaneously. If a read maps to one of spliced sequences and crosses the "junction" in the middle of it, the coordinates of two pspliced pieces are translated back to genomic space and added to the collection of mapped pieces, which are then all "stitched" together to form the final alignment. Since in the process of "maximal mapped length" search the read is split into pieces of no longer than --seedSearchStartLmax (=50 by default) bases, even if the read (mate) is longer than --sjdbOverhang, it can still be mapped to the spliced reference, as long as --sjdbOverhang > --seedSearchStartLmax.
Cheers
Alex