Analysis and figure-generation code for a multi-omic study of the yeast translational response to acute glucose starvation (Saccharomyces cerevisiae), comparing non-starved (NS) and 10-minute starved (S10) conditions.
The work extends the eTCP-seq / Stochastic Translation Efficiency (STE) framework of Horvath et al. (2024, Nucleic Acids Research) with direct RNA sequencing (DRS) of polysome-fractionated transcripts, jointly measuring transcript abundance, degradation, poly(A) tail length, and three RNA modifications (m5C, m6A, pseudouridine) from native molecules.
A lasso-penalized mixture-of-regressions model (flexmix + glmnet, k=5)
fit on 29 candidate features across 5,033 transcripts identifies five
regulatory clusters with distinct translational responses to starvation.
PreProcessing/— shell pipelines for degradation quantification (INDEGRA), RNA modification calling, and poly(A) tail length estimation from raw sequencing data.Entropy/— k-mer entropy and nucleotide composition analyses of UTRs and CDS.Multi_Omic_Integration/— R scripts building the integrated per-transcript feature table, fitting the lasso mixture-of-regressions model, extracting cluster assignments, feature importances (SHAP), and GO enrichment.Figures/— one folder per main and supplementary figure, containing the R (and where relevant, Python) scripts used to generate it from the processed data tables.common/— shared Python helper module (_common.py) used by the cis-regulatory feature scripts underFigures/.
R (≥ 4.x):
ggplot2, patchwork, cowplot, pheatmap, flexmix, glmnet, DESeq2,
clusterProfiler, svglite, scales, caret, dplyr, tibble, purrr
Python (≥ 3.9):
pandas, numpy, scipy, requests, matplotlib
Scripts read data locations from environment variables rather than hardcoded paths. Set these before running anything:
| Variable | Description |
|---|---|
YEAST_PROJECT_DIR |
Root of the analysis project (contains Analysis/, Paper/, etc.) |
YEAST_DATA_DIR |
Root of the primary sequencing-derived data (Annotation/, Final_db/, Structure/, etc.) |
YEAST_SUMMARY_TABLE |
Path to the combined per-transcript summary CSV |
YEAST_POLYA_RAW_DIR |
Path to raw poly(A) tail length output files |
YEAST_REGULON_DIR |
Path to the Regulon Extension pipeline outputs (cis-regulatory feature tables) |
YEAST_CLUSTER_DIR |
Path to the per-cluster gene list files (genes_cluster_lasso_M1_k5_cl*.txt) |
YEAST_FIGURE_OUT |
Output directory for rendered figures |
Example:
export YEAST_PROJECT_DIR=/path/to/NewMapping
export YEAST_DATA_DIR=/path/to/Yeast
export YEAST_SUMMARY_TABLE=/path/to/combine_table_v21.csv
export YEAST_POLYA_RAW_DIR="/path/to/PolyA/Raw File"
export YEAST_REGULON_DIR=/path/to/Regulon_pipeline
export YEAST_CLUSTER_DIR=/path/to/Clusters
export YEAST_FIGURE_OUT=/path/to/output/figuresRandom seeds are fixed throughout: seed = 123 for R scripts, seed = 0 for
Python background sampling.
Rossini, et al. (2026). Multi-omic dissection of RNA control reveals convergent cis-regulatory programs during glucose starvation in yeast. BioProject 1022817.
If you use this code, please cite the associated manuscript (currently under review).