Detects differential alternative splicing between conditions using rMATS-turbo (binomial LRT on junction counts), leafcutter (Dirichlet-multinomial GLM on intron clusters), MAJIQ V3 deltapsi/HET…
Install the "bio-differential-splicing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alternative-splicing/differential-splicing into .claude/skills/bio-differential-splicing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-differential-splicing", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add GPTomics/bioSkills --skill bio-differential-splicing -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "bio-differential-splicing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alternative-splicing/differential-splicing into .agents/skills/bio-differential-splicing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-differential-splicing", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add GPTomics/bioSkills --skill bio-differential-splicing -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "bio-differential-splicing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alternative-splicing/differential-splicing into .cursor/skills/bio-differential-splicing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-differential-splicing", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add GPTomics/bioSkills --skill bio-differential-splicing -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "bio-differential-splicing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alternative-splicing/differential-splicing into .gemini/skills/bio-differential-splicing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-differential-splicing", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add GPTomics/bioSkills --skill bio-differential-splicing -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "bio-differential-splicing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alternative-splicing/differential-splicing into .github/skills/bio-differential-splicing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-differential-splicing", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add GPTomics/bioSkills --skill bio-differential-splicing -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "bio-differential-splicing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alternative-splicing/differential-splicing into .opencode/skills/bio-differential-splicing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-differential-splicing", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
bio-differential-splicing
GitHub stars
1.2k
Used in
2 other repos
Token cost
~6.1k tokens
SKILL.md length
2,345 words
Files
4
Skills in repo
559
Repo updated
First seen
Licence
MIT
At a glance
Detects differential alternative splicing between conditions using rMATS-turbo (binomial LRT on junction counts), leafcutter (Dirichlet-multinomial GLM on intron clusters), MAJIQ V3 deltapsi/HET…
Works in 3 steps: Stratification: run rMATS within each… → PSI residuals (logit-transformed): PSI… → Switch to leafcutter (R function accepts…
Comparing splicing patterns between treatment groups
SKILL.md covers Version Compatibility, Statistical Model Taxonomy, Decision Tree by Experimental… and rMATS-turbo Differential…, plus 16 more sections
Runs R and Shell scripts from its folder; calls python, conda and pip
What it does
Bio Differential Splicing is an agent skill from GPTomics/bioSkills. Detects differential alternative splicing between conditions using rMATS-turbo (binomial LRT on junction counts), leafcutter (Dirichlet-multinomial GLM on intron clusters), MAJIQ V3 deltapsi/HET (Bayesian posterior on LSVs), SUPPA2 (empirical-null on TPM-derived PSI), or Shiba (junction-imbalance-corrected, 2025 SOTA at low coverage). Reports FDR-corrected significance and delta PSI effect sizes. Tools differ in statistical model, annotation dependence, calibration regime, and replicate-count requirements. Use…
Its SKILL.md is about 6.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `examples/diff_splicing_rmats.sh` and `usage-guide.md`).
It sits in Research & Science, covering Performance reviews and Test coverage. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.
When your agent uses it
Comparing splicing patterns between treatment groups
Tasks that involve Performance reviews
Tasks that involve Test coverage
Example prompts
“Use the bio-differential-splicing skill to detect differential alternative splicing between conditions using rMATS-turbo (binomial LRT on junction…”
“/bio-differential-splicing”
Requirements
Python 3
A Bash shell
Workflow steps
3 steps, taken from the first numbered list in SKILL.md.
1Stratification: run rMATS within each batch separately and meta-analyze.
2PSI residuals (logit-transformed): PSI is bounded [0,1]; raw linear regression near the boundaries is biased. Logit-transform first…
3Switch to leafcutter (R function accepts confounders matrix; CLI accepts confounders as additional columns in the groups file).
What it can do on your machine
Read from SKILL.md and the folder at commit d91ed3d. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships script files (R and Shell), which the agent can run.
Shell commands in SKILL.md call:
python
conda
pip
From the folder's file list and the shell code blocks in SKILL.md.
Network
Links to these hosts (documentation or services it may open):
sika-zheng-lab.github.io
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Bio Differential Splicing loads about 6.1k tokens when it runs. Until then it costs about 157 tokens; SKILL.md has 2,345 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~157
When it runs· the whole SKILL.md, loaded when a task matches
~6.1k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/bio-differential-splicing/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
bio-differential-splicing
description
Detects differential alternative splicing between conditions using rMATS-turbo (binomial LRT on junction counts), leafcutter (Dirichlet-multinomial GLM on intron clusters), MAJIQ V3 deltapsi/HET (Bayesian posterior on LSVs), SUPPA2 (empirical-null on TPM-derived PSI), or Shiba (junction-imbalance-corrected, 2025 SOTA at low coverage). Reports FDR-corrected significance and delta PSI effect sizes. Tools differ in statistical model, annotation dependence, calibration regime, and replicate-count requirements. Use when comparing splicing patterns between treatment groups, tissues, or disease states.
Before using code patterns, verify installed versions match. If versions differ:
Python: pip show <package> then help(module.function) to check signatures
R: packageVersion('<pkg>') then ?function_name to verify parameters
CLI: <tool> --version then <tool> --help to confirm flags
If code throws ImportError, AttributeError, or TypeError, introspect the installed
package and adapt the example to match the actual API rather than retrying.
Differential Splicing
Detect splicing changes between conditions. Tool choice is a decision about statistical model, annotation dependence, and calibration regime under the specific experimental design — not a preference. Wrong tool for the design produces uncalibrated FDR or systematic effect-size bias.
Statistical Model Taxonomy
Tool
Model
Test statistic
Min reps per group
Calibration regime
Fails when
rMATS-turbo
Binomial counts with hierarchical PSI variance
LRT on |ΔPSI| > cutoff (default 0.0001)
n>=3
Well-calibrated at n>=3 with adequate junction reads
Junction read imbalance; very low coverage; uncorrected for confounders
Beta-binomial bootstrap -> posterior over PSI per LSV
P(|ΔPSI| > T) threshold (T=0.2)
n>=3
Replicate-structured n=3 vs n=3
Cohorts where between-sample variability dominates between-group
MAJIQ HET
Same model, heterogeneity-aware
Per-LSV permutation-based test
n>=10
n>=10 vs n>=10 cohort designs
Tightly-controlled small replicate experiments
SUPPA2 (empirical)
Empirical null from between-replicate ΔPSI
ECDF on |ΔPSI| conditioned on TPM
n>=4
n>=4 vs n>=4 with paired-end deep sequencing
n<=3 vs n<=3 (sparse null collapses)
SUPPA2 (classical)
Wilcoxon rank-sum on PSI distributions
Wilcoxon p-value
n>=2
Small samples; non-parametric backup
Cassette events with tight PSI distributions
Shiba (2025)
Beta-binomial with explicit junction-imbalance correction
LRT
n>=2
n=2-3 vs n=2-3
Established benchmarks limited (new tool)
LeafcutterMD
Dirichlet-multinomial outlier mode
Per-sample p-value
n=1 vs cohort >=20
Single-patient vs cohort
Too few controls (<20)
FRASER 2.0
Beta-binomial autoencoder on Intron Jaccard Index
Per-sample p-value with delta cutoff
n=1 vs cohort >=20
n>=20 control cohort, single-patient query
See outlier-splicing-detection for this regime
The first decision is which regime the design falls into: between-group with replicates, heterogeneous cohort, or single-sample-vs-cohort. Within each regime, tool choice is much smaller (1-2 options).
Comprehensive 2023-2026 benchmarks: Olofsson 2023 Biochem Biophys Res Commun; Tran 2025 WIREs RNA; Kubota 2025 NAR. Methodology evolves — verify benchmarks and tool docs before reporting. Default 2026 recommendation: run two complementary tools (rMATS + leafcutter) and require concordance for high-confidence calls.
Decision Tree by Experimental Design
Scenario
Recommended tool
Why
Threshold
Standard n=3 vs n=3, GENCODE-annotated
rMATS-turbo + leafcutter (concordance)
Two algorithmic families; concordant hits = high-confidence
FDR<0.05, |ΔPSI|>0.10
n=2 vs n=2 small pilot
Shiba
Junction-imbalance correction matters most at low coverage
FDR<0.10, |ΔPSI|>0.10
n=10+ vs n=10+ heterogeneous (clinical, GTEx-style)
MAJIQ V3 HET
HET designed for between-sample heterogeneity
P(|ΔPSI|>0.2)>0.95
Single rare-disease patient vs panel of n>=20
FRASER 2.0 (see outlier-splicing-detection)
Outlier detection statistical model is fundamentally different
padj<0.05, |delta-jaccard|>=0.1
Time-course / multi-condition design
Custom DEXSeq or limma on PSI matrix
rMATS/leafcutter primarily 2-group
FDR<0.05 on time:group interaction
Paired tumor-normal
rMATS with --paired-stats
Paired test reduces inter-patient variance
FDR<0.05, paired |ΔPSI|>0.10
Cancer with spliceosomal mutation (SF3B1, U2AF1)
leafcutter or MAJIQ denovo
Cryptic events not in annotation
FDR<0.05; check 3'ss shifts in IGV
TDP-43 loss / ALS post-mortem
leafcutter denovo
Cryptic exons not in annotation
FDR<0.05; expect UNC13A, STMN2
Non-model organism without GENCODE-grade annotation
leafcutter
Annotation-free
FDR<0.05, |ΔPSI|>0.10
Long-read available
rMATS-long, FLAIR diffSplice
See long-read-splicing
Tool-specific
rMATS-turbo Differential Analysis
Goal: Detect statistically significant differential splicing between two groups from BAMs.
Approach: Run rMATS-turbo without --statoff, then filter by FDR + ΔPSI + per-replicate coverage.
--cstat 0.05 tests |ΔPSI| > 0.05; raise to 0.10 for stricter discovery. --novelSS enables novel-junction discovery (recommended with STAR 2-pass). For paired designs, add --paired-stats.
python
import pandas as pd
import numpy as np
se = pd.read_csv('rmats_output/SE.MATS.JC.txt', sep='\t')
def min_per_rep(s):
return s.str.split(',').apply(lambda x: min(int(v) for v in x))
se['min_inc'] = min_per_rep(se['IJC_SAMPLE_1']).combine(min_per_rep(se['IJC_SAMPLE_2']), min)
se['min_skip'] = min_per_rep(se['SJC_SAMPLE_1']).combine(min_per_rep(se['SJC_SAMPLE_2']), min)
significant = se[
(se['FDR'] < 0.05) &
(se['IncLevelDifference'].abs() > 0.10) &
((se['min_inc'] + se['min_skip']) >= 10)
].copy()
significant['score'] = -np.log10(significant['FDR']) * significant['IncLevelDifference'].abs()
top = significant.nlargest(50, 'score')
LeafCutter2 (Buen Abad Najar 2025 bioRxiv) extends leafcutter with NMD-aware classification of unproductive splicing — useful when AS-NMD coupling is the question.
MAJIQ V3 Differential Analysis
Goal: Detect differential LSVs with full posterior distributions over ΔPSI; ideal for complex multi-junction events and heterogeneous cohorts.
Approach: Build splice graph -> compute coverage per group -> run deltapsi (replicate-structured) or heterogen (cohort-style).
MAJIQ V3 (Aicher, Slaff, Jewell, Barash bioRxiv 2024; public release 2025) uses Zarr storage (splicegraph.zarr); V2's SQLite splicegraph is deprecated. MAJIQ reports posterior probability P(|ΔPSI| > 0.2); thresholds are interpreted differently from FDR. Use HET for n>=10 vs n>=10 cohort designs (clinical, GTEx-style); deltapsi for tightly controlled n=3 vs n=3.
SUPPA2 Differential Analysis
Goal: Quick differential splicing from existing transcript quantifications, useful as a sanity check or pilot.
Approach: Generate per-condition PSI files from Salmon TPM, then run diffSplice with empirical or classical p-values.
bash
suppa.py generateEvents -i annotation.gtf -o events -f ioe -e SE SS MX RI
for ev in SE A5 A3 MX RI; do
suppa.py psiPerEvent -i events_${ev}_strict.ioe -e ctrl_tpm.tsv -o ctrl_${ev}
suppa.py psiPerEvent -i events_${ev}_strict.ioe -e trt_tpm.tsv -o trt_${ev}
suppa.py diffSplice \
-m empirical \
-gc \
-i events_${ev}_strict.ioe \
-p ctrl_${ev}.psi trt_${ev}.psi \
-e ctrl_tpm.tsv trt_tpm.tsv \
-o diff_${ev}
done
For n<=3 designs, switch -m classical (Wilcoxon). Empirical null requires sufficient between-replicate observations to construct.
Shiba for Low-Coverage / Few-Replicate Designs
Goal: Detect differential splicing with explicit junction-imbalance correction — addresses a known false-positive source for rMATS-style methods.
Approach: Shiba is a Snakemake-based pipeline configured via YAML. Install via bioconda, write a config file describing groups + BAMs, then run with snakemake.
bash
conda install -c bioconda shiba
# Edit config.yaml with reference GTF, BAM groups, output dir, thresholds
# Then run the Snakemake workflow:
snakemake -s snakeshiba.smk \
--configfile config.yaml \
--cores 8 \
--use-singularity \
--singularity-args "--bind $HOME:$HOME"
Shiba (Kubota 2025 NAR) reportedly outperforms rMATS at n=2 vs n=2 by correcting differential mappability between inclusion and skipping junctions; community calibration still emerging. See https://sika-zheng-lab.github.io/Shiba/ for the full config.yaml schema.
Per-Tool Failure Modes
rMATS: Confounder-Blind LRT
Trigger: Sequencing batch, RIN, library prep date, or sex correlates with the comparison of interest.
Mechanism: rMATS' default LRT does not natively accept covariates the way DESeq2 does; the --paired-stats flag handles paired designs but not arbitrary covariates.
Symptom: Many "significant" hits driven by batch rather than biological condition; PCA on PSI matrix shows samples clustering by batch rather than group.
Fix: Either (a) include batch as a stratification (run rMATS within each batch), (b) regress PSI matrix against batch in R, then test residuals, or (c) switch to leafcutter which accepts a confounders argument in differential_splicing.
leafcutter: Cluster Mis-Topology
Trigger: A cluster spans a complex topology (cassette + alternative donor in same cluster).
Mechanism: Cluster-level p-value reports "something in this cluster differs" but doesn't indicate which intron drove the change; downstream analysis needs per-intron effect sizes.
Symptom: Significant cluster, multiple introns with different ΔPSI directions, ambiguous biological interpretation.
Fix: Inspect cluster in leafviz; report per-intron effect sizes from ds_results_effect_sizes.txt; map cluster topology to canonical SE/A5SS/A3SS via flanking exon coordinates manually.
MAJIQ HET: Power vs Type-1 Tradeoff
Trigger: HET module on n=5-10 cohorts (between regimes).
Mechanism: HET assumes between-sample variability dominates; for moderate-replicate designs (n=5-10), HET is conservative and deltapsi is more powerful.
Symptom: HET reports few hits in n=5-10 designs; deltapsi on the same data reports many.
Fix: Use deltapsi for n=3-5; reserve HET for n>=10 with explicit cohort heterogeneity.
SUPPA2 Empirical: Sparse Null at Low Replicate
Trigger: n<=3 vs n<=3 with --method empirical.
Mechanism: Empirical null is ECDF of |ΔPSI| from between-replicate comparisons within each group, binned by transcript expression. Few replicates -> few null observations -> wide confidence on null distribution.
Symptom: Inflated FDR (15-30%); "significant" hits don't replicate or validate.
Fix: Use -m classical (Wilcoxon) for n<=3 vs n<=3; or switch tool entirely (leafcutter, Shiba).
Reconciliation: When Tools Disagree
The two most common short-read tools answer slightly different questions: rMATS classifies on annotated event templates; leafcutter classifies on observed cluster usage. Disagreement is informative.
Pattern
Likely cause
Action
rMATS sig, leafcutter not sig
rMATS junction imbalance OR rMATS event hits annotation that leafcutter clustered differently
Inspect locus in IGV; check Shiba on the same locus
leafcutter sig, rMATS not sig
Novel junction not in rMATS annotation; rMATS --novelSS may have missed it
Verify --novelSS was on; rerun if not
Both sig, opposite ΔPSI direction
Event class mismatch (rMATS calls SE positive, leafcutter sees A5SS shift in same cluster)
Operational rule: for high-confidence reporting, require concordant detection in two tools from different algorithmic families (event-based + cluster-based, or LSV + isoform-based). Document both calls and any explainable disagreements.
rMATS Output Columns Reference
Column
Meaning
IJC_SAMPLE_1 / SJC_SAMPLE_1
Comma-delimited inclusion / skipping junction counts per replicate, group 1
IJC_SAMPLE_2 / SJC_SAMPLE_2
Same for group 2
IncFormLen / SkipFormLen
Effective lengths normalizing PSI for differential mapping opportunity
upstreamES/EE, downstreamES/EE
Flanking exon coordinates (genomic order; strand-agnostic in column meaning)
exonStart_0base / exonEnd
Cassette exon coordinates (0-based half-open)
PValue
LRT p-value of |ΔPSI| > cutoff
FDR
BH-adjusted PValue within event class
IncLevel1, IncLevel2
Comma-delimited per-replicate PSI values
IncLevelDifference
mean(IncLevel1) - mean(IncLevel2); sign matches --b1 - --b2 order
Show full SKILL.md (919 more words)Show less
Replicate Count and Power
Design
Recommended tools
Expected power for ΔPSI=0.2
n=2 vs n=2
leafcutter or Shiba; avoid SUPPA2
Marginal; many real effects missed
n=3 vs n=3
rMATS-turbo + leafcutter
Adequate at moderate coverage; standard
n=5 vs n=5
rMATS or leafcutter, MAJIQ deltapsi
Good; recommended for publication
n=10+ vs n=10+ heterogeneous
MAJIQ-HET
Designed for this scale
Single patient vs n=20+ controls
leafcutterMD or FRASER2
Outlier regime; see outlier-splicing-detection
For an effect-size of |ΔPSI|=0.10 (typical biological signal), power generally requires n>=4 and >=20 junction reads per replicate. Below this, expect to miss most real changes.
Significance and Effect-Size Thresholds
Stringency
|ΔPSI|
FDR
Use case
Lenient
> 0.05
< 0.10
Discovery, exploratory, hypothesis generation
Standard
> 0.10
< 0.05
Publication; default reporting threshold
Stringent
> 0.20
< 0.01
Validation cohort, follow-up targets
For MAJIQ: posterior probability P(|ΔPSI| > 0.2) >= 0.95 is roughly equivalent to standard stringency. Always document tool, threshold, and rationale.
Biologically meaningful ΔPSI varies by context:
A poison exon shift of |ΔPSI|=0.10 can halve functional protein (huge biology, modest number).
A stoichiometric isoform shift of |ΔPSI|=0.10 may be physiologically silent.
Therapeutic ASO target: SMA nusinersen aims for ΔPSI~+0.30 in SMN2 exon 7.
Confounder Handling
rMATS does not natively accept arbitrary covariates. Workarounds:
Stratification: run rMATS within each batch separately and meta-analyze.
PSI residuals (logit-transformed): PSI is bounded [0,1]; raw linear regression near the boundaries is biased. Logit-transform first, regress on confounders, then test residuals.
Switch to leafcutter (R function accepts confounders matrix; CLI accepts confounders as additional columns in the groups file).
python
import numpy as np
import statsmodels.formula.api as smf
# logit-transform PSI before residualization (PSI is bounded [0,1])
eps = 1e-3
psi['logit_psi'] = np.log((psi['psi'].clip(eps, 1 - eps)) / (1 - psi['psi'].clip(eps, 1 - eps)))
psi['psi_resid'] = smf.ols('logit_psi ~ batch + RIN', data=psi).fit().resid
# then test psi_resid by group via Wilcoxon
leafcutter accepts confounders two ways:
R function: differential_splicing(counts, x, confounders=numeric_matrix) accepts a numeric covariate matrix
CLI script: leafcutter_ds.R reads confounders from additional columns in the groups file (3rd, 4th, ... columns), NOT from a --confounders flag
MAJIQ does not accept arbitrary confounders; use stratification or switch tool.
Always check confounding before reporting: PCA on PSI matrix; if PC1 separates by batch rather than group, the comparison is confounded.
Multi-Group / Multi-Factor Designs
Design
Approach
3 groups (e.g. drug A, drug B, control)
Pairwise rMATS or leafcutter; OR limma/DESeq2 on logit-PSI matrix
Time-course (e.g. 0h, 6h, 24h)
DEXSeq on event counts with time as factor; or limma::lmFit on PSI matrix
2x2 factorial (genotype × treatment)
DEXSeq with interaction term; rMATS pairwise on interaction subsets
Continuous covariate (dose, age)
limma::lmFit on logit-PSI ~ covariate
For complex designs, custom regression on the PSI matrix is more flexible than rMATS/leafcutter pairwise.
Common Errors
Error
Cause
Solution
rMATS: numpy.AxisError
rMATS version mismatch with numpy >=2.0
Pin numpy<2.0 or update rMATS-turbo to >=4.3
leafcutter: zero variance in cluster
Cluster has all-zero counts in a group
Pre-filter with --min_samples_per_intron 5 --min_samples_per_group 3
MAJIQ: out of memory
Default settings on >50-sample cohort
Use --mem-profile flag; chunk samples; consider HET for large cohorts
Comparing tool outputs naively — MAJIQ posteriors and rMATS FDR are different scales; use threshold equivalents (P>0.95 ~ FDR<0.05 in many regimes) but confirm with simulation when reporting.
Forgetting NMD direction — increased PSI of a poison exon decreases protein. Always check whether the alternative form is PTC-introducing using ORF-aware annotation.
Cryptic splicing in TDP-43 loss / SF3B1-mutant samples — annotation-bound tools (rMATS, SUPPA2) miss these; need leafcutter or MAJIQ with denovo mode.
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 7, 2026.
Bio Differential Splicing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Bio Differential Splicing compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Bio Differential Splicing this skillGPTomics/bioSkills
Calibrate third-party keyword and sales-estimate tools against each other: run the same keyword and the same high-volume ASIN through several tools, compare search volume, estimated monthly sales…
A skill your agent uses when an International Economic Review (IER) result may be sensitive to specification, sample, functional form, calibration, or inference choices.
A skill your agent uses when responding to a Perspectives on Psychological Science (PoPS) editor and reviewer decision letter — coverage gaps, balance/fairness complaints, framework/argument asks…
Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.
Detects differential alternative splicing between conditions using rMATS-turbo (binomial LRT on junction counts), leafcutter (Dirichlet-multinomial GLM on intron clusters), MAJIQ V3 deltapsi/HET…. Bio Differential Splicing is an agent skill from GPTomics/bioSkills. Detects differential alternative splicing between conditions using rMATS-turbo (binomial LRT on junction counts), leafcutter (Dirichlet-multinomial GLM on intron clusters), MAJIQ V3 deltapsi/HET (Bayesian posterior on LSVs), SUPPA2 (empirical-null on TPM-derived PSI), or Shiba (junction-imbalance-corrected, 2025 SOTA at low coverage).
When should I use Bio Differential Splicing?
Bio Differential Splicing fits situations like: comparing splicing patterns between treatment groups; tasks that involve Performance reviews; tasks that involve Test coverage.
How do I install Bio Differential Splicing in Claude Code?
Run `npx skills add GPTomics/bioSkills --skill bio-differential-splicing -a claude-code`. Or copy the skill folder (alternative-splicing/differential-splicing in GPTomics/bioSkills) into .claude/skills/bio-differential-splicing in your project. Claude Code loads it when a task matches its description.
How do I install Bio Differential Splicing in Codex?
Run `npx skills add GPTomics/bioSkills --skill bio-differential-splicing -a codex`. Or copy the skill folder (alternative-splicing/differential-splicing in GPTomics/bioSkills) into .agents/skills/bio-differential-splicing in your project. Codex loads it when a task matches its description.
Can I use Bio Differential Splicing in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GPTomics/bioSkills --skill bio-differential-splicing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-differential-splicing, .gemini/skills/bio-differential-splicing, .github/skills/bio-differential-splicing and .opencode/skills/bio-differential-splicing in your project.
What does Bio Differential Splicing need to run?
Going by SKILL.md and its folder, Bio Differential Splicing needs R and a shell for the scripts in its folder and the command-line tools its instructions call (python, conda and pip). Our summary lists: Python 3; A Bash shell.
Does Bio Differential Splicing access the network?
SKILL.md names 1 domain. As links in the text: sika-zheng-lab.github.io. This is read from the text; nothing was executed.
Is Bio Differential Splicing safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Bio Differential Splicing use?
Bio Differential Splicing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Bio Differential Splicing use?
About 6.1k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Bio Differential Splicing?
Skills that share tags, products or a category with Bio Differential Splicing: Sealeap Taotie Amazon Third Party Tool Data Calibration (xjli360/sealeap-amazon-skills, 247 stars), Paper From Zero (yunshenwuchuxun/latex-paper-skills, 266 stars), Lsp Inspect (blackwell-systems/agent-lsp, 160 stars) and Jqte Io Cge (franklee16/academic-research-skills, 223 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Bio Differential Splicing?
GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,217 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.
Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.