Hi,
I am sharing ALIEN, a pure-Python tool for building namespace-specific GMT libraries for human gene-set workflows from MSigDB, Enrichr, and local gene-set files.
ALIEN stands for: Audited Library Integration for External Namespaces.
In short, ALIEN takes configured source libraries, including R-independent downloads from MSigDB and Enrichr, normalises their gene memberships, deduplicates highly overlapping gene sets if needed, projects terms into configured target namespaces, and writes combined GMT files together with metadata and QC reports.
Current targets are Ensembl-style namespaces, for example GENCODE-based gene universes.
Install:
pip install bioalien
The PyPI package is bioalien; the Python import and command-line tool are alien.
Quick preset run:
alien build pathways --workers 8
Example with modified source and output directories:
cat > local-paths.yml <<'YAML'
project:
source_dir: data/alien_sources
outdir: results/alien_pathways
YAML
alien build pathways --override local-paths.yml --workers 8
Available preset aliases are currently:
pathways Reactome, WikiPathways, KEGG MEDICUS, GO biological process
function GO molecular function and cellular component
disease HPO, DisGeNET, ClinVar, GWAS Catalog, Jensen disease
cancer cancer and dependency signatures
The main output structure is:
gmt/
metadata/
qc/
The metadata and QC outputs are meant to make the build auditable: source manifests, term manifests, gene mapping audits, filtering logs, redundancy decisions, target coverage summaries, and warnings.
I would be interested in feedback on:
- whether this looks useful beyond my own enrichment workflows
- whether the config and preset model are understandable
- whether the audit/QC outputs are sufficient for reproducible analysis
- which source libraries or target namespaces would be useful to support next
- whether the redundancy filtering and source-priority logic are too opinionated
Comments from people maintaining enrichment pipelines, or from anyone who has had problems with symbol/Ensembl mismatches in GMT workflows, would be especially helpful.
0 answers
No answers yet.
Log in to answer this question.