XenoPanel

Pathway, network and species-resolved analysis for targeted transcriptomic panels.

What it does

Targeted panels are cheap and sensitive at low input, but they raise two problems a general RNA-seq pipeline does not solve: cross-species signal in xenografts, and telling apart which genes change from why they change. The toolkit handles both, alongside standard differential expression and several transcriptome-state read-outs. Inputs, modules, thresholds and contrasts are set in one config file; nothing is hard-wired to a single experiment.

Workflow: inputs to modules to outputs

Four modules

Each can be switched on or off in the config.

1

Cross-reactivity

Estimate, per feature, the fraction of signal from a second (host) species using a dilution series, and build an exclusion mask.

2

QC + differential expression

filterByExpr, TMM normalization, per-sample quality control, and edgeR quasi-likelihood F-tests with TREAT across any contrasts you define.

3

Decomposition

Split each gene's change into heritable and environmental components via an exact additive identity over three states, with optional site attribution.

4

Entropy + pathway activity

Transcriptome diversity, SCENT signalling entropy and CCAT, signature scoring, PROGENy pathway activity, and CollecTRI transcription-factor activity.

Example outputs

From the bundled synthetic example: host-signal masking, differential expression, the heritable/environmental decomposition, and network entropy by group.

Representative example outputs

Quick start

R 4.3+ with yaml and edgeR; other packages only for the modules that use them.

# generate the synthetic example data
Rscript examples/make_example_data.R

# run the whole pipeline
Rscript run.R config.example.yaml

# confirm it recovers the planted truth
Rscript tests/test_recovery.R

To run on your own data, copy config.example.yaml, edit the paths, contrasts and thresholds, and run Rscript run.R your_config.yaml. See the repository for the full guide, input format and requirements.