Fig 1.
Workflow of poly(A) site identification in ContextMap 2.
On the left hand side, the sequence of the five ContextMap 2 steps is indicated. The right hand side illustrates the changes in each step that allow the identification of clipped alignments and poly(A) sites.
Fig 2.
Identification of candidate poly(A) sites.
(A) For each alignment, a sliding window of length wl is shifted along the clipped part of the read sequence and the fraction of A’s (or T’s depending on strandedness of sequencing) is calculated within each window. In this example, the fraction is 5/6 = 0.83 for the first two windows and 6/6 = 1 for all subsequent windows. Thus, at least one window contains ≥ c1 = 1 A’s and none has < c2 = 0.7 A’s and this is used as a candidate poly(A) site. (B) In this example, the clipping length is shorter than wl. Accordingly, the window approach cannot be used and all clipped nucleotides are required to be A’s or T’s to predict a candidate poly(A) site, which is the case here. (C) Alignments a3 and a4 are considered pairwise overlapping as they are clipped at the same end (dashed lines) and the distance d between the start of clipping is smaller than the read length.
Fig 3.
(A) Example of two overlapping candidate poly(A) sites supported in part (but not only) by alternative alignments of the same reads r1 and r2. (B) After calculation of evidence scores, both read r1 and r2 are assigned to the poly(A) site with higher evidence (site B). Poly(A) site A is discarded as it is no longer supported by any reads. Site B is supported by ≥ rs reads with distinct alignments starts and, thus, is included in the final ContextMap 2 output.
Table 1.
ENCODE data used for evaluation.
Fig 4.
(A) Comparison of PPV and sensitivity for evaluated parameters. Results are only shown for parameter combinations for which no other combination has a higher PPV at the same or higher sensitivity or a higher sensitivity at the same or higher PPV (i.e. locally “optimal” parameter combinations). Results for the default parameter choice are indicated by a filled black circle. Colors and symbols indicate the values for rs (minimum number of poly(A) reads required) and wl (window length), respectively. (B) Heatmap illustrating the (spearman) rank correlation between PPV and sensitivity for each parameter across all evaluated parameter combinations.
Table 2.
Evaluation results on ENCODE data.
Table 3.
Runtime of ContextMap 2 and KLEAT.
Table 4.
Evaluation results on known transcripts.
Fig 5.
Transcript 3’ ends identified by RNA-PET for an example gene.
Poly(A) site clusters identified in the RNA-PET data with at least 20 reads are shown for the SQSTM1 gene. Only transcripts and clusters on the positive strand are shown. Transcripts annotated in Ensembl are indicated in the top row, with protein-coding exons and untranslated regions indicated by large and small boxes, respectively, introns by lines and strand by arrow heads. Poly(A) site clusters identified in all five RNA-PET samples are shown as boxes in rows 2-6, with the height of the boxes indicating the number of reads for each cluster (in log scale, the range of the y-axis is given in brackets on the left). Light red boxes indicate RNA-PET clusters corresponding to the annotated transcript ends.
Fig 6.
Correlation between read coverage on transcript ends and prediction performance.
Transcripts were binned according to the read coverage on the last exon (bin size 0.5) and PPV and sensitivity were calculated separately for each bin. The value on the x-axis indicates the minimum read coverage on the last exon for all transcripts in the corresponding bin and the last bin contains all transcripts with read coverage at least 5.
Fig 7.
Identified poly(A) sites for example genes.
Number of mapped reads for each nucleotide as well as identified poly(A) site clusters are shown for two example genes, i.e. SQSTM1 and C5orf45. Transcripts annotated for both genes in Ensembl are shown in the top row, with protein-coding exons and untranslated regions indicated by large and small boxes, respectively, introns by lines and strand by arrow heads. Transcripts corresponding to the major and minor poly(A) sites (according to the RNA-seq data) are indicated in blue and red (dark: SQSTM1, light: C5orf45), respectively. For each sample, numbers of mapped reads are shown separately for the two strands (green) and ranges of read numbers are indicated in brackets. Poly(A) site clusters are indicated by red boxes and cluster names indicate the strand: fwd = positive strand, rev = negative strand.
Fig 8.
Lower RNA-PET read support for FN transcripts.
(A) Fraction of genes with at least one FN transcript 3’ end for which also a TP transcript 3’ end was detected plotted against the read coverage on the last exon of the FN transcript. For this purpose, we identified genes for which at least one FN transcript was observed with read coverage on the last exon at least a value t. We then calculated the fraction of these genes with at least a TP transcript and plotted these against increasing values of t. (B) Boxplot of the fold-change between the number of reads in the RNA-PET data for the best supported FN and TP transcript for each gene. Here, all genes with at least one FN transcript with read coverage on the last exon ≥ 2 were included. The red horizontal line indicates a fold-change of 1, showing that > 77% of genes had a TP transcript with higher read numbers in the RNA-PET data than the best FN transcript for the same gene.
Fig 9.
Presence of poly(A) signal sequences.
Frequency of poly(A) signal sequences were determined within a 50 nt window upstream of identified poly(A) site clusters. From left to right: predictions of ContextMap 2 (all samples and replicates), predictions of KLEAT (all samples and replicates) and “gold standard” poly(A) site clusters identified from RNA-PET data (all samples, replicate 1) with at least 3 and 10 reads, respectively. Poly(A) signal sequences were determined in the order of overall frequency determined by Beaudoing et al. [32], i.e. first the most frequent AAUAAA signal was searched, then the second-most frequent signal AUUAAA, and so on.
Table 5.
Evaluation results on SAPAS MCF-7 data.
Fig 10.
Replicate sensitivity for poly(A) site prediction.
For each replicate, the fraction of individual poly(A) site predictions and clusters, respectively, are shown that were also recovered in the other replicate for the same cell line.
Fig 11.
Influence of sequencing depth.
(A) Number of identified poly(A) site clusters for individual replicates and the pooled sequencing data sets. Sensitivity (B) and PPV (C) for corresponding poly(A) site clusters compared to the RNA-PET gold standard. (D) Saturation in poly(A) site discovery was investigated by sampling poly(A) reads from poly(A) sites identified on the pooled data sets. The x-axis indicates which fraction of reads were sampled (sampling rate) and the y-axis shows the average fraction of the original poly(A) sites and poly(A) site clusters that were recovered across 100 repeats of sampling with the same sampling rate, respectively.
Fig 12.
Performance of poly(A) site prediction in HSV-1.
(A) Read coverage (= number of read pairs mapped divided by genome length) on the HSV-1 genome for the newly transcribed RNA samples. (B) PPV and sensitivity for poly(A) sites in HSV-1. A poly(A) site was considered a true positive if it was within 50 nt downstream of an annotated poly(A) signal and a false positive otherwise. A poly(A) signal without a predicted poly(A) site within 50 nt downstream was considered a false negative.
Fig 13.
HSV-1 poly(A) site expression.
(A) Heatmap of read counts (log2 scale) for predicted poly(A) sites corresponding to annotated poly(A) signals in the HSV-1 genome. Poly(A) sites are denoted by the corresponding gene name. In case a poly(A) site corresponds to more than one gene, only one gene name is given. Time points are shown on the x-axis and numbers in round brackets indicate the replicate. (B) Heatmap of read coverages (log2 scale) within 1000 nt upstream of an annotated poly(A) signal. Again, only one gene name is shown if more than one gene use the same poly(A) signal. Genes are ordered according to the clustering obtained on the read counts for HSV-1 poly(A) sites.