cSVI-DM is a single-cell-guided, vascular-centered framework for layer-specific drug mapping in cerebral small vessel disease (cSVD).
The framework extends upstream cSVI-subtype evidence into three intervention layers:
- CSS → Macro: vascular state and abundance evidence for state-remodeling candidates.
- CIS → Balanced: source-to-vascular relay evidence for network-balancing candidates.
- LRS → Micro: ligand-receptor-to-target evidence for target-level small molecules and structural validation.
A key design principle is that cSVI-DM does not use the final subtype barcode as the direct drug-screening input. Instead, it uses the upstream CSS/CIS/LRS outputs generated during vascular-centered subtype modeling and maps each layer to a different intervention scale.
This repository is an early research companion for the cSVI-DM preprint. The current code focuses on:
- building CSS/CIS/LRS-derived DM input tables;
- rebuilding cleaned Balanced-axis input from raw CIS outputs;
- mapping LRS-derived Micro target seeds to ChEMBL and BindingDB resources;
- generating MD-ready Micro drug-target candidate tables;
- annotating ChEMBL drug IDs with readable molecule names.
Raw single-cell data, ChEMBL caches, BindingDB snapshots, docking files, MD trajectories, and large intermediate outputs are not included.
cSVI-subtype outputs
|
|-- CSS output --> Macro input tables
|-- CIS output --> Balanced axis tables
|-- LRS output --> Micro target seeds
|
v
ChEMBL + BindingDB
|
v
subtype-specific Micro ranking
|
v
MD/docking-ready candidate list
The scripts were developed for R and use lightweight tabular processing plus web queries.
Minimum R packages:
install.packages(c("data.table", "jsonlite", "httr", "httr2"))The Micro-mapping script queries the ChEMBL web service and optionally parses a local BindingDB TSV or ZIP snapshot. An internet connection is required for ChEMBL queries.
Place upstream cSVI-subtype outputs under:
output/scRNA_feature_v1/
Required upstream files for 01_build_dm_inputs.R:
cis_sender_to_vascular_A1B1.tsv
css_ratio_by_sample_major_A1B1.tsv
css_ratio_by_sample_vascular_sub_A1B1.tsv
css_ratio_summary_by_group_A1B1.tsv
deg_vascular_B1_vs_A1.tsv
feature_gene_table_vascular_B1_vs_A1.tsv
feature_gene_top50_vascular_B1_vs_A1.tsv
feature_gene_top200_vascular_B1_vs_A1.tsv
lrs_lr_pairs_to_vascular_A1B1.tsv
lrs_sender_summary_A1B1.tsv
meta_cells_A1B1.tsv
Place the local BindingDB snapshot under, for example:
data/external/BindingDB_All_202604_tsv.zip
BindingDB is not redistributed in this repository.
Run the full Micro-oriented pipeline:
Rscript scripts/01_build_dm_inputs.R \
output/scRNA_feature_v1 \
output/dm_input_v1
Rscript scripts/02_rebuild_balanced_axes.R \
output/scRNA_feature_v1 \
output/dm_balanced_v1
Rscript scripts/03_micro_chembl_bindingdb.R \
output/dm_input_v1/dm_lrs_target_input.tsv \
data/external/BindingDB_All_202604_tsv.zip \
output/dm_micro_v1
Rscript scripts/04_build_md_input.R \
output/dm_input_v1 \
output/dm_micro_v1 \
output/dm_md_v1 \
5
Rscript scripts/05_annotate_md_docking_input.R \
output/dm_md_v1/md_docking_input.tsv \
output/dm_md_v1/md_docking_input_named.tsvA convenience wrapper is also provided:
Rscript scripts/run_micro_pipeline.R \
output/scRNA_feature_v1 \
data/external/BindingDB_All_202604_tsv.zip \
outputoutput/dm_input_v1/dm_css_input.tsv
output/dm_input_v1/dm_css_gene_level.tsv
output/dm_input_v1/dm_cis_input.tsv
output/dm_input_v1/dm_cis_top3_axes.tsv
output/dm_input_v1/dm_lrs_pair_input.tsv
output/dm_input_v1/dm_lrs_target_input.tsv
output/dm_input_v1/dm_build_summary.tsv
output/dm_balanced_v1/balanced_axis_input.tsv
output/dm_balanced_v1/balanced_axis_registry.tsv
output/dm_micro_v1/drug_target_db.tsv
output/dm_micro_v1/micro_drug_target_level.tsv
output/dm_micro_v1/micro_drug_rank_by_subtype.tsv
output/dm_micro_v1/micro_top20_by_subtype.tsv
output/dm_micro_v1/micro_target_coverage.tsv
output/dm_micro_v1/targets_without_hits.tsv
output/dm_micro_v1/dm_micro_build_summary.tsv
output/dm_md_v1/md_target_info.tsv
output/dm_md_v1/md_docking_input.tsv
output/dm_md_v1/md_docking_input_named.tsv
| Script | Purpose |
|---|---|
01_build_dm_inputs.R |
Converts upstream scRNA CSS/CIS/LRS outputs into DM-ready Macro/Balanced/Micro input tables. |
02_rebuild_balanced_axes.R |
Rebuilds cleaned Balanced axis inputs from raw CIS sender-to-vascular evidence. |
03_micro_chembl_bindingdb.R |
Maps LRS-derived Micro targets to ChEMBL and BindingDB and ranks subtype-specific small molecules. |
04_build_md_input.R |
Compresses Micro ranking into MD/docking-ready drug-target candidates. |
05_annotate_md_docking_input.R |
Resolves ChEMBL IDs to readable molecule names. |
run_micro_pipeline.R |
Runs the main Micro-oriented workflow in sequence. |
- The repository currently implements the Micro v1.0 drug-mapping workflow most completely.
- Macro and Balanced layers are represented as input and registry tables; full external Macro/Balanced drug-resource scoring may be extended in future releases.
- ChEMBL/BindingDB hits represent database-supported candidates, not experimentally validated therapies.
- Docking/MD-ready tables should be followed by independent structure preparation, docking, molecular dynamics, and binding-energy analysis.
- MM/GBSA or MM/PBSA estimates should be interpreted as computational prioritization evidence rather than direct clinical efficacy evidence.
If you use this repository, please cite the associated cSVI-DM preprint once available:
Li Y. cSVI-DM: a single-cell-guided, vascular-centered framework for layer-specific drug mapping in cerebral small vessel disease. Preprint in preparation.
Yuqian Li