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

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •