← All tools
Y

Yeast UTR Annotation

A refined S. cerevisiae reference transcriptome, with the pipeline that builds it

Overview

Per-gene 5' and 3' UTR boundaries for Saccharomyces cerevisiae, measured from Oxford Nanopore direct RNA sequencing and merged with the long-standing short-read annotation of Nagalakshmi et al. The merge never shortens an existing boundary: at every end of every gene it keeps the longer of the two estimates, so the result can replace the old annotation without losing anything it already had. Ships as a ready-to-use transcript FASTA and UTR table, and as the pipeline that rebuilds them when new data arrives.

Download

Linux · macOS · Windows · MIT

Quick start

Build the transcript reference (no HPC needed)

git clone https://github.com/Arnaroo/Yeast_Annotation.git
cd Yeast_Annotation/
pip install numpy pandas pysam matplotlib seaborn
python scripts/ReferenceConstruction/04_build_utr_reference.py \
  --template-gff Data/Annotation/gene_models_backbone_with_UTR_slots.gff3 \
  --utr-table    Data/Annotation/final_utr.tsv \
  --genome       Data/Annotation/S288C_reference_sequence_R64-4-1_20230823.fsa \
  --out-prefix   FinalReference/final

What it is

A reference transcriptome for budding yeast in which the untranslated regions are measured rather than inherited. Direct RNA sequencing reads native molecules end to end, so it sees where a transcript actually starts and stops; that is used here to place per-gene 5' and 3' UTR boundaries, which are then merged with the widely used short-read annotation of Nagalakshmi et al. (2008).

The merge rule is the part that makes it safe to adopt. At each boundary of each gene the longer of the two estimates is kept, so no existing boundary is ever shortened. Genes seen only in the nanopore data take their nanopore values; genes absent from it keep the boundaries they already had. Adopting the new annotation therefore cannot lose you anything the old one gave you.

What you get without running anything

The repository carries the finished product as well as the recipe. The transcript FASTA and the merged UTR table are in it directly, and the annotation, the FASTA, the GFF3 and the UTR table are archived on Zenodo under a concept DOI that always resolves to the newest deposit.

  • A transcript FASTA built on the S288C R64-4-1 genome.
  • final_utr.tsv, the merged per-gene 5' and 3' UTR table.
  • A GFF3 carrying the UTR features.

How the boundaries are called

Coverage profiles are aggregated per gene from the aligned direct RNA reads, then a change-point segmentation finds where coverage genuinely steps rather than drifts, which is what a transcript end looks like in this data. Segmentation uses Segmentor3IsBack, which is listed among our collaborative tools. The segment boundaries become the UTR table, and the table plus the genome build the transcript FASTA.

The repository also carries the validation: comparison against independent annotations and against TIF-seq, neighbour overlap checks, abundance concordance, and a sensitivity sweep over the segmentation threshold so the reader can see how much the result depends on it.

Running the whole pipeline

Rebuilding the annotation from raw reads needs a cluster: alignment with minimap2, STAR and bwa-mem2, then samtools and the metrics scripts. The four reference construction steps themselves are modest, three in R (dplyr, readr and Segmentor3IsBack) and one in Python (numpy, pandas, pysam). Rebuilding only the transcript FASTA from the annotation already in the repository needs neither a cluster nor R, and is the quick start above.

Full documentation, source and issue tracker on GitHub.