Skip to main content

SenSASP: A Unified, Multi-Layer Database of Senescence and SASP Genes

A fully scripted, one-command-reproducible pipeline that unifies four senescence / SASP gene resources onto a single canonical identifier and enriches every gene with cross-species conservation, tissue/cell-type expression, and protein–protein interaction annotation.

Quick start

./main.sh            # install deps, run the data pipeline, regenerate all figures
./main.sh --no-figs  # data pipeline only (skip the notebook)

Everything is fetched from public APIs at run time — no manual downloads, no credentials. Total runtime is a few minutes (the Human Protein Atlas step makes one request per gene and dominates the wall time).

What it does

Step Module Output
1 step1_acquire.py Download CellAge, GenAge, SenMayo, Reactome → data/raw/seed_lists_raw.json
2 step2_harmonize.py Map symbols→Ensembl/UniProt/Entrez via MyGene.info → data/processed/id_map.{json,csv}
3 step3_unify.py Collapse to unique genes on Ensembl ID, record provenance (RQ1) → data/processed/unified_core.json, results/source_overlap.csv
4 step4_conservation.py Mouse + zebrafish orthologs via Ensembl BioMart → data/processed/conservation.json
5 step5_expression.py GTEx v8 (54 tissues) + Human Protein Atlas → data/processed/expression.json
6 step6_interactions.py STRING v12 high-confidence network (score≥700) → data/processed/interaction.json, string_network.json
7 step7_assemble.py Merge all layers → results/senescence_sasp_database.{json,csv}
8 step8_metrics.py Outcome metrics (RQ1/RQ2) → results/build_metrics.json, summary_report.md

Figures are generated separately from the pipeline outputs by notebooks/figures.ipynb.

Running individual steps

PYTHONPATH=. python run_pipeline.py          # all steps
PYTHONPATH=. python run_pipeline.py 4 5 6     # only these (reuse earlier outputs)

Layout

senescence_db_pipeline/
├── main.sh                 # one-click reproduction
├── run_pipeline.py         # step runner
├── requirements.txt
├── pipeline/               # step1..step8 modules + config.py
├── notebooks/figures.ipynb # all figure-generation code
├── data/raw, data/processed
├── results/                # database + metrics + report
├── figures/                # generated PNGs
└── paper/paper.md          # manuscript (Intro/Methods/Data/Results/Discussion)

Data sources

CellAge & GenAge (HAGR), SenMayo (MSigDB SAUL_SEN_MAYO / M45803, Saul et al. 2022), Reactome Cellular Senescence (R-HSA-2559583); annotation via MyGene.info, Ensembl BioMart, GTEx v8, Human Protein Atlas, and STRING v12.

Web database (GitHub Pages)

The interactive database is served from docs/ via GitHub Pages:

https://xuan13hao.github.io/sensasp

To enable: Settings → Pages → Source: Deploy from branch → Branch: main → Folder: /docs

To regenerate site data after re-running the pipeline:

python3 generate_site_data.py

This rebuilds docs/data/genes.json, genes_full.json, metrics.json, and sources.json.

Key results

1,460 summed source entries → 1,250 unique genes (210 redundant collapsed, 14.4%); 173 genes confirmed by ≥2 sources, 2 (IL6, JUN) by all four. Net-new annotation reaches 95.8% (conservation), 97.8% (expression), 92.9% (interactions), with 89.3% complete across all three layers.

Release files for sensasp-mcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sensasp-mcp 1.0.0
File Size Uploaded
sensasp_mcp-1.0.0.tar.gz 303.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sensasp-mcp 1.0.0
File Interpreter ABI Platform
sensasp_mcp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 620.4 kB

Release files / sensasp_mcp-1.0.0.tar.gz

Download URL sensasp_mcp-1.0.0.tar.gz
Size 303.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7e79c3dbf2be1fd74dbb5db6e89d3603daf48c9ad676b21dbcf7950458d3577a
BLAKE2b-256 checksum
How to use checksums
237c9e834c43dccc6aa4fd1077864f83c8b25b33ba6705f789343378245c3419
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.12

Release files / sensasp_mcp-1.0.0-py3-none-any.whl

Download URL sensasp_mcp-1.0.0-py3-none-any.whl
Size 317.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3a9afe0cc90d6b964b4c7d8450d69143d5a989e5c331df32523382c59180e1f8
BLAKE2b-256 checksum
How to use checksums
18f506cadd9befbfce3a95db221a5f69956b327c279ea8a74918b9d936026969
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

1.0.1

2 release files

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page