Alternative pre-mRNA Splicing: Theory and Protocols