Alternative polyadenylation is commonly examined using cDNA sequencing, which is known to be affected by template-switching artifacts. However, the effects of such template-switching artifacts on alternative polyadenylation are generally disregarded, while alternative polyadenylation artifacts are attributed to internal priming.
Researchers at the University of Szeged analyzed both long-read cDNA sequencing and direct RNA sequencing data of two organisms, generated by different sequencing platforms. They developed a filtering algorithm which takes into consideration that template-switching can be a source of artifactual polyadenylation when filtering out spurious polyadenylation sites. The algorithm outperformed the conventional internal priming filters based on comparison to direct RNA sequencing data. The researchers also showed that the polyadenylation artifacts arise in cDNA sequencing at consecutive stretches of as few as three adenines. There was no substantial difference between the lengths of poly(A) tails at the artifactual and the true transcriptional end sites even though it is expected that internal priming artifacts have shorter poly(A) tails than genuine polyadenylated reads.
These findings suggest that template switching plays an important role in the generation of spurious polyadenylation and support the need for more rigorous filtering of artifactual polyadenylation sites in cDNA data, or that alternative polyadenylation should be annotated using native RNA sequencing.
The mechanisms of internal priming and template switching
(a) Internal priming occurs due to the annealing of a primer to an A-rich region. A-rich regions are typically defined as genomic loci with six or more consecutive As or 12 As out of 20 nucleotides. (b) Template-switching artifacts are produced when the polymerase dislocates during elongation and reinitiates at a homologous sequence of another template
Availability – The custom scripts used for the analysis have been made available (https://github.com/zsolt-balazs/template-switching_filter).