π Thank you for considering contributions to this project! π
We welcome new methods, enhancements, bug fixes, and improvements to the existing content.
Note
π Quick Start: To ensure consistency and smooth integration, please follow the guidelines below.
Each method is stored as an individual YAML file in the methods/ directory. This makes it easy to add new methods or edit existing ones without navigating through a large file.
π Create File: New YAML file in the
methods/directory with a descriptive filename (e.g.,my_new_method.yaml)π Follow Structure: Use existing method files as templates, including these required fields:
Method: Method Name # π·οΈ Official method name Year: 2024 # π Publication year Published: true # β Publication status (true/false) Description: | # π Detailed description A comprehensive description of the method, including its approach, key features, and how it works. This text appears in the expandable table rows on the website. Task: # π― List of computational tasks - Task Category 1 - Task Category 2 Publication: https://doi.org/10.1000/example # π DOI or URL Code Availability: https://github.com/user/repo # π» Repository link
Additional optional fields:
Model: List of underlying models or frameworksInspired by: List of references or inspirations
- π Find File: Locate the corresponding YAML file in the
methods/directory - βοΈ Edit Directly: Modify the file - filenames correspond to method names (lowercased with special characters replaced)
Tip
π‘ File Naming: Use descriptive names based on the method name:
Method: cPCAβcpca.yamlMethod: GEARSβgears.yamlMethod: scGENβscgen.yaml
Warning
---
π Automated Workflow
A GitHub Actions workflow automatically runs generate_methods.py against methods.rst.j2 whenever your pull request is merged into main. This regenerates source/methods.rst to reflect your changes.
Important
β No Manual Work Required: You do NOT need to run any commands manually for the table update!
---
If you wish to preview the changes locally before pushing your PR:
# π¦ Set up environment
conda env create -f environment.yml
# π Activate environment (once created)
conda activate iep-singlecell
# ποΈ Generate docs and build
python generate_methods.py && make -C docs clean htmlπ± View Results: Open docs/build/html/index.html in a browser.
---
π‘ Best Practices
For Method Descriptions:
- π Be comprehensive but concise - aim for 3-5 sentences
- π― Focus on the key innovation or distinguishing features
- π Mention the main application area or use case
- βοΈ Include technical details that help users understand the approach
For Code Availability:
- β
Use
'-'if no code is available - π Prefer GitHub/GitLab links over personal websites
- π¦ Link to the main repository, not individual files
For Publications:
- π·οΈ Use DOI links when available (
https://doi.org/10.xxxx/...) - π° For preprints, use bioRxiv/arXiv links
- π Ensure the link is publicly accessible
---
β Need Assistance?
- π¬ Questions: Open a GitHub issue with the
questionlabel - π Bug Reports: Use the
buglabel and provide details - π‘ Feature Requests: Use the
enhancementlabel - π§ Direct Contact: Reach out to the maintainers
---