Skip to content

PMBio/interp-extrap-perturb

Repository files navigation

Interpretation, Extrapolation, and Perturbation of Single cells

Documentation Status GitHub stars License PRs Welcome


🎯 Overview

A living catalogue 📚 of computational methods that attempt to identify mechanistic cause‑and‑effect links and predict responses in unobserved settings. The project curates > 100 tools, classifies them by task, and provides a browsable web interface with informative tables and technical descriptions.


🔗 Quick Access

Resource URL
Manuscript Interpretation, extrapolation and perturbation of single cells, Nat Rev Genet (2026)
Documentation https://interp-extrap-perturb.readthedocs.io/
Contribute Contribution Guidelines - Add your method!

🤝 Contributing

We welcome contributions! 🎉 Whether you want to:

  • 🆕 Add a new method — Create a YAML file in methods/
  • ✏️ Update existing methods — Edit the corresponding YAML file
  • 🐛 Report issues — Open an issue on GitHub
  • 💡 Suggest improvements — We're always open to ideas!

👉 Get Started: Check our 📋 Contribution Guidelines for detailed instructions.

🔄 Data flow

Automated data flow from methods/ YAML files to the rendered documentation site, as follows:

  1. methods/*.yaml — canonical metadata (method, year, tasks, code link, …).

  2. generate_methods.py converts YAMLs → ReStructuredText via Jinja2:

    • One overview page (methods.rst).
    • One page per task (slugified). Tasks are listed in tasklist.txt; unknown tasks raise a warning.
  3. Sphinx + sphinx‑book‑theme renders the site;

  4. ReadTheDocs rebuilds the Website on each push.


graph LR
    A[🗃️ methods/*.yaml] --> B[🐍 generate_methods.py]
    B --> C[📄 docs/methods*.rst]
    C --> D[🔧 Sphinx]
    D --> E[🌐 Read the Docs]
    
    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style C fill:#fff3e0
    style D fill:#e8f5e8
    style E fill:#fce4ec
Loading

📋 Process Steps:

  1. 📁 Individual YAML Files — Each method stored as methods/method_name.yaml with structured metadata
  2. 🛠️ Generation Scriptgenerate_methods.py converts YAML → ReStructuredText via Jinja2:
    • 📊 One overview page (methods.rst) with sortable table
    • 🏷️ One page per task category (auto-slugified)
    • ⚠️ Tasks validation against tasklist.txt
  3. 📚 Sphinx Rendering — Uses sphinx‑book‑theme for professional styling
  4. 🚀 Auto-Deployment — ReadTheDocs rebuilds on each push to main

📄 Citation

Dimitrov*, D., Schrod*, S., Rohbeck, M., and Stegle, O. Interpretation, extrapolation and perturbation of single cells. Nat Rev Genet (2026). https://doi.org/10.1038/s41576-025-00920-4

License

MIT © 2025 Daniel Dimitrov, Stefan Schrod, Martin Rohbeck, Oliver Stegle

Funding

The authors’ work was supported through state funds approved by the State Parliament of Baden-Württemberg for the Innovation Campus Health + Life Science alliance Heidelberg Mannheim, the Data Science Collaborative Research Programme 2022 by the Novo Nordisk Foundation (grant NNF22OC0076414), and the European Research Council (Synergy Grant DECODE 810296). The authors also acknowledge funding from GSK through the EMBL-GSK collaboration framework (3000038350).

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •