phyloDS: phylogeny-aware differential splicing across species, beyond reference annotations
phyloDS enables differential analysis of OSJ usage between two predefined groups of species by integrating RNA-seq data, sequence conservation, and phylogenetic information. The method takes as input species-specific genome sequences, an ultrametric phylogenetic tree, group membership information, genomic coordinates of one-to-one orthologous genes, and processed RNA-seq alignments (BAM files).
Installation
# Install from GitHub
remotes::install_github("aLiehrmann/phyloDS")External dependencies:
- MAFFT - multiple sequence alignment
- samtools - BAM/FASTA indexing
-
OpenSpliceAI - splice site prediction (optional, for
predictDID)
Quick Start
library(phyloDS)
# 1. Setup experiment
data <- newExperiment(
sampleInfo = "samples.tsv",
speciesInfo = "species.tsv",
orthogroups = "orthogroups.tsv",
speciesTree = "tree.nwk",
dnaDir = "dna/",
msaDir = "msa/"
)
# 2. Build orthologous junction counts
orthogroupDNA(data)
orthogroupMSA(data)
cov <- coverageSJ(data)
se <- findOSJ(data, cov)
# 3. Test for differential splicing
se <- estSizeFactors(se)
se_X <- runDS(data, se, methodName = "phyloDEOU")
# 4. Filter to genes with differentially used orthologous splice junctions
se_X <- filterSignificantGenes(se_X)
# 5. Predict splice site strength from sequence alone (orthogonal evidence)
se_X <- predictDID(data, se_X, predDir = "predictions/", refSpecies = "Homo_sapiens")
# 6. Annotate orthologous splice junctions with a reference species
se_X_hs <- annotateOSJ(data, se_X, refSpecies = "Homo_sapiens")
# 7. Export the results as an IGV session
exportResults(data, se_X, outputDir = "results/")Simulation Framework
Evaluate the type I error rate under different phylogenetic scenarios. lambda sets the within-species correlation among replicates (0 = independent replicates), and thalf is the OU half-life relative to tree height, which sets the between-species correlation (small = star-like tree, independent species; 1 or more = correlation follows the tree topology). thalf is relative only if the species tree has unit height.
