During expression of protein-coding genes, pre-mRNAs are generated by transcription in the nucleus and then undergo several processing steps, including capping, splicing and polyadenylation. The mature mRNA is then exported from the nucleus to the cytoplasm for translation. Many of the steps in gene expression are directly coupled to each other via an extensive network of interactions among the cellular machines that carry out each step of gene expression. This extensive coupling is likely to function as a quality control mechanism by ensuring that each step occurs efficiently only if the proper contacts are made to the other steps in the pathway. Our work is focused on understanding the mechanisms involved in coupling the different steps in gene expression.