├── .editorconfig ├── .github ├── pull_request_template.md └── workflows │ ├── make-json.yml │ └── register-template-repos.yml ├── .gitignore ├── .pre-commit-config.yaml ├── LICENSE ├── README.md ├── affiliated └── scverse_affiliated_package_review_guidelines.md ├── packages ├── CellAnnotator │ └── meta.yaml ├── CellCharter │ └── meta.yaml ├── CellMapper │ └── meta.yaml ├── CellOracle │ └── meta.yaml ├── CellRank │ └── meta.yaml ├── Cell_BLAST │ └── meta.yaml ├── CellphoneDB │ └── meta.yaml ├── Cirrocumulus │ └── meta.yaml ├── DoubletDetection │ └── meta.yaml ├── GPTBioInsightor │ └── meta.yaml ├── GRnnData │ └── meta.yaml ├── LazySlide │ └── meta.yaml ├── Mowgli │ └── meta.yaml ├── Multivelo │ └── meta.yaml ├── PEAKQC │ └── meta.yaml ├── PILOT │ └── meta.yaml ├── PathML │ └── meta.yaml ├── PyDESeq2 │ └── meta.yaml ├── Rectangle │ └── meta.yaml ├── SC2Spa │ └── meta.yaml ├── SCALEX │ └── meta.yaml ├── SnapATAC2 │ └── meta.yaml ├── anndata-for-R │ └── meta.yaml ├── annsel │ └── meta.yaml ├── benGRN │ └── meta.yaml ├── bento-tools │ └── meta.yaml ├── biolord │ └── meta.yaml ├── cell2location │ └── meta.yaml ├── cellxgene │ └── meta.yaml ├── dandelion │ └── meta.yaml ├── decoupler │ └── meta.yaml ├── dynamo-release │ └── meta.yaml ├── epiScanpy │ └── meta.yaml ├── eschr │ └── meta.yaml ├── favapy │ └── meta.yaml ├── flowsom │ └── meta.yaml ├── gssnng │ └── meta.yaml ├── hotspot │ └── meta.yaml ├── infercnvpy │ └── meta.yaml ├── liana │ └── meta.yaml ├── maxspin │ └── meta.yaml ├── moscot │ └── meta.yaml ├── novae │ └── meta.yaml ├── omicverse │ └── meta.yaml ├── palantir │ └── meta.yaml ├── panpipes │ └── meta.yaml ├── pegasus │ └── meta.yaml ├── pertpy │ └── meta.yaml ├── popV │ └── meta.yaml ├── pyLemur │ └── meta.yaml ├── pySCENIC │ └── meta.yaml ├── pychromVAR │ └── meta.yaml ├── pytximport │ └── meta.yaml ├── rapids-singlecell │ └── meta.yaml ├── scDataLoader │ └── meta.yaml ├── scFates │ └── meta.yaml ├── scGen │ └── meta.yaml ├── scPRINT │ └── meta.yaml ├── scanpro │ └── meta.yaml ├── schist │ └── meta.yaml ├── scib │ └── meta.yaml ├── sctriangulate │ └── meta.yaml ├── scvelo │ └── meta.yaml ├── scyan │ └── meta.yaml ├── sfaira │ └── meta.yaml ├── sift-sc │ └── meta.yaml ├── sobolev-alignment │ └── meta.yaml ├── sopa │ └── meta.yaml ├── spatial-eggplant │ └── meta.yaml ├── spatialproteomics │ └── meta.yaml ├── symphonypy │ └── meta.yaml ├── tangram │ └── meta.yaml ├── vitessce │ └── meta.yaml └── wsidata │ └── meta.yaml ├── schema.json ├── scripts ├── pyproject.toml └── src │ └── ecosystem_scripts │ ├── __init__.py │ └── template_repo_registry.py └── template-repos.yml /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.{yml,yaml}] 12 | indent_size = 2 13 | 14 | [Makefile] 15 | indent_style = tab 16 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /.github/workflows/make-json.yml: -------------------------------------------------------------------------------- 1 | name: Make JSON 2 | on: 3 | pull_request: 4 | branches: [main] 5 | push: 6 | branches: [main] 7 | 8 | concurrency: 9 | group: "pages" 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | mkjson: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - name: Checkout repository 18 | uses: actions/checkout@v4 19 | - name: setup-yq 20 | run: | 21 | sudo curl -L "https://github.com/mikefarah/yq/releases/download/v4.28.2/yq_linux_amd64" > /usr/local/bin/yq 22 | sudo chmod +x /usr/local/bin/yq 23 | - name: convert to json 24 | run: | 25 | mkdir build 26 | touch build/.nojekyll 27 | cat packages/**/meta.yaml 28 | yq -o=json packages/**/meta.yaml | jq -s . > build/ecosystem.json 29 | - name: Upload GitHub Pages artifact 30 | uses: actions/upload-pages-artifact@v3 31 | with: 32 | path: "build" 33 | 34 | deploy: 35 | runs-on: ubuntu-latest 36 | needs: mkjson 37 | 38 | # Grant GITHUB_TOKEN the permissions required to make a Pages deployment 39 | permissions: 40 | pages: write # to deploy to Pages 41 | id-token: write 42 | 43 | environment: 44 | name: github-pages 45 | url: ${{ steps.deployment.outputs.page_url }} 46 | 47 | if: github.ref == 'refs/heads/main' 48 | steps: 49 | - name: Deploy to GitHub Pages 50 | id: deployment 51 | uses: actions/deploy-pages@v4 52 | - name: Trigger website build 53 | run: | 54 | curl -XPOST \ 55 | -u "scverse-bot:${{ secrets.BOT_GH_TOKEN }}" \ 56 | -H "Accept: application/vnd.github.everest-preview+json" \ 57 | -H "Content-Type: application/json" \ 58 | https://api.github.com/repos/scverse/scverse.github.io/actions/workflows/gh-pages.yml/dispatches \ 59 | --data '{"ref": "main"}' 60 | -------------------------------------------------------------------------------- /.github/workflows/register-template-repos.yml: -------------------------------------------------------------------------------- 1 | name: Register template repos 2 | 3 | on: 4 | schedule: 5 | # Twice a month: https://crontab.guru/#0_5_1,15_*_* 6 | - cron: "0 5 1,15 * *" 7 | workflow_dispatch: 8 | 9 | jobs: 10 | register-template-repos: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | with: 15 | token: ${{ secrets.BOT_GH_TOKEN }} 16 | - name: Set up Python 3.11 17 | uses: actions/setup-python@v5 18 | with: 19 | python-version: "3.11" 20 | cache: "pip" 21 | cache-dependency-path: "**/pyproject.toml" 22 | - name: Install build dependencies 23 | run: python -m pip install --upgrade pip wheel 24 | - name: Install package with scripts 25 | run: pip install ./scripts 26 | - name: Update template repo registry 27 | run: register-template-repos template-repos.yml 28 | env: 29 | GITHUB_TOKEN: "${{ secrets.BOT_GH_TOKEN }}" 30 | - uses: EndBug/add-and-commit@v9 31 | with: 32 | add: ./template-repos.yml 33 | author_name: scverse-bot 34 | author_email: core-team@scverse.org 35 | message: "Updated template-repos.yml" 36 | push: true 37 | - name: Show diff 38 | run: git diff HEAD~1 39 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_STORE 2 | __pycache__/ 3 | .ruff_cache/ 4 | 5 | /.vscode/ 6 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | fail_fast: false 2 | default_language_version: 3 | python: python3 4 | default_stages: 5 | - pre-commit 6 | - pre-push 7 | minimum_pre_commit_version: 2.16.0 8 | repos: 9 | # all files 10 | - repo: https://github.com/pre-commit/pre-commit-hooks 11 | rev: v5.0.0 12 | hooks: 13 | - id: detect-private-key 14 | - id: check-ast 15 | - id: end-of-file-fixer 16 | - id: mixed-line-ending 17 | args: [--fix=lf] 18 | - id: trailing-whitespace 19 | - id: check-case-conflict 20 | - repo: https://github.com/pre-commit/mirrors-prettier 21 | rev: v4.0.0-alpha.8 22 | hooks: 23 | - id: prettier 24 | # package metadata 25 | - repo: https://github.com/python-jsonschema/check-jsonschema 26 | rev: 0.33.0 27 | hooks: 28 | - id: check-jsonschema 29 | files: "schema.json" 30 | args: ["--check-metaschema"] 31 | - repo: https://github.com/python-jsonschema/check-jsonschema 32 | rev: 0.33.0 33 | hooks: 34 | - id: check-jsonschema 35 | files: "packages/.*/meta.yaml" 36 | args: ["--schemafile", "schema.json"] 37 | - repo: local 38 | hooks: 39 | - id: forbid-to-commit 40 | name: Check files in `packages` directory 41 | entry: | 42 | Only files named `meta.yaml` are permitted in the packages directory 43 | language: fail 44 | files: "^packages/.*$" 45 | exclude: "^packages/.*/meta.yaml$" 46 | # template repo registry 47 | - repo: https://github.com/astral-sh/ruff-pre-commit 48 | rev: v0.11.12 49 | hooks: 50 | - id: ruff 51 | args: [--fix, --exit-non-zero-on-fix] 52 | - id: ruff-format 53 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2022, scverse 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Scverse Ecosystem Packages 2 | 3 | This repository contains the list of scverse ecosystem packages that are displayed on scverse.org and are part of 4 | the scverse® project. 5 | The goal is to increase visibility of ecosystem packages and make it easier for users to find appropriate software. 6 | Registered ecosystem packages can also get their own tag to use on the [scverse forum](https://discourse.scverse.org) for user discussion. 7 | Authors of these packages can be added to the [scverse github organization](https://github.com/scverse). 8 | In the future, we may also test releases of core packages against the test suites of ecosystem packages. 9 | 10 | If a package is part of this list, it means it fulfills certain minimum requirements as outlined below. 11 | It **does not** imply endorsement or that an in-depth review has been performed. 12 | 13 | **Hint:** If you want to receive notifications about new ecosystem packages, simply use GitHub's "watch" functionality for this repository. 14 | 15 | ## How can my package become part of the list? 16 | 17 | Submit a pull-request adding a `meta.yaml` file for your package to the `packages` directory. 18 | 19 | - Please refer to other entries for examples 20 | - The full definition of available fields is available in [`schema.json`](schema.json) 21 | - Please copy the checklist from below into the pull request description and answer all questions. 22 | 23 | ## What are the requirements for an ecosystem package? 24 | 25 | For a package to become an approved ecosystem package, it must fulfill all mandatory requirements from the checklist below. 26 | 27 | Ecosystem packages can be written in non-Python languages as long as they fulfill the above requirements. 28 | 29 | If you cannot or do not want to comply with these requirements, you are still free to make your package interoperable with scverse by using our datastructures, but we will not list your package on our ecosystem page. 30 | 31 | ## Checklist for adding packages 32 | 33 | ### Mandatory 34 | 35 | Name of the tool: XXX 36 | 37 | Short description: XXX 38 | 39 | How does the package use scverse data structures (please describe in a few sentences): XXX 40 | 41 | - [ ] The code is publicly available under an [OSI-approved](https://opensource.org/licenses/alphabetical) license 42 | - [ ] The package provides versioned releases 43 | - [ ] The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda) 44 | - [ ] Automated tests cover essential functions of the package and a reasonable range of inputs and conditions [^1] 45 | - [ ] Continuous integration (CI) automatically executes these tests on each push or pull request [^2] 46 | - [ ] The package provides API documentation via a website or README[^3] 47 | - [ ] The package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions) 48 | - [ ] I am an author or maintainer of the tool and agree on listing the package on the scverse website 49 | 50 | ### Recommended 51 | 52 | - [ ] Please announce this package on scverse communication channels (zulip, discourse, twitter) 53 | - [ ] Please tag the author(s) these announcements. Handles (e.g. `@scverse_team`) to include are: 54 | 55 | - Zulip: 56 | - Discourse: 57 | - Mastodon: 58 | - Bluesky: 59 | - Twitter: 60 | 61 | - [ ] The package provides tutorials (or "vignettes") that help getting users started quickly 62 | - [ ] The package uses the [scverse cookiecutter template](https://github.com/scverse/cookiecutter-scverse). 63 | 64 | [^1]: We recommend thtat tests cover at least all user facing (public) functions. Minimal tests ensure that the function does not fail on an example data set. Ideally, tests also ensure the correctness of the results, e.g. by comparing against a snapshot. 65 | 66 | [^2]: Continuous integration means that software tests are automatically executed on every push to the git repository. This guarantees they are always run and that they are run in a clean environment. Scverse ecosystem packages most commonly use [GitHub Actions](https://github.com/features/actions) for CI. For an example, check out our [cookiecutter template](https://github.com/scverse/cookiecutter-scverse). 67 | 68 | [^3]: By API documentation, we mean an overview of _all_ public functions provided a package, with documentation of their parameters. For an example, see the [Scanpy documentation](https://scanpy.readthedocs.io/en/stable/api/preprocessing.html). In simple cases, this can be done manually in a README file. For anything more complex, we recommend the [Sphinx Autodoc plugin](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) 69 | -------------------------------------------------------------------------------- /affiliated/scverse_affiliated_package_review_guidelines.md: -------------------------------------------------------------------------------- 1 | # **Reviewing scverse-affiliated packages** 2 | 3 | This document outlines the criteria for reviewing packages applying to become scverse-affiliated and is intended for reviewers. 4 | 5 | Thank you for participating in the review process for scverse-affiliated package submissions. Your insights and evaluations play a crucial role in maintaining the quality and integrity of the scverse ecosystem. 6 | 7 | Unlike a typical academic paper review, your report will be combined with a coordinator's review and may not be directly shared with the authors. Please submit your review report privately to the coordinator who contacted you. 8 | 9 | The review focuses on several key areas as detailed below. You are expected to base your review on these criteria, but you are also welcome to highlight any other relevant aspects. For each category, please provide a 'traffic light' rating and include comments, especially where there is room for improvement. 10 | 11 | ### **Traffic Light Rating System** 12 | 13 | 14 |
RedIndicates major issues or shortcomings. Affiliated packages must resolve any red scores to be accepted or remain listed. 15 |
OrangeAcceptable but with notable deficiencies. This serves as both a caution to users and a motivator for developers to improve. 16 |
GreenRepresents the ideal standard. All-green packages may be featured prominently within the scverse ecosystem. 17 |
18 | 19 | The review categories are as follows, with specific keywords in **`monospaced text`** for use in the scverse registry: 20 | 21 | ### **Functionality (`'functionality'`)** 22 | 23 | Assess whether the package's scope is relevant and useful within the scverse ecosystem. 24 | 25 | ### **Integration with scverse (`'ecointegration'`)** 26 | 27 | Evaluate the package's use of scverse and other related libraries, checking for unnecessary duplication or missed opportunities for integration. 28 | 29 | ### **License (`'license'`)** 30 | 31 | Verify that the the code is publicly available under an OSI-approved licensei 32 | 33 | ### **Distribution (`'distribution'`)** 34 | 35 | Verify that the package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda) 36 | 37 | ### **Documentation (`'documentation'`)** 38 | 39 | Review the package's documentation for completeness, clarity, and usefulness to potential users. 40 | 41 | ### **Testing (`'testing'`)** 42 | 43 | Consider the coverage and effectiveness of the package's automated tests. 44 | 45 | ### **Development status (`'devstatus'`)** 46 | 47 | Determine the package's current development stage and the versioned releases. 48 | 49 | ### **Python 3 compatibility (`'python3'`)** 50 | 51 | Verify that the package is compatible with Python 3. 52 | 53 | --- 54 | 55 | **Detailed Guidelines for Each Category:** 56 | 57 | ### **Functionality ('functionality')** 58 | 59 | Evaluate the scope of the package: 60 | 61 | 62 |
RedNot relevant to the scverse community. 63 |
GreenBroadly useful across the scverse community. 64 |
65 | 66 | ### **Integration with scverse ('ecointegration')** 67 | 68 | Assess integration with scverse: 69 | 70 | 71 |
RedLittle to no use of scverse structures where applicable. 72 |
GreenThe package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions). 73 |
74 | 75 | ### **License ('license')** 76 | 77 | Verify OSI-approved license: 78 | 79 | 80 |
RedCode is not OSI-approved licensed. 81 |
GreenCode is OSI-approved licensed. 82 |
83 | 84 | ### **Distribution ('distribution')** 85 | 86 | Evaluate the package's documentation: 87 | 88 | 89 |
RedThe package cannot be installed from a standard registry. 90 |
GreenThe package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda). 91 |
92 | 93 | ### **Documentation ('documentation')** 94 | 95 | Evaluate the package's documentation: 96 | 97 | 98 |
RedInadequate or significantly lacking. 99 |
GreenThe package provides API documentation via a website or README. 100 |
101 | 102 | ### **Testing ('testing')** 103 | 104 | Assess the package's testing practices: 105 | 106 | 107 |
RedInsufficient test coverage or poorly implemented tests. 108 |
GreenThe package uses automated software tests and runs them via continuous integration (CI). 109 |
110 | 111 | ### **Development status ('devstatus')** 112 | 113 | Determine the package's development status: 114 | 115 | 116 |
RedThe package does not provide versioned releases. 117 |
GreenThe package provides versioned releases. 118 |
119 | 120 | 121 |
RedSubmission by an individual who is neither an author nor a maintainer of the tool or/and does not agree on listing the package on the scverse website. 122 |
GreenSubmission by an author or maintainer of the tool who agrees on listing the package on the scverse website. 123 |
124 | 125 | ### **Python 3 compatibility ('python3')** 126 | 127 | Check Python 3 compatibility: 128 | 129 | 130 |
RedNot compatible with Python 3. 131 |
GreenFully compatible with Python 3. 132 |
133 | 134 | ### **Recommended (`'recommended'`)** 135 | 136 | 137 |
OrangeThe package does not provide tutorials (or "vignettes") that help getting users started quickly 138 |
139 | 140 | 141 |
OrangeThe package does not use the scverse cookiecutter template. 142 |
143 | -------------------------------------------------------------------------------- /packages/CellAnnotator/meta.yaml: -------------------------------------------------------------------------------- 1 | name: CellAnnotator 2 | description: | 3 | CellAnnotator is a leightweight tool to query large language models for cell type labels in scRNA-seq data. It can incorporate prior knowledge, and it creates consistent labels across samples in your study. 4 | project_home: https://github.com/quadbio/cell-annotator 5 | documentation_home: https://cell-annotator.readthedocs.io/en/latest/ 6 | install: 7 | pypi: cell-annotator 8 | tags: 9 | - cell type labels 10 | - openai 11 | - large language models 12 | - automatic annotation 13 | - cell state 14 | license: MIT 15 | version: v0.1.3 16 | authors: 17 | - Marius1311 18 | test_command: pip install -e '.[test]' && pytest 19 | -------------------------------------------------------------------------------- /packages/CellCharter/meta.yaml: -------------------------------------------------------------------------------- 1 | name: CellCharter 2 | description: | 3 | CellCharter is a framework to identify, characterize and compare spatial domains from spatial omics and multi-omics data. 4 | project_home: https://github.com/CSOgroup/cellcharter 5 | documentation_home: https://cellcharter.readthedocs.io/ 6 | tutorials_home: https://cellcharter.readthedocs.io/ 7 | publications: 8 | - 10.1038/s41588-023-01588-4 9 | install: 10 | pypi: cellcharter 11 | tags: 12 | - spatial omics 13 | - spatial clustering 14 | - spatial domains 15 | - gaussian mixture model 16 | license: BSD-3-Clause 17 | version: v0.3.1 18 | authors: 19 | - marcovarrone 20 | test_command: | 21 | pip install ".[test]" && pytest 22 | -------------------------------------------------------------------------------- /packages/CellMapper/meta.yaml: -------------------------------------------------------------------------------- 1 | name: CellMapper 2 | description: | 3 | CellMapper is a leightweight tool to transfer labels, expression values and embeddings from reference to query datasets using k-NN mapping. It's fast and versatile, applicable to mapping scenarios in space, across modalities, or from an atlas to a new query dataset. 4 | project_home: https://github.com/quadbio/cellmapper 5 | documentation_home: https://cellmapper.readthedocs.io/en/latest/ 6 | install: 7 | pypi: cellmapper 8 | tags: 9 | - k-NN based mapping 10 | - rapids 11 | - faiss 12 | - query-to-reference 13 | license: MIT 14 | version: v0.1.2 15 | authors: 16 | - Marius1311 17 | test_command: pip install -e '.[test]' && pytest 18 | -------------------------------------------------------------------------------- /packages/CellOracle/meta.yaml: -------------------------------------------------------------------------------- 1 | name: CellOracle 2 | description: | 3 | A computational tool that integrates single-cell transcriptome and epigenome profiles 4 | to infer gene regulatory networks (GRNs), critical regulators of cell identity. 5 | project_home: https://github.com/morris-lab/CellOracle 6 | documentation_home: https://morris-lab.github.io/CellOracle.documentation/ 7 | tutorials_home: https://morris-lab.github.io/CellOracle.documentation/ 8 | publications: 9 | - 10.1101/2020.02.17.947416 10 | install: 11 | pypi: celloracle 12 | tags: 13 | - GRN 14 | - TF 15 | license: Apache-2.0 16 | version: v0.10.12 17 | authors: 18 | - KenjiKamimoto-wustl122 19 | - sam-morris 20 | - cmhct7 21 | test_command: | 22 | sudo apt-get update 23 | sudo apt-get install -y bedtools 24 | wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh 25 | bash miniconda.sh -b -p $HOME/miniconda 26 | source "$HOME/miniconda/etc/profile.d/conda.sh" 27 | hash -r 28 | conda config --set always_yes yes --set changeps1 no 29 | #conda update -q conda 30 | # Useful for debugging any issues with conda 31 | conda info -a 32 | # Create env 33 | conda create -q -n test-environment python=3.8 34 | # command to install dependencies 35 | conda activate test-environment 36 | conda install cython numpy pytest 37 | 38 | # Check pip 39 | echo pip_path 40 | which pip 41 | 42 | pip install . 43 | # command to run tests 44 | pytest -v 45 | -------------------------------------------------------------------------------- /packages/CellRank/meta.yaml: -------------------------------------------------------------------------------- 1 | name: CellRank 2 | description: | 3 | CellRank is a toolkit to uncover cellular dynamics based on Markov state modeling of single-cell data. 4 | It contains two main modules - kernels compute cell-cell transition probabilities and estimators generate 5 | hypothesis based on these. 6 | project_home: https://github.com/theislab/cellrank 7 | documentation_home: https://cellrank.readthedocs.io/en/stable/ 8 | tutorials_home: https://cellrank.readthedocs.io/en/stable/ 9 | publications: 10 | - 10.1038/s41592-021-01346-6 11 | install: 12 | pypi: cellrank 13 | tags: 14 | - ML 15 | - cell-fate 16 | - rna-velocity 17 | - trajectory-generation 18 | license: BSD-3-Clause 19 | version: v1.5.1 20 | authors: 21 | - Marius1311 22 | - michalk8 23 | - WeilerP 24 | test_command: | 25 | pip install ".[test]" && pytest 26 | -------------------------------------------------------------------------------- /packages/Cell_BLAST/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Cell_BLAST 2 | description: | 3 | Cell BLAST is a cell querying tool for single-cell transcriptomics data. 4 | project_home: https://github.com/gao-lab/Cell_BLAST 5 | documentation_home: https://cblast.gao-lab.org/doc/index.html 6 | publications: 7 | - 10.1038/s41467-020-17281-7 8 | install: 9 | pypi: Cell-BLAST 10 | tags: 11 | - BLAST 12 | license: MIT 13 | version: v0.3.8 14 | authors: 15 | - Jeff1995 16 | test_command: | 17 | pip install --upgrade pip flit 18 | flit install -s 19 | cd test && python test.py 20 | -------------------------------------------------------------------------------- /packages/CellphoneDB/meta.yaml: -------------------------------------------------------------------------------- 1 | name: CellphoneDB 2 | description: | 3 | CellphoneDB is a publicly available repository of HUMAN curated receptors, ligands and their interactions paired with a tool to interrogate your own single-cell transcriptomics data (or even bulk transcriptomics data if your samples represent pure populations!). A distinctive feature of CellphoneDB is that the subunit architecture of either ligands and receptors is taken into account, representing heteromeric complexes accurately. This is crucial, as cell communication relies on multi-subunit protein complexes that go beyond the binary representation used in most databases and studies. CellphoneDB also incorporates biosynthetic pathways in which we use the last representative enzyme as a proxy of ligand abundance, by doing so, we include interactions involving non-peptidic molecules. CellphoneDB includes only manually curated and reviewed molecular interactions with evidenced role in cellular communication. 4 | project_home: https://github.com/ventolab/CellphoneDB 5 | documentation_home: https://cellphonedb.readthedocs.io/en/latest/ 6 | tutorials_home: https://github.com/ventolab/CellphoneDB/tree/master/notebooks 7 | publications: 8 | - 10.1038/s41586-018-0698-6 9 | - 10.1038/s41596-020-0292-x 10 | - 10.1038/s41588-021-00972-2 11 | - 10.1038/s41586-022-04918-4 12 | install: 13 | pypi: cellphonedb 14 | tags: 15 | - scRNA-seq 16 | - cell-cell communication 17 | - ligand-receptor 18 | - single-cell 19 | - python 20 | - jupyter 21 | license: MIT 22 | version: v5.0.0 23 | authors: 24 | - chapuzzo 25 | - datasome 26 | - ktroule 27 | - luzgaral 28 | - mvento 29 | - prete 30 | - rvento 31 | - zktuong 32 | test_command: | 33 | git clone git@github.com:ventolab/CellphoneDB.git && pip install cellphonedb && pip install pytest && cd CellphoneDB/cellphonedb/src/tests/ && python3 -m pytest method_tests.py 34 | -------------------------------------------------------------------------------- /packages/Cirrocumulus/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Cirrocumulus 2 | description: | 3 | Cirrocumulus is an interactive visualization tool for large-scale single-cell genomics data. 4 | project_home: https://github.com/lilab-bcb/cirrocumulus 5 | documentation_home: https://cirrocumulus.readthedocs.io/en/latest/ 6 | tutorials_home: https://cirrocumulus.readthedocs.io/en/latest/ 7 | publications: 8 | - 10.1038/s41592-020-0905-x 9 | install: 10 | pypi: cirrocumulus 11 | tags: 12 | - visualization 13 | license: BSD-3-Clause 14 | version: v1.1.41 15 | authors: 16 | - joshua-gould 17 | - yihming 18 | - gouwens 19 | test_command: | 20 | SETUPTOOLS_SCM_PRETEND_VERSION=0.0.1 pip install .[test,parquet] && pytest 21 | -------------------------------------------------------------------------------- /packages/DoubletDetection/meta.yaml: -------------------------------------------------------------------------------- 1 | name: DoubletDetection 2 | description: | 3 | DoubletDetection is a Python3 package to detect doublets (technical errors) in single-cell 4 | RNA-seq count matrices. 5 | project_home: https://github.com/JonathanShor/DoubletDetection 6 | documentation_home: https://doubletdetection.readthedocs.io/en/stable/ 7 | tutorials_home: https://doubletdetection.readthedocs.io/en/stable/ 8 | publications: 9 | - 10.1016/j.cels.2019.03.003 10 | install: 11 | pypi: doubletdetection 12 | tags: 13 | - doublet 14 | license: MIT 15 | version: v4.2 16 | authors: 17 | - adamgayoso 18 | - JonathanShor 19 | - ambrosejcarr 20 | test_command: pip install ".[test]" && pytest 21 | -------------------------------------------------------------------------------- /packages/GPTBioInsightor/meta.yaml: -------------------------------------------------------------------------------- 1 | name: GPTBioInsightor 2 | description: | 3 | GPTBioInsightor is a tool designed for single-cell data analysis, particularly beneficial for newcomers to a biological field or those in interdisciplinary areas who may lack sufficient biological background knowledge. 4 | GPTBioInsightor utilizes the powerful capabilities of large language models to help people quickly gain knowledge and insight, enhancing their work efficiency. 5 | project_home: https://github.com/huang-sh/GPTBioInsightor 6 | documentation_home: https://gptbioinsightor.readthedocs.io/ 7 | install: 8 | pypi: gptbioinsightor 9 | tags: 10 | - single-cell 11 | - bioinformatics 12 | - LLM 13 | - AI 14 | license: BSD-3-Clause 15 | version: v0.3.0 16 | authors: 17 | - huangsh 18 | test_command: pip install "." && pytest 19 | -------------------------------------------------------------------------------- /packages/GRnnData/meta.yaml: -------------------------------------------------------------------------------- 1 | name: GRnnData 2 | description: | 3 | An onverload of anndata to more easily work with gene networks. 4 | Allows easy conversion between anndata and grnndata and provide loads of usefull utilities functions. 5 | project_home: https://github.com/cantinilab/GRnnData 6 | documentation_home: https://cantinilab.github.io/GRnnData/ 7 | publications: 8 | - 10.1101/2024.07.29.605556 9 | install: 10 | pypi: grnndata 11 | tags: 12 | - single cell 13 | - RNAseq 14 | - gene networks 15 | - format 16 | - utilities 17 | license: MIT 18 | version: v1.1.4 19 | authors: 20 | - jkobject (jeremie kalfon) 21 | test_command: pip install . && make test 22 | -------------------------------------------------------------------------------- /packages/LazySlide/meta.yaml: -------------------------------------------------------------------------------- 1 | name: LazySlide 2 | description: | 3 | LazySlide is a Python library for processing whole slide images (WSI) analysis. It provides a simple interface to perform robust preprocessing and advanced analysis for WSI. 4 | project_home: https://github.com/rendeirolab/lazyslide 5 | documentation_home: https://lazyslide.readthedocs.io/en/latest/ 6 | install: 7 | pypi: lazyslide 8 | tags: 9 | - Pathology 10 | - Whole Slide Imaging 11 | - PyTorch 12 | license: MIT 13 | version: v0.3.0 14 | authors: 15 | - Mr-Milk 16 | - eabila 17 | - afrendeiro 18 | test_command: uv run task test 19 | -------------------------------------------------------------------------------- /packages/Mowgli/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Mowgli 2 | description: | 3 | Paired single-cell multi-omics data integration with Optimal Transport-flavored Nonnegative Matrix Factorization 4 | project_home: https://github.com/cantinilab/mowgli 5 | documentation_home: https://mowgli.readthedocs.io 6 | publications: 7 | - 10.1101/2023.02.02.526825 8 | install: 9 | pypi: mowgli 10 | tags: 11 | - single cell 12 | - optimal transport 13 | - multi omics 14 | - data integration 15 | - NMF 16 | license: GPL-3.0-only 17 | version: v0.2.0 18 | authors: 19 | - gjhuizing 20 | test_command: pip install . && pytest 21 | -------------------------------------------------------------------------------- /packages/Multivelo/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Multivelo 2 | description: | 3 | A mechanistic model of gene expression that extends the popular RNA velocity 4 | framework by incorporating epigenomic data. 5 | project_home: https://github.com/welch-lab/MultiVelo 6 | documentation_home: https://multivelo.readthedocs.io/en/latest/api.html 7 | tutorials_home: https://multivelo.readthedocs.io/en/latest/MultiVelo_Demo.html 8 | publications: 9 | - 10.1038/s41587-022-01476-y 10 | install: 11 | pypi: multivelo 12 | tags: 13 | - rna velocity 14 | license: BSD-3-Clause 15 | version: 0.1.3 16 | authors: 17 | - jw156605 18 | - danielee0707 19 | - jacobrepucci 20 | -------------------------------------------------------------------------------- /packages/PEAKQC/meta.yaml: -------------------------------------------------------------------------------- 1 | name: PEAKQC 2 | description: periodicity evaluation in scATAC-seq data for quality assessment 3 | project_home: https://github.com/loosolab/PEAKQC 4 | documentation_home: https://loosolab.pages.gwdg.de/software/peakqc/ 5 | publications: 6 | - 10.1101/2025.02.20.639146 7 | install: 8 | pypi: peakqc 9 | tags: 10 | - single cell 11 | - ATAC-seq 12 | - quality control 13 | license: MIT 14 | version: 0.1.3 15 | authors: 16 | - loosolab 17 | test_command: pip install . && pytest 18 | -------------------------------------------------------------------------------- /packages/PILOT/meta.yaml: -------------------------------------------------------------------------------- 1 | name: PILOT 2 | description: | 3 | PILOT is a Python library for Detection of PatIent-Level distances from single cell genomics and pathomics data with Optimal Transport. 4 | project_home: https://github.com/CostaLab/PILOT 5 | documentation_home: https://pilot.readthedocs.io/en/latest/api.html 6 | tutorials_home: https://pilot.readthedocs.io/en/latest/ 7 | publications: 8 | - 10.1038/s44320-023-00003-8 9 | install: 10 | conda_instructions: | 11 | # Create a new conda environment with the required Python version and R base 12 | conda create --name PILOT python=3.11.5 r-base 13 | # Activate the new environment 14 | conda activate PILOT 15 | # Install the PILOT package from PyPI 16 | pip install pilotpy 17 | pypi: pilotpy 18 | tags: 19 | - multi-omics 20 | - single-cell 21 | - trajectory 22 | - pathomics-data 23 | - ot 24 | - patient-level 25 | license: MIT 26 | version: v2.0.6 27 | authors: 28 | - Mehdi Joodaki 29 | - Mina Shaigan 30 | - Victor Parra 31 | - Roman D. Bülow 32 | - Christoph Kuppe 33 | - David L. Hölscher 34 | - Mingbo Cheng 35 | - James S. Nagai 36 | - Michaël Goedertier 37 | - Nassim Bouteldja 38 | - Vladimir Tesar 39 | - Jonathan Barratt 40 | - Ian S.D. Roberts 41 | - Rosanna Coppo 42 | - Rafael Kramann 43 | - Peter Boor 44 | - Ivan G. Costa 45 | test_command: | 46 | conda create --name PILOT python=3.11.5 r-base 47 | conda activate PILOT 48 | pip install pilotpy 49 | conda install pytest 50 | cd test && pytest test_pilot.py 51 | -------------------------------------------------------------------------------- /packages/PathML/meta.yaml: -------------------------------------------------------------------------------- 1 | name: PathML 2 | description: | 3 | An open-source toolkit for computational pathology and machine learning. 4 | project_home: https://pathml.org/ 5 | documentation_home: https://pathml.readthedocs.io/en/latest/ 6 | tutorials_home: https://pathml.readthedocs.io/en/latest/ 7 | publications: 8 | - 10.1158/1541-7786.MCR-21-0665 9 | install: 10 | pypi: pathml 11 | tags: 12 | - pathology 13 | license: GPL-2.0-only 14 | version: v2.1.0 15 | authors: 16 | - jacob-rosenthal 17 | - ryanccarelli 18 | - BeeGass 19 | - MohamedOmar2020 20 | - Dana-Farber 21 | - Karenxzr 22 | - ella-dfci 23 | - surya-narayanan 24 | - dmbrundage 25 | - Yu-AnChen 26 | - jzhang1031 27 | test_command: pip install "." && pytest 28 | -------------------------------------------------------------------------------- /packages/PyDESeq2/meta.yaml: -------------------------------------------------------------------------------- 1 | name: PyDESeq2 2 | description: | 3 | PyDESeq2 is a python package for bulk RNA-seq differential expression analysis. It is a re-implementation 4 | from scratch of the main features of the R package DESeq2 (Love et al. 2014). 5 | project_home: https://github.com/owkin/PyDESeq2 6 | documentation_home: https://pydeseq2.readthedocs.io 7 | tutorials_home: https://pydeseq2.readthedocs.io/en/latest/auto_examples/index.html 8 | install: 9 | pypi: pydeseq2 10 | license: MIT 11 | tags: 12 | - rna-seq 13 | - differential-expression 14 | publications: 15 | - 10.1101/2022.12.14.520412 16 | version: v0.3.0 17 | authors: 18 | - BorisMuzellec 19 | - maikia 20 | - vcabeli 21 | - mandreux-owkin 22 | test_command: | 23 | pip install ."[dev]" && pytest 24 | -------------------------------------------------------------------------------- /packages/Rectangle/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Rectangle 2 | description: | 3 | Rectangle is a python package for computational deconvolution. 4 | Rectangle presents a novel approach to second-generation deconvolution, characterized by hierarchical processing, an estimation of unknown cellular content and a significant reduction in data volume during signature matrix computation. 5 | project_home: https://github.com/ComputationalBiomedicineGroup/Rectangle 6 | documentation_home: https://rectanglepy.readthedocs.io 7 | tutorials_home: https://rectanglepy.readthedocs.io/notebooks/example.html 8 | install: 9 | pypi: rectanglepy 10 | license: MIT 11 | tags: 12 | - rna-seq 13 | - deconvolution 14 | version: v0.1.6 15 | authors: 16 | - bernheder 17 | test_command: | 18 | pip install ."[dev,test]" && pytest 19 | -------------------------------------------------------------------------------- /packages/SC2Spa/meta.yaml: -------------------------------------------------------------------------------- 1 | name: SC2Spa 2 | description: | 3 | SC2Spa is a deep learning-based tool for predicting the spatial coordinates of single cells based on transcriptome. 4 | Two paired single cell and spatial transcriptomic datasets are required to run SC2Spa. SC2Spa is trained on a ST reference 5 | dataset to learn the relationship of gene expression and spatial coordinates. The trained fully-connected neural network 6 | can be used to predict the locations of a single cell with only the transcriptomic profile as input. The predicted locations 7 | of single cells can be further used to study the communication of the single cells. 8 | project_home: https://github.com/linbuliao/SC2Spa 9 | documentation_home: https://sc2spa.readthedocs.io/ 10 | install: 11 | pypi: SC2Spa 12 | tags: 13 | - spatial inference 14 | - scRNA-seq 15 | - spatial transcriptomics 16 | - deep learning 17 | - cell communication 18 | license: BSD-3-Clause 19 | version: v1.2 20 | authors: 21 | - Linbu Liao 22 | - Kyoung Jae Won 23 | test_command: pip install "." && pytest 24 | -------------------------------------------------------------------------------- /packages/SCALEX/meta.yaml: -------------------------------------------------------------------------------- 1 | name: SCALEX 2 | description: | 3 | SCALEX is an integration and projection tool for atlas-level single-cell RNA-seq and ATAC-seq data. 4 | project_home: https://github.com/jsxlei/SCALEX 5 | documentation_home: https://scalex.readthedocs.io/en/latest/?badge=stable 6 | publications: 7 | - 10.1038/s41467-022-33758-z 8 | install: 9 | pypi: SCALEX 10 | tags: 11 | - scRNA-seq 12 | - integration 13 | - projection 14 | - scATAC-seq 15 | license: MIT 16 | version: v1.0.3 17 | authors: 18 | - Lei Xiong 19 | test_command: pip install ".[test]" && pytest 20 | -------------------------------------------------------------------------------- /packages/SnapATAC2 /meta.yaml: -------------------------------------------------------------------------------- 1 | name: SnapATAC2 2 | description: | 3 | SnapATAC2 is the successor of the SnapATAC R package, featuring: 4 | - Faster and less memory usage, scale to >1M cells. 5 | - Improved dimension reduction and sampling algorithm. 6 | project_home: https://github.com/kaizhang/SnapATAC2 7 | documentation_home: https://kzhang.org/SnapATAC2/ 8 | tutorials_home: https://kzhang.org/SnapATAC2/ 9 | publications: 10 | - 10.1038/s41467-021-21583-9 11 | - 10.1016/j.cell.2021.10.024 12 | install: 13 | pypi: snapatac2 14 | tags: 15 | - SnapATAC 16 | license: MIT 17 | version: v2.1.2 18 | authors: 19 | - kaizhang 20 | - yingyuan830 21 | test_command: null 22 | -------------------------------------------------------------------------------- /packages/anndata-for-R/meta.yaml: -------------------------------------------------------------------------------- 1 | name: anndata for R 2 | description: | 3 | A 'reticulate' wrapper for the Python package 'anndata'. Provides a scalable way of keeping track of data and learned annotations. Used to read from and write to the h5ad file format. 4 | project_home: https://github.com/dynverse/anndata 5 | documentation_home: https://anndata.dynverse.org 6 | install: 7 | cran: anndata 8 | tags: 9 | - R package 10 | license: MIT 11 | version: 0.7.5.5 12 | authors: 13 | - rcannood 14 | -------------------------------------------------------------------------------- /packages/annsel/meta.yaml: -------------------------------------------------------------------------------- 1 | name: annsel 2 | description: | 3 | Annsel is a user-friendly library that brings familiar dataframe-style operations to AnnData objects such as 4 | selection, filtering and group by's. 5 | project_home: https://github.com/srivarra/annsel 6 | documentation_home: https://annsel.readthedocs.io/en/latest/ 7 | tutorials_home: https://annsel.readthedocs.io/en/latest/notebooks/all_of_annsel.html 8 | install: 9 | pypi: annsel 10 | license: MIT 11 | version: v0.0.8 12 | authors: 13 | - srivarra 14 | tags: 15 | - narwhals 16 | - dataframe 17 | - accessor 18 | - utilities 19 | test_command: | 20 | pip install ".[test]" && pytest 21 | -------------------------------------------------------------------------------- /packages/benGRN/meta.yaml: -------------------------------------------------------------------------------- 1 | name: benGRN 2 | description: | 3 | Benchmarking tool for gene network inference from single cell RNAseq methods. 4 | It uses the grnndata/anndata modality and only contains biological ground truth networks 5 | project_home: https://github.com/jkobject/benGRN 6 | documentation_home: https://www.jkobject.com/benGRN 7 | publications: 8 | - 10.1101/2024.07.29.605556 9 | install: 10 | pypi: bengrn 11 | tags: 12 | - single cell 13 | - RNAseq 14 | - gene network inference 15 | - benchmark 16 | license: MIT 17 | version: v1.2.1 18 | authors: 19 | - jkobject (jeremie kalfon) 20 | test_command: pip install . && make test 21 | -------------------------------------------------------------------------------- /packages/bento-tools/meta.yaml: -------------------------------------------------------------------------------- 1 | name: bento-tools 2 | description: | 3 | A Python toolkit for subcellular analysis of spatial transcriptomics data 4 | project_home: https://github.com/ckmah/bento-tools 5 | documentation_home: https://bento-tools.readthedocs.io/en/latest/ 6 | tutorials_home: https://bento-tools.readthedocs.io/en/latest/tutorials.html 7 | publications: 8 | - 10.1101/2022.06.10.495510 9 | install: 10 | pypi: bento-tools 11 | tags: 12 | - spatial analysis 13 | license: BSD-2-Clause 14 | version: v1.0.1 15 | authors: 16 | - ckmah 17 | - noor01 18 | test_command: pip install "." && pytest 19 | -------------------------------------------------------------------------------- /packages/biolord/meta.yaml: -------------------------------------------------------------------------------- 1 | name: biolord 2 | description: | 3 | biolord (biological representation disentanglement) is a deep generative framework for disentangling known and unknown attributes in single-cell data. 4 | project_home: https://github.com/nitzanlab/biolord 5 | documentation_home: https://biolord.readthedocs.io 6 | tutorials_home: https://biolord.readthedocs.io 7 | install: 8 | pypi: biolord 9 | tags: 10 | - single-cell 11 | - disentanglement 12 | - generative framework 13 | license: BSD-3-Clause 14 | version: v0.0.1 15 | authors: 16 | - zoepiran 17 | test_command: | 18 | pip install ".[dev,test]" && pytest 19 | -------------------------------------------------------------------------------- /packages/cell2location/meta.yaml: -------------------------------------------------------------------------------- 1 | name: cell2location 2 | description: | 3 | Cell2location is a Bayesian model that can resolve fine-grained cell types in spatial transcriptomic data 4 | and create comprehensive cellular maps of diverse tissues. Cell2location accounts for technical sources 5 | of variation and borrows statistical strength across locations, thereby enabling the integration of single-cell 6 | and spatial transcriptomics with higher sensitivity and resolution than existing tools. 7 | project_home: https://github.com/BayraktarLab/cell2location 8 | documentation_home: https://cell2location.readthedocs.io/en/latest/ 9 | tutorials_home: https://cell2location.readthedocs.io/en/latest/ 10 | publications: 11 | - 10.1038/s41587-021-01139-4 12 | install: 13 | pypi: cell2location 14 | tags: 15 | - Bayesian 16 | license: Apache-2.0 17 | version: v0.1 18 | authors: 19 | - vitkl 20 | - yozhikoff 21 | - mayerdev 22 | - emdann 23 | - Alexander Aivazidis 24 | test_command: | 25 | pip install ".[dev]" && pytest 26 | -------------------------------------------------------------------------------- /packages/cellxgene/meta.yaml: -------------------------------------------------------------------------------- 1 | name: cellxgene 2 | description: | 3 | CZ CELLxGENE Annotate (pronounced "cell-by-gene") is an interactive data explorer for single-cell datasets, 4 | such as those coming from the Human Cell Atlas. 5 | project_home: https://github.com/chanzuckerberg/cellxgene 6 | documentation_home: https://docs.cellxgene.cziscience.com/ 7 | publications: 8 | - 10.1101/2021.04.05.438318 9 | install: 10 | pypi: cellxgene 11 | tags: 12 | - HCA 13 | license: MIT 14 | version: 1.1.1 15 | authors: 16 | - csweaver 17 | - bkmartinjr 18 | - seve 19 | - maniarathi 20 | - atolopko-czi 21 | - mckinsel 22 | - MDunitz 23 | - colinmegill 24 | - blrnw3 25 | - freeman-lab 26 | - bmccandless 27 | - mweiden 28 | test_command: | 29 | pip install ".[test]" && pytest 30 | -------------------------------------------------------------------------------- /packages/dandelion/meta.yaml: -------------------------------------------------------------------------------- 1 | name: dandelion 2 | description: | 3 | dandelion - A single cell BCR/TCR V(D)J-seq analysis package for 10X Chromium 5' data. 4 | It streamlines the pre-processing, leveraging some tools from immcantation suite, and 5 | integrates with scanpy/anndata for single-cell BCR/TCR analysis. It also includes a 6 | couple of functions for visualization. 7 | project_home: https://github.com/zktuong/dandelion 8 | documentation_home: https://sc-dandelion.readthedocs.io/en/latest/ 9 | tutorials_home: https://sc-dandelion.readthedocs.io/en/latest/ 10 | publications: 11 | - 10.1038/s41591-021-01329-2 12 | - 10.1101/2022.11.18.517068 13 | install: 14 | pypi: sc-dandelion 15 | tags: 16 | - dandelion 17 | - bcr 18 | - tcr 19 | license: AGPL-3.0-or-later 20 | version: v0.3.0 21 | authors: 22 | - zktuong 23 | - ktpolanski 24 | - suochenqu 25 | - grst 26 | test_command: | 27 | pip install "." && pytest 28 | -------------------------------------------------------------------------------- /packages/decoupler/meta.yaml: -------------------------------------------------------------------------------- 1 | name: decoupler 2 | description: | 3 | Python package to infer biological activities from omics data using a collection of methods. 4 | project_home: https://github.com/saezlab/decoupler-py 5 | documentation_home: https://decoupler-py.readthedocs.io/en/latest/ 6 | tutorials_home: https://decoupler-py.readthedocs.io/en/latest/ 7 | install: 8 | pypi: decoupler 9 | tags: 10 | - TF 11 | - GSEA 12 | - Pathway 13 | license: GPL-3.0-only 14 | version: v1.2.0 15 | authors: 16 | - PauBadiaM 17 | test_command: | 18 | pip install wheel && \ 19 | pip install pytest-cov flake8 sklearn skranger omnipath scanpy adjustText . && \ 20 | pytest --cov --disable-warnings decoupler 21 | -------------------------------------------------------------------------------- /packages/dynamo-release/meta.yaml: -------------------------------------------------------------------------------- 1 | name: dynamo-release 2 | description: | 3 | Inclusive model of expression dynamics with metabolic labeling based scRNA-seq / multiomics, 4 | vector field reconstruction, potential landscape mapping, differential geometry analyses, 5 | and most probably paths / in silico perturbation predictions. 6 | project_home: https://github.com/aristoteleo/dynamo-release 7 | documentation_home: https://dynamo-release.readthedocs.io/en/latest/ 8 | tutorials_home: https://dynamo-release.readthedocs.io/en/latest/ 9 | publications: 10 | - 10.1016/j.cell.2021.12.045 11 | install: 12 | pypi: dynamo-release 13 | tags: 14 | - vector 15 | license: BSD-3-Clause 16 | version: v1.1.0 17 | authors: 18 | - Xiaojieqiu 19 | - dummyindex 20 | - yaz62 21 | test_command: pip install ".[test]" && pytest 22 | -------------------------------------------------------------------------------- /packages/epiScanpy/meta.yaml: -------------------------------------------------------------------------------- 1 | name: epiScanpy 2 | description: | 3 | EpiScanpy is a toolkit to analyse single-cell open chromatin (scATAC-seq) and single-cell 4 | DNA methylation (for example scBS-seq) data. 5 | project_home: https://github.com/colomemaria/epiScanpy 6 | documentation_home: https://episcanpy.readthedocs.io/en/latest/ 7 | tutorials_home: https://episcanpy.readthedocs.io/en/latest/ 8 | publications: 9 | - 10.1038/s41467-021-25131-3 10 | install: 11 | pypi: episcanpy 12 | tags: 13 | - scanpy 14 | - epigenomics 15 | license: BSD-3-Clause 16 | version: v0.3.2 17 | authors: 18 | - DaneseAnna 19 | - mrichter23 20 | - kridsadakorn 21 | - rLannes 22 | - le-ander 23 | - HAL9032 24 | - michalk8 25 | - mvinyard 26 | test_command: pip install ".[test]" && pytest 27 | -------------------------------------------------------------------------------- /packages/eschr/meta.yaml: -------------------------------------------------------------------------------- 1 | name: eschr 2 | description: | 3 | ESCHR is an ensemble clustering method that provides hard clustering along with 4 | uncertainty scores and soft clustering outputs for enhanced interpretability. 5 | project_home: https://github.com/zunderlab/eschr 6 | documentation_home: https://eschr.readthedocs.io/en/latest/ 7 | tutorials_home: https://eschr.readthedocs.io/en/latest/notebooks/paul15_mouse_hematopoiesis.html 8 | publications: 9 | - 10.1186/s13059-024-03386-5 10 | install: 11 | pypi: eschr 12 | tags: 13 | - clustering 14 | - uncertainty 15 | - ensemble 16 | license: "MIT" 17 | version: v1.0.1 18 | authors: 19 | - smgoggin10 20 | test_command: pip install ".[test]" && pytest 21 | -------------------------------------------------------------------------------- /packages/favapy/meta.yaml: -------------------------------------------------------------------------------- 1 | name: fava 2 | description: | 3 | FAVA uses Variational Autoencoders to infer functional associations from 4 | large-scale scRNA-seq (and proteomics) data. 5 | project_home: https://github.com/mikelkou/fava 6 | documentation_home: https://github.com/mikelkou/fava/blob/main/README.md 7 | tutorials_home: https://github.com/mikelkou/fava/blob/main/How_to_use_favapy_in_a_notebook.ipynb 8 | publications: 9 | - 10.1101/2022.07.06.499022 10 | - 10.1093/nar/gkac1000 11 | install: 12 | pypi: favapy 13 | tags: 14 | - coexpression networks 15 | - functional associations 16 | - variational autoencoders 17 | license: MIT 18 | version: v0.3.9.4 19 | authors: 20 | - mikelkou 21 | -------------------------------------------------------------------------------- /packages/flowsom/meta.yaml: -------------------------------------------------------------------------------- 1 | name: flowsom 2 | description: | 3 | The complete FlowSOM package known from R, now available in Python! 4 | Analyze high-dimensional cytometry data using FlowSOM, 5 | a clustering and visualization algorithm based on a self-organizing map (SOM). 6 | FlowSOM is used to distinguish cell populations from cytometry data in an unsupervised way and 7 | can help to gain deeper insights in fields such as immunology and oncology. 8 | project_home: https://github.com/saeyslab/FlowSOM_Python 9 | documentation_home: https://flowsom.readthedocs.io/en/latest/ 10 | tutorials_home: https://flowsom.readthedocs.io/en/latest/notebooks/example.html 11 | publications: 12 | - 10.1093/bioinformatics/btae179 13 | - 10.1002/cyto.a.22625 14 | - 10.1038/s41596-021-00550-0 15 | install: 16 | conda: conda-forge::flowsom 17 | tags: 18 | - clustering 19 | - flowcytometry 20 | license: GPL-3.0-only 21 | version: v0.0.1 22 | authors: 23 | - artuurC 24 | - berombau 25 | - ysaeys 26 | - SofieVG 27 | test_command: pip install "." && pytest 28 | -------------------------------------------------------------------------------- /packages/gssnng/meta.yaml: -------------------------------------------------------------------------------- 1 | name: gssnng 2 | description: | 3 | Single-cell gene set scoring with nearest neighbor graph smoothed data. 4 | project_home: https://github.com/IlyaLab/gssnng 5 | documentation_home: https://gssnng.readthedocs.io/en/latest/ 6 | tutorials_home: https://github.com/IlyaLab/gssnng/tree/main/notebooks 7 | publications: 8 | - 10.1093/bioadv/vbad150 9 | install: 10 | pypi: gssnng 11 | tags: 12 | - scRNA-seq 13 | - GSEA 14 | - geneset-scoring 15 | - smoothing 16 | - python 17 | license: MIT 18 | version: v0.4.2 19 | authors: 20 | - gibbsdavidl 21 | - redst4r 22 | test_command: | 23 | git clone git@github.com:IlyaLab/gssnng.git && pip install gssnng && pip install pytest && cd gssnng/ && pytest 24 | -------------------------------------------------------------------------------- /packages/hotspot/meta.yaml: -------------------------------------------------------------------------------- 1 | name: hotspot 2 | description: | 3 | Hotspot is a tool for identifying informative genes (and gene modules) in a single-cell dataset. 4 | project_home: https://github.com/yoseflab/hotspot 5 | documentation_home: https://hotspot.readthedocs.io/en/latest/ 6 | tutorials_home: https://hotspot.readthedocs.io/en/latest/ 7 | publications: 8 | - 10.1016/j.cels.2021.04.005 9 | install: 10 | pypi: hotspotsc 11 | tags: 12 | - gene-signatures 13 | license: BSD-3-Clause 14 | version: v1.1.1 15 | authors: 16 | - deto 17 | - adamgayoso 18 | test_command: | 19 | pip install ".[test]" && pytest 20 | -------------------------------------------------------------------------------- /packages/infercnvpy/meta.yaml: -------------------------------------------------------------------------------- 1 | name: infercnvpy 2 | description: | 3 | Infer copy number variation (CNV) from scRNA-seq data. Plays nicely with Scanpy. 4 | project_home: https://github.com/icbi-lab/infercnvpy 5 | documentation_home: https://icbi-lab.github.io/infercnvpy 6 | install: 7 | pypi: infercnvpy 8 | tags: 9 | - CNV 10 | license: BSD-3-Clause 11 | version: v0.3.0 12 | authors: 13 | - grst 14 | test_command: | 15 | pip install ".[test]" && pytest 16 | -------------------------------------------------------------------------------- /packages/liana/meta.yaml: -------------------------------------------------------------------------------- 1 | name: liana 2 | description: | 3 | Python package to infer cell-cell communication events from omics data using a collection of methods. 4 | project_home: https://github.com/saezlab/liana-py 5 | documentation_home: https://liana-py.readthedocs.io/en/latest/ 6 | tutorials_home: https://liana-py.readthedocs.io/en/latest/ 7 | install: 8 | pypi: liana 9 | tags: 10 | - single-cell 11 | - spatial 12 | - ligand-receptor 13 | - cell-cell communication 14 | license: GPL-3.0-only 15 | version: v1.0.0a1 16 | authors: 17 | - dbdimitrov 18 | test_command: | 19 | pip install poetry && \ 20 | poetry install --extras "full" && \ 21 | poetry run pytest --disable-warnings . 22 | -------------------------------------------------------------------------------- /packages/maxspin/meta.yaml: -------------------------------------------------------------------------------- 1 | name: maxspin 2 | description: | 3 | An information theoretic approach to detecting spatially varying genes 4 | publications: 5 | - 10.1016/j.crmeth.2023.100507 6 | project_home: https://github.com/dcjones/maxspin 7 | documentation_home: https://maxspin.readthedocs.io/en/latest/ 8 | tutorials_home: https://github.com/dcjones/maxspin/blob/main/tutorial.ipynb 9 | install: 10 | pypi: maxspin 11 | tags: 12 | - spatially varying genes 13 | - spatial autocorrelation 14 | license: MIT 15 | version: v0.1.1 16 | authors: 17 | - dcjones 18 | test_command: pip install "." && pytest 19 | -------------------------------------------------------------------------------- /packages/moscot/meta.yaml: -------------------------------------------------------------------------------- 1 | name: moscot 2 | description: | 3 | moscot is a scalable toolbox for multiomics single-cell optimal transport applications. 4 | project_home: https://github.com/theislab/moscot 5 | documentation_home: https://moscot.readthedocs.io/en/stable/index.html 6 | publications: 7 | - 10.1101/2023.05.11.540374 8 | install: 9 | pypi: moscot 10 | tags: 11 | - optimal transport 12 | - trajectory inference 13 | - multi omics 14 | - spatial 15 | license: BSD-3-Clause 16 | version: v0.4.0 17 | authors: 18 | - MUCDK 19 | - giovp 20 | - michalk8 21 | - Marius1311 22 | - zoepiran 23 | test_command: pip install -e '.[dev]' && pytest 24 | -------------------------------------------------------------------------------- /packages/novae/meta.yaml: -------------------------------------------------------------------------------- 1 | name: novae 2 | description: | 3 | Graph-based foundation model for spatial transcriptomics data. 4 | Zero-shot spatial domain inference, batch-effect correction, and many other features. 5 | project_home: https://github.com/MICS-Lab/novae 6 | documentation_home: https://mics-lab.github.io/novae/ 7 | publications: 8 | - 10.1101/2024.09.09.612009 9 | install: 10 | pypi: novae 11 | tags: 12 | - spatial-omics 13 | - spatial-transcriptomics 14 | - spatialdata 15 | - deep learning 16 | license: BSD-3-Clause 17 | version: v0.2.1 18 | authors: 19 | - quentinblampey 20 | test_command: pip install ".[dev]" && pytest 21 | -------------------------------------------------------------------------------- /packages/omicverse/meta.yaml: -------------------------------------------------------------------------------- 1 | name: omicverse 2 | description: | 3 | OmicVerse is the fundamental package for multi omics included bulk and single cell analysis with Python. 4 | The original name of the omicverse was Pyomic, but we wanted to address a whole universe of transcriptomics, 5 | so we changed the name to OmicVerse, it aimed to solve all task in RNA-seq. 6 | project_home: https://github.com/Starlitnightly/omicverse 7 | documentation_home: https://omicverse.readthedocs.io/ 8 | publications: 9 | - 10.1101/2023.06.06.543913 10 | install: 11 | pypi: omicverse 12 | tags: 13 | - single-cell 14 | - bulk-rna-seq 15 | - omics 16 | - bioinformatics 17 | license: GPL-3.0-only 18 | version: v1.4.12 19 | authors: 20 | - Starlitnightly 21 | - DBinary 22 | - JuliaMYQ 23 | test_command: pip install "." && pytest 24 | -------------------------------------------------------------------------------- /packages/palantir/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Palantir 2 | description: | 3 | Palantir is an algorithm to align cells along differentiation trajectories. 4 | Palantir models differentiation as a stochastic process where stem cells 5 | differentiate to terminally differentiated cells by a series of steps through 6 | a low dimensional phenotypic manifold. Palantir effectively captures the 7 | continuity in cell states and the stochasticity in cell fate determination. 8 | Palantir has been designed to work with multidimensional single cell data from 9 | diverse technologies such as Mass cytometry and single cell RNA-seq. 10 | project_home: https://github.com/dpeerlab/Palantir 11 | documentation_home: https://palantir.readthedocs.io 12 | publications: 13 | - 10.1038/s41587-019-0068-4 14 | install: 15 | pypi: palantir 16 | tags: 17 | - markov-chain 18 | - dimensionality-reduction 19 | - scrna-seq 20 | - trajectory-generation 21 | - diffusion-maps 22 | - differentiation 23 | - manifold-learning 24 | - single-cell-genomics 25 | - cell-fate-transitions 26 | - scrna-seq-analysis 27 | license: GPL-2.0-or-later 28 | version: v1.3.3 29 | authors: 30 | - ManuSetty 31 | - dpeerlab 32 | - katosh 33 | test_command: pip install -e '.' && pip install flake8 pytest coverage typing-extensions && pytest 34 | -------------------------------------------------------------------------------- /packages/panpipes/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Panpipes 2 | description: | 3 | A pipeline for multiomic single-cell and spatial transcriptomic data analysis 4 | project_home: https://github.com/DendrouLab/panpipes 5 | documentation_home: https://panpipes-pipelines.readthedocs.io/en/latest/index.html 6 | tutorials_home: https://panpipes-pipelines.readthedocs.io/en/latest/tutorials/index.html 7 | publications: 8 | - 10.1101/2023.03.11.532085 9 | install: 10 | pypi: panpipes 11 | tags: 12 | - single-cell 13 | - multiomics 14 | - pipeline 15 | - spatial 16 | - bioinformatics 17 | license: BSD-3-Clause 18 | version: v0.5.0 19 | authors: 20 | - bio-la 21 | - crichgriffin 22 | - SarahOuologuem 23 | - giuliaelgarcia 24 | - kevinrue 25 | - deevdevil88 26 | - Lilly-May 27 | - tomthomas3000 28 | - Zethson 29 | - wlason 30 | test_command: pip install -e '.[dev]' && pytest 31 | -------------------------------------------------------------------------------- /packages/pegasus/meta.yaml: -------------------------------------------------------------------------------- 1 | name: pegasus 2 | description: | 3 | Pegasus is a tool for analyzing transcriptomes of millions of single cells. 4 | project_home: https://github.com/lilab-bcb/pegasus 5 | documentation_home: https://pegasus.readthedocs.io/en/stable/ 6 | tutorials_home: https://pegasus.readthedocs.io/en/stable/tutorials.html 7 | publications: 8 | - 10.1038/s41592-020-0905-x 9 | install: 10 | pypi: pegasuspy 11 | tags: 12 | - transcriptome analysis 13 | license: BSD-3-Clause 14 | version: v1.7.1 15 | authors: 16 | - yihming 17 | - bli25 18 | - YanayRosen 19 | - rocherroche 20 | - jshleap 21 | - tariqdaouda 22 | - hoondy 23 | - joshua-gould 24 | - slowkow 25 | - jlchang 26 | test_command: pip install "." && pytest 27 | -------------------------------------------------------------------------------- /packages/pertpy/meta.yaml: -------------------------------------------------------------------------------- 1 | name: pertpy 2 | description: | 3 | pertpy is a framework for the analysis of multi-condition omics data. 4 | project_home: https://github.com/scverse/pertpy 5 | documentation_home: https://pertpy.readthedocs.io/en/stable/ 6 | tutorials_home: https://pertpy.readthedocs.io/en/stable/tutorials/index.html 7 | install: 8 | pypi: pertpy 9 | tags: 10 | - single-cell 11 | - perturbation 12 | - condition 13 | license: Apache-2.0 14 | version: v0.7.0 15 | authors: 16 | - lukas heumos 17 | - Lilly May 18 | - Yuge Ji 19 | - Alejandro Tejada 20 | - Johannes Köster 21 | - Emma Dann 22 | - Xinyue Zhang 23 | - Xichen Wu 24 | - Tessa Green 25 | - Stefan Peidli 26 | - Antonia Schumacher 27 | - Gregor Sturm 28 | test_command: | 29 | pip install ".[dev,test]" && pytest 30 | -------------------------------------------------------------------------------- /packages/popV/meta.yaml: -------------------------------------------------------------------------------- 1 | name: popV 2 | description: | 3 | p(opular)V(oting) is a consensus tool for transfering labels from an annotated reference dataset to an unannotated query dataset. Consensus calling allows interpretable scores that quantify certainty. 4 | project_home: https://github.com/YosefLab/popV 5 | documentation_home: https://popv.readthedocs.io/en/latest/ 6 | install: 7 | pypi: popv 8 | tags: 9 | - cell type labels 10 | - batch integration 11 | - automatic annotation 12 | license: MIT 13 | version: v0.5.2 14 | authors: 15 | - canergen 16 | test_command: pip install -e '.[test]' && pytest 17 | -------------------------------------------------------------------------------- /packages/pyLemur/meta.yaml: -------------------------------------------------------------------------------- 1 | name: pyLemur 2 | description: | 3 | Python implementation of the LEMUR algorithm for analyzing multi-condition single-cell RNA-seq data.. 4 | project_home: https://github.com/const-ae/pyLemur 5 | documentation_home: https://pyLemur.readthedocs.io 6 | tutorials_home: https://pylemur.readthedocs.io/page/notebooks/Tutorial.html 7 | publications: 8 | - 10.1101/2023.03.06.531268 9 | install: 10 | pypi: pyLemur 11 | tags: 12 | - single-cell 13 | - differential expression 14 | - multi-condition 15 | license: MIT 16 | version: v0.1.0 17 | authors: 18 | - Constantin Ahlmann-Eltze 19 | test_command: pip install -e '.[dev]' && pytest 20 | -------------------------------------------------------------------------------- /packages/pySCENIC/meta.yaml: -------------------------------------------------------------------------------- 1 | name: pySCENIC 2 | description: | 3 | pySCENIC is a lightning-fast python implementation of the SCENIC pipeline 4 | (Single-Cell rEgulatory Network Inference and Clustering) which enables 5 | biologists to infer transcription factors, gene regulatory networks and 6 | cell types from single-cell RNA-seq data. 7 | project_home: https://github.com/aertslab/pySCENIC 8 | documentation_home: https://pyscenic.readthedocs.io/en/latest/ 9 | tutorials_home: https://pyscenic.readthedocs.io/en/latest/tutorial.html 10 | publications: 11 | - 10.1038/nmeth.4463 12 | - 10.1371/journal.pone.0012776 13 | - 10.1038/s41596-020-0336-2 14 | install: 15 | pypi: pyscenic 16 | tags: 17 | - regulatory networks 18 | - clustering 19 | license: GPL-3.0-only 20 | version: v0.12.0 21 | authors: 22 | - bramvds 23 | - cflerin 24 | - ghuls 25 | - dweemx 26 | - s-aibar 27 | - cbravo93 28 | - pascal-git 29 | - simonvh 30 | - loremendez 31 | test_command: pip install "." && pytest 32 | -------------------------------------------------------------------------------- /packages/pychromVAR/meta.yaml: -------------------------------------------------------------------------------- 1 | name: pychromVAR 2 | description: | 3 | A python pacakge for chromVAR. 4 | project_home: https://github.com/lzj1769/pychromVAR 5 | documentation_home: https://pychromvar.readthedocs.io/en/latest/ 6 | tutorials_home: https://pychromvar.readthedocs.io/en/latest/ 7 | install: 8 | pypi: pychromvar 9 | tags: 10 | - TF 11 | - scATAC-seq 12 | license: MIT 13 | version: v0.0.3 14 | authors: 15 | - Zhijian Li 16 | test_command: | 17 | test_command: pip install ".[test]" && pytest 18 | -------------------------------------------------------------------------------- /packages/pytximport/meta.yaml: -------------------------------------------------------------------------------- 1 | name: pytximport 2 | description: | 3 | A Python port of the `tximport` R package for importing transcript-level quantification data from various RNA-seq quantification tools such as `salmon` and `kallisto` and summarizing it to the gene level. 4 | project_home: https://github.com/complextissue/pytximport 5 | documentation_home: https://pytximport.readthedocs.io/en/latest/ 6 | tutorials_home: https://pytximport.readthedocs.io/en/latest/ 7 | install: 8 | pypi: pytximport 9 | tags: 10 | - rna-seq 11 | - bulk-rna-seq 12 | - differential-expression 13 | license: GPL-3.0-only 14 | version: v0.2.0 15 | authors: 16 | - maltekuehl 17 | test_command: | 18 | pip install flit poetry && \ 19 | flit install --deps all && \ 20 | coverage run -m pytest 21 | -------------------------------------------------------------------------------- /packages/rapids-singlecell/meta.yaml: -------------------------------------------------------------------------------- 1 | name: rapids-singlecell 2 | description: | 3 | A GPU acclerated python package for singlecell data analysis 4 | project_home: https://github.com/scverse/rapids_singlecell 5 | documentation_home: https://rapids-singlecell.readthedocs.io/en/latest/ 6 | tutorials_home: https://rapids-singlecell.readthedocs.io/en/latest/notebooks.html 7 | install: 8 | pypi: rapids-singlecell 9 | tags: 10 | - Singlecell Analysis 11 | - GPU acceleration 12 | - CUDA 13 | license: MIT 14 | version: v0.7.5 15 | authors: 16 | - Severin Dicks 17 | test_command: pytest 18 | -------------------------------------------------------------------------------- /packages/scDataLoader/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scDataLoader 2 | description: | 3 | A dataloader for large single cell databases like cellxgene. 4 | Does weighted random sampling, downloading and preprocessing. 5 | works with anndata, zarr, and h5ad files. 6 | project_home: https://github.com/jkobject/scDataLoader 7 | documentation_home: https://www.jkobject.com/scDataLoader/ 8 | publications: 9 | - 10.1101/2024.07.29.605556 10 | install: 11 | pypi: scdataloader 12 | tags: 13 | - dataloader 14 | - single cell 15 | - RNAseq 16 | - pytorch 17 | - lightning 18 | - cellxgene 19 | - preprocessing 20 | license: MIT 21 | version: v1.2.2 22 | authors: 23 | - jkobject (jeremie kalfon) 24 | test_command: pip install . && make test 25 | -------------------------------------------------------------------------------- /packages/scFates/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scFates 2 | description: | 3 | A scalable python package for tree inference and advanced pseudotime analysis from scRNAseq data. 4 | project_home: https://github.com/LouisFaure/scFates 5 | documentation_home: https://scfates.readthedocs.io/en/latest/ 6 | tutorials_home: https://scfates.readthedocs.io/en/latest/Tree_Analysis_Bone_marrow_fates.html 7 | publications: 8 | - 10.1093/bioinformatics/btac746 9 | install: 10 | pypi: scFates 11 | tags: 12 | - pseudotime 13 | - cell-fate 14 | - trajectory-generation 15 | license: BSD-3-Clause 16 | version: v1.0.0 17 | authors: 18 | - LouisFaure 19 | test_command: | 20 | sudo apt-get clean && sudo apt-get update 21 | sudo apt-get install -y r-base r-cran-mgcv 22 | pip install wheel 23 | pip install coverage cmake pytest mock 24 | pip install rpy2==3.4.2 25 | pip install . 26 | pytest scFates/tests/test_w_plots.py 27 | -------------------------------------------------------------------------------- /packages/scGen/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scGen 2 | description: | 3 | scGen is a generative model to predict single-cell perturbation response 4 | across cell types, studies and species. 5 | project_home: https://github.com/theislab/scgen 6 | documentation_home: https://scgen.readthedocs.io/en/stable/ 7 | tutorials_home: https://scgen.readthedocs.io/en/stable/tutorials/index.html 8 | publications: 9 | - 10.1038/s41592-019-0494-8 10 | install: 11 | pypi: scgen 12 | tags: 13 | - perturbation 14 | license: GPL-3.0-only 15 | version: v2.1.0 16 | authors: 17 | - mn7697np 18 | - M0hammadL 19 | - adamgayoso 20 | - Cottoneyejoe95 21 | - watiss 22 | - ktpolanski 23 | - Naghipourfar 24 | - k4ngyh 25 | - Zethson 26 | - alirezaomidi 27 | - mumichae 28 | test_command: pip install "." && pytest 29 | -------------------------------------------------------------------------------- /packages/scPRINT/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scPRINT 2 | description: | 3 | A single cell foundation model for Gene network inference and more... 4 | project_home: https://github.com/cantinilab/scPRINT 5 | documentation_home: https://cantinilab.github.io/scPRINT/ 6 | publications: 7 | - 10.1101/2024.07.29.605556 8 | install: 9 | pypi: scprint 10 | tags: 11 | - foundation model 12 | - single cell 13 | - RNAseq 14 | - gene network inference 15 | - denoising 16 | - zero imputation 17 | - label prediction 18 | - zero shot 19 | - embedding 20 | - pytorch 21 | - lightning 22 | license: MIT 23 | version: v1.6.2 24 | authors: 25 | - jkobject (jeremie kalfon) 26 | test_command: pip install . && make test 27 | -------------------------------------------------------------------------------- /packages/scanpro/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scanpro 2 | description: robust cell proportion analysis for single cell data 3 | project_home: https://github.com/loosolab/scanpro 4 | documentation_home: https://scanpro.readthedocs.io 5 | tutorials_home: https://scanpro.readthedocs.io/en/latest/proportion_analysis.html 6 | publications: 7 | - 10.1101/2023.08.14.553234 8 | install: 9 | pypi: scanpro 10 | tags: 11 | - single cell 12 | - proportion analysis 13 | - multi omics 14 | license: MIT 15 | version: 0.2.0 16 | authors: 17 | - loosolab 18 | test_command: pip install . && pytest 19 | -------------------------------------------------------------------------------- /packages/schist/meta.yaml: -------------------------------------------------------------------------------- 1 | name: schist 2 | description: schist applies Stochastic Block Models (SBM) to the analysis of single cell data, in particular to identify cell populations 3 | project_home: https://github.com/dawe/schist 4 | documentation_home: https://schist.readthedocs.io 5 | tutorials_home: https://schist.readthedocs.io/en/latest/tutorials.html 6 | install: 7 | conda: conda-forge::schist 8 | license: BSD-3-Clause 9 | tags: 10 | - clustering 11 | - single-cell 12 | publications: 13 | - 10.1186/s12859-021-04489-7 14 | version: v0.8.1 15 | authors: 16 | - dawe 17 | - leomorelli 18 | test_command: | 19 | pytest conftest.py 20 | -------------------------------------------------------------------------------- /packages/scib/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scib 2 | description: | 3 | Evaluating single-cell data integration methods 4 | project_home: https://github.com/theislab/scib 5 | documentation_home: https://scib.readthedocs.io 6 | publications: 7 | - 10.1038/s41592-021-01336-8 8 | install: 9 | pypi: scib 10 | tags: 11 | - benchmarking 12 | - single cell 13 | - data integration 14 | license: MIT 15 | version: v1.0.5 16 | authors: 17 | - mumichae 18 | - LuckyMD 19 | - danielStrobl 20 | - mbuttner 21 | test_command: pip install ".[test,rpy2,harmony,scvi,scanorama]" && pytest 22 | -------------------------------------------------------------------------------- /packages/sctriangulate/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scTriangulate 2 | description: | 3 | Python package to mix-and-match conflicting clustering results in single cell analysis and generate reconciled clustering solutions 4 | project_home: https://github.com/frankligy/scTriangulate 5 | documentation_home: https://sctriangulate.readthedocs.io/en/latest/get_started.html 6 | tutorials_home: https://sctriangulate.readthedocs.io/en/latest/tutorial.html 7 | publications: 8 | - 10.1101/2021.10.16.464640 9 | install: 10 | pypi: sctriangulate 11 | tags: 12 | - clustering 13 | license: MIT 14 | version: v0.12.0 15 | authors: 16 | - frankligy 17 | test_command: pip install "." && pytest 18 | -------------------------------------------------------------------------------- /packages/scvelo/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scVelo 2 | description: | 3 | scVelo is a scalable toolkit for RNA velocity analysis in single cells, based on [Bergen et al., Nature Biotech, 2020](https://doi.org/10.1038/s41587-020-0591-3). 4 | project_home: https://github.com/theislab/scvelo 5 | documentation_home: https://scvelo.readthedocs.io 6 | publications: 7 | - 10.1038/s41587-020-0591-3 8 | install: 9 | pypi: scvelo 10 | tags: 11 | - rna velocity 12 | license: BSD-3-Clause 13 | version: v0.2.5 14 | authors: 15 | - WeilerP 16 | - VolkerBergen 17 | test_command: pip install -e '.[dev]' && pytest 18 | -------------------------------------------------------------------------------- /packages/scyan/meta.yaml: -------------------------------------------------------------------------------- 1 | name: scyan 2 | description: | 3 | Biology-driven deep generative model for cell-type annotation in cytometry. 4 | Scyan is an interpretable model that also corrects batch-effect and 5 | can be used for debarcoding or population discovery. 6 | project_home: https://github.com/MICS-Lab/scyan 7 | documentation_home: https://mics-lab.github.io/scyan/ 8 | tutorials_home: https://mics-lab.github.io/scyan/tutorials/usage/ 9 | publications: 10 | - 10.1093/bib/bbad260 11 | install: 12 | pypi: scyan 13 | tags: 14 | - cytometry 15 | - annotation 16 | - batch-effect correction 17 | - debarcoding 18 | license: BSD-3-Clause 19 | version: v1.5.0 20 | authors: 21 | - quentinblampey 22 | test_command: pip install ".[dev]" && pytest 23 | -------------------------------------------------------------------------------- /packages/sfaira/meta.yaml: -------------------------------------------------------------------------------- 1 | name: sfaira 2 | description: | 3 | sfaira is a model and a data repository in a single python package. 4 | project_home: https://github.com/theislab/sfaira 5 | documentation_home: https://sfaira.readthedocs.io/en/latest/ 6 | tutorials_home: https://sfaira.readthedocs.io/en/latest/tutorials.html 7 | publications: 8 | - 10.1186/s13059-021-02452-6 9 | install: 10 | pypi: sfaira 11 | tags: 12 | - data repository 13 | license: BSD-3-Clause 14 | version: v0.3.12 15 | authors: 16 | - davidsebfischer 17 | - le-ander 18 | - Zethson 19 | - felix0097 20 | - Abdul-Moeed 21 | - lauradmartens 22 | - mk017 23 | - Hrovatin 24 | - m4rtinkoenig 25 | - soerenab 26 | - xlancelottx 27 | - giovp 28 | - Wang-Cankun 29 | test_command: null 30 | -------------------------------------------------------------------------------- /packages/sift-sc/meta.yaml: -------------------------------------------------------------------------------- 1 | name: sift-sc 2 | description: | 3 | SiFT is a computational framework which aims to uncover the underlying structure by filtering out previously exposed biological signals. 4 | SiFT can be applied to a wide range of tasks, from (i) the removal of unwanted variation as a pre-processing step, through (ii) revealing hidden biological structure by utilizing prior knowledge with respect to existing signal, to (iii) uncovering trajectories of interest using reference data to remove unwanted variation. 5 | project_home: https://github.com/nitzanlab/sift-sc 6 | documentation_home: https://sift-sc.readthedocs.io 7 | tutorials_home: https://sift-sc.readthedocs.io 8 | install: 9 | pypi: sift-sc 10 | tags: 11 | - single-cell 12 | - signals 13 | - filter 14 | license: BSD-3-Clause 15 | version: v0.1.0 16 | authors: 17 | - zoepiran 18 | test_command: | 19 | pip install ".[test]" && pytest 20 | -------------------------------------------------------------------------------- /packages/sobolev-alignment/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Sobolev Alignment 2 | description: | 3 | Sobolev alignment of deep probabilistic models for comparing single cell profiles from pre-clinical models and patients 4 | project_home: https://github.com/NKI-CCB/sobolev_alignment 5 | documentation_home: https://sobolev-alignment.readthedocs.io/ 6 | publications: 7 | - 10.1101/2022.03.08.483431 8 | install: 9 | pypi: sobolev-alignment 10 | tags: 11 | - ML 12 | - deep-generative-models 13 | - kernel-methods 14 | - pre-clinical 15 | - clinical 16 | - scrnaseq 17 | license: MIT 18 | version: 1.0.0 19 | authors: 20 | - saroudant 21 | test_command: | 22 | pip install ."[dev]" && pytest 23 | -------------------------------------------------------------------------------- /packages/sopa/meta.yaml: -------------------------------------------------------------------------------- 1 | name: sopa 2 | description: | 3 | Technology-invariant pipeline for spatial-omics analysis that 4 | scales to millions of cells. It includes segmentation, annotation, 5 | spatial statistics, and efficient visualization. 6 | project_home: https://github.com/gustaveroussy/sopa 7 | documentation_home: https://gustaveroussy.github.io/sopa/ 8 | publications: 9 | - 10.1038/s41467-024-48981-z 10 | install: 11 | pypi: sopa 12 | tags: 13 | - spatial-omics 14 | - spatial-transcriptomics 15 | - multiplex imaging 16 | - spatialdata 17 | - pipeline 18 | license: BSD-3-Clause 19 | version: v1.0.0 20 | authors: 21 | - quentinblampey 22 | test_command: pip install ".[dev,cellpose]" && pytest 23 | -------------------------------------------------------------------------------- /packages/spatial-eggplant/meta.yaml: -------------------------------------------------------------------------------- 1 | name: spatial-eggplant 2 | description: | 3 | Python package designed to transfer information from multiple spatial-transcriptomics data sets to a single reference representing a Common Coordinate Framework (CCF). 4 | project_home: https://github.com/almaan/eggplant 5 | documentation_home: https://spatial-eggplant.readthedocs.io/en/latest/index.html 6 | tutorials_home: https://spatial-eggplant.readthedocs.io/en/latest/index.html 7 | publications: 8 | - 10.1101/2021.11.11.468178 9 | install: 10 | pypi: spatial-eggplant 11 | tags: 12 | - spatial alignment 13 | - spatial registration 14 | license: MIT 15 | version: v0.2.3 16 | authors: 17 | - almaan 18 | test_command: pip install "." && pytest 19 | -------------------------------------------------------------------------------- /packages/spatialproteomics/meta.yaml: -------------------------------------------------------------------------------- 1 | name: spatialproteomics 2 | description: | 3 | Spatialproteomics is an interoperable toolbox for analyzing highly multiplexed fluorescence image data. 4 | This analysis involves a sequence of steps, including segmentation, image processing, 5 | marker quantification, cell type classification, and neighborhood analysis. 6 | project_home: https://github.com/sagar87/spatialproteomics 7 | documentation_home: https://sagar87.github.io/spatialproteomics 8 | tutorials_home: https://sagar87.github.io/spatialproteomics/notebooks/ExampleWorkflow.html 9 | install: 10 | pypi: spatialproteomics 11 | tags: 12 | - spatial-omics 13 | - spatial-proteomics 14 | - multiplex imaging 15 | - spatialdata 16 | - pipeline 17 | license: MIT 18 | version: v0.7.0 19 | authors: 20 | - MeyerBender 21 | - sagar87 22 | test_command: pip install ".[all,dev]" && pytest 23 | -------------------------------------------------------------------------------- /packages/symphonypy/meta.yaml: -------------------------------------------------------------------------------- 1 | name: Symphonypy 2 | description: | 3 | Symphonypy is a pure Python port of Symphony label transfer algorithm for reference-based cell type 4 | annotation. 5 | project_home: https://github.com/potulabe/symphonypy 6 | documentation_home: https://github.com/potulabe/symphonypy 7 | install: 8 | pypi: symphonypy 9 | tags: 10 | - label-transfer 11 | license: GPL-3.0-only 12 | version: v0.2.1 13 | authors: 14 | - serjisa 15 | - potulabe 16 | test_command: | 17 | pip install . && pytest 18 | -------------------------------------------------------------------------------- /packages/tangram/meta.yaml: -------------------------------------------------------------------------------- 1 | name: tangram 2 | description: | 3 | Spatial alignment and gene expression mapping of single cell transcriptomic data. 4 | project_home: https://github.com/broadinstitute/Tangram 5 | documentation_home: https://tangram-sc.readthedocs.io/en/latest/index.html 6 | tutorials_home: https://tangram-sc.readthedocs.io/en/latest/tutorials.html 7 | publications: 8 | - 10.1038/s41592-021-01264-7 9 | install: 10 | pypi: tangram-sc 11 | tags: 12 | - spatial decomposition 13 | - spatial mapping 14 | license: BSD-3-Clause 15 | version: v1.0.3 16 | authors: 17 | - ziqlu0722 18 | - lewlin 19 | - gscalia 20 | - gaddamshreya 21 | - hejinhuang 22 | test_command: pip install "." && pytest 23 | -------------------------------------------------------------------------------- /packages/vitessce/meta.yaml: -------------------------------------------------------------------------------- 1 | name: vitessce 2 | description: | 3 | Vitessce is an integrative visualization framework for multimodal and 2D/3D spatially resolved single-cell data. It consists of reusable, interactive linked views including scatterplot embedding views, 4 | 2D/3D spatial image views, genome browser tracks, statistical plots, and control views, built on web technologies such as WebGL and WebXR. 5 | project_home: https://github.com/vitessce/vitessce 6 | documentation_home: https://vitessce.github.io/vitessce-python/ 7 | tutorials_home: https://github.com/vitessce/vitessce/tree/main/examples 8 | publications: 9 | - 10.1038/s41592-024-02436-x 10 | install: 11 | pypi: vitessce 12 | tags: 13 | - imaging 14 | license: MIT 15 | version: v3.5.7 16 | authors: 17 | - keller-mark 18 | - mccalluc 19 | - ilan-gold 20 | - thomaslchan 21 | - manzt 22 | - john-conroy 23 | - ngehlenborg 24 | - jkmarx 25 | - sehilyi 26 | - rj3d 27 | - alexvpickering 28 | - cosa65 29 | - dannda 30 | - alexkb0009 31 | - ivirshup 32 | - romanhaa 33 | - will-moore 34 | test_command: pip install "." && pytest 35 | -------------------------------------------------------------------------------- /packages/wsidata/meta.yaml: -------------------------------------------------------------------------------- 1 | name: wsidata 2 | description: | 3 | wsidata is a data-structure for efficient IO of Whole Slide Images based on spatialdata. 4 | project_home: https://github.com/rendeirolab/wsidata 5 | documentation_home: https://wsidata.readthedocs.io/en/latest/ 6 | install: 7 | pypi: wsidata 8 | tags: 9 | - Pathology 10 | - Whole Slide Imaging 11 | license: MIT 12 | version: v0.3.0 13 | authors: 14 | - Mr-Milk 15 | - eabila 16 | - afrendeiro 17 | test_command: uv run task test 18 | -------------------------------------------------------------------------------- /schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json-schema.org/draft/2020-12/schema", 3 | "$id": "https://raw.githubusercontent.com/scverse/ecosystem-packages/main/schema.json", 4 | "title": "Scverse Ecosystem Packages", 5 | "description": "An approved scverse ecosystem package that fulfils some minimal requirements", 6 | "type": "object", 7 | "properties": { 8 | "name": { 9 | "description": "The name of the package. Must be unique", 10 | "type": "string" 11 | }, 12 | "description": { 13 | "description": "Summary of the purpose of the package (1-2 sentences).", 14 | "type": "string" 15 | }, 16 | "project_home": { 17 | "description": "Link to the source code of the project (Usually a GitHub project page)", 18 | "type": "string", 19 | "format": "uri" 20 | }, 21 | "documentation_home": { 22 | "descripton": "Link to the documentation of the package (e.g. readthedocs)", 23 | "type": "string", 24 | "format": "uri" 25 | }, 26 | "tutorials_home": { 27 | "descripton": "Link to the tutorials/vignette (often a subpage of the documentation)", 28 | "type": "string", 29 | "format": "uri" 30 | }, 31 | "install": { 32 | "type": "object", 33 | "items": { 34 | "properties": { 35 | "pypi": { 36 | "description": "PyPI identifier", 37 | "type": "string" 38 | }, 39 | "conda": { 40 | "description": "Conda identifier, including channel (e.g. conda-forge::scanpy)", 41 | "type": "string", 42 | "pattern": "(.*)::(.*)" 43 | }, 44 | "cran": { 45 | "description": "CRAN identifier", 46 | "type": "string" 47 | } 48 | } 49 | }, 50 | "minItems": 1 51 | }, 52 | "license": { 53 | "description": "The license of the code. Must be a OSI-approved SPDX license identifier (see https://spdx.org/licenses/)", 54 | "comment": "import pandas as pd; from json import dumps; dumps(pd.read_html('https://spdx.org/licenses/')[0].loc[lambda x: x['OSI Approved?'] == 'Y']['Identifier'].tolist())", 55 | "type": "string", 56 | "enum": [ 57 | "0BSD", 58 | "AAL", 59 | "AFL-1.1", 60 | "AFL-1.2", 61 | "AFL-2.0", 62 | "AFL-2.1", 63 | "AFL-3.0", 64 | "AGPL-3.0-only", 65 | "AGPL-3.0-or-later", 66 | "Apache-1.1", 67 | "Apache-2.0", 68 | "APL-1.0", 69 | "APSL-1.0", 70 | "APSL-1.1", 71 | "APSL-1.2", 72 | "APSL-2.0", 73 | "Artistic-1.0", 74 | "Artistic-1.0-cl8", 75 | "Artistic-1.0-Perl", 76 | "Artistic-2.0", 77 | "BSD-1-Clause", 78 | "BSD-2-Clause", 79 | "BSD-2-Clause-Patent", 80 | "BSD-3-Clause", 81 | "BSD-3-Clause-LBNL", 82 | "BSL-1.0", 83 | "CAL-1.0", 84 | "CAL-1.0-Combined-Work-Exception", 85 | "CATOSL-1.1", 86 | "CDDL-1.0", 87 | "CECILL-2.1", 88 | "CERN-OHL-P-2.0", 89 | "CERN-OHL-S-2.0", 90 | "CERN-OHL-W-2.0", 91 | "CNRI-Python", 92 | "CPAL-1.0", 93 | "CPL-1.0", 94 | "CUA-OPL-1.0", 95 | "ECL-1.0", 96 | "ECL-2.0", 97 | "EFL-1.0", 98 | "EFL-2.0", 99 | "Entessa", 100 | "EPL-1.0", 101 | "EPL-2.0", 102 | "EUDatagrid", 103 | "EUPL-1.1", 104 | "EUPL-1.2", 105 | "Fair", 106 | "Frameworx-1.0", 107 | "GPL-2.0-only", 108 | "GPL-2.0-or-later", 109 | "GPL-3.0-only", 110 | "GPL-3.0-or-later", 111 | "HPND", 112 | "Intel", 113 | "IPA", 114 | "IPL-1.0", 115 | "ISC", 116 | "Jam", 117 | "LGPL-2.0-only", 118 | "LGPL-2.0-or-later", 119 | "LGPL-2.1-only", 120 | "LGPL-2.1-or-later", 121 | "LGPL-3.0-only", 122 | "LGPL-3.0-or-later", 123 | "LiLiQ-P-1.1", 124 | "LiLiQ-R-1.1", 125 | "LiLiQ-Rplus-1.1", 126 | "LPL-1.0", 127 | "LPL-1.02", 128 | "LPPL-1.3c", 129 | "MirOS", 130 | "MIT", 131 | "MIT-0", 132 | "MIT-Modern-Variant", 133 | "Motosoto", 134 | "MPL-1.0", 135 | "MPL-1.1", 136 | "MPL-2.0", 137 | "MPL-2.0-no-copyleft-exception", 138 | "MS-PL", 139 | "MS-RL", 140 | "MulanPSL-2.0", 141 | "Multics", 142 | "NASA-1.3", 143 | "Naumen", 144 | "NCSA", 145 | "NGPL", 146 | "Nokia", 147 | "NPOSL-3.0", 148 | "NTP", 149 | "OCLC-2.0", 150 | "OFL-1.1", 151 | "OFL-1.1-no-RFN", 152 | "OFL-1.1-RFN", 153 | "OGTSL", 154 | "OLDAP-2.8", 155 | "OSET-PL-2.1", 156 | "OSL-1.0", 157 | "OSL-2.0", 158 | "OSL-2.1", 159 | "OSL-3.0", 160 | "PHP-3.0", 161 | "PHP-3.01", 162 | "PostgreSQL", 163 | "Python-2.0", 164 | "QPL-1.0", 165 | "RPL-1.1", 166 | "RPL-1.5", 167 | "RPSL-1.0", 168 | "RSCPL", 169 | "SimPL-2.0", 170 | "SISSL", 171 | "Sleepycat", 172 | "SPL-1.0", 173 | "UCL-1.0", 174 | "Unicode-DFS-2016", 175 | "Unlicense", 176 | "UPL-1.0", 177 | "VSL-1.0", 178 | "W3C", 179 | "Watcom-1.0", 180 | "Xnet", 181 | "Zlib", 182 | "ZPL-2.0", 183 | "ZPL-2.1" 184 | ] 185 | }, 186 | "tags": { 187 | "description": "Keywords that describe the package", 188 | "type": "array", 189 | "items": { 190 | "type": "string" 191 | }, 192 | "minItems": 1, 193 | "uniqueItems": true 194 | }, 195 | "publications": { 196 | "description": "DOIs of publications describing the package", 197 | "type": "array", 198 | "items": { 199 | "type": "string", 200 | "comment": "DOI regex from https://www.crossref.org/blog/dois-and-matching-regular-expressions/", 201 | "pattern": "^10.\\d{4,9}\\/[-._;()\\/:A-Za-z0-9]+$" 202 | } 203 | }, 204 | "version": { 205 | "description": "The version of the package at the point when this entry was created or updated", 206 | "type": "string" 207 | }, 208 | "authors": { 209 | "description": "List of authors/maintainers of the package. Entries must be Github user IDs.", 210 | "type": "array", 211 | "items": { 212 | "type": "string" 213 | }, 214 | "minItems": 1, 215 | "uniqueItems": true 216 | }, 217 | "test_command": { 218 | "description": "A shell command to install the package and execute the tests, assuming you are inside a freshly cloned copy of the package repository. Often this will be `pip install \".[test]\" && pytest`", 219 | "type": ["string", "null"] 220 | } 221 | }, 222 | "required": [ 223 | "name", 224 | "description", 225 | "project_home", 226 | "documentation_home", 227 | "install", 228 | "license", 229 | "tags", 230 | "version", 231 | "authors" 232 | ] 233 | } 234 | -------------------------------------------------------------------------------- /scripts/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["hatchling", "hatch-vcs"] 3 | build-backend = "hatchling.build" 4 | 5 | [project] 6 | name = "ecosystem-scripts" 7 | dynamic = ["version"] 8 | description = "scripts for ecosystem package data" 9 | readme = "../README.md" 10 | requires-python = ">=3.11" 11 | license = "GPL-3.0" 12 | authors = [ 13 | { name = "Philipp A.", email = "flying-sheep@web.de" }, 14 | ] 15 | urls.Documentation = "https://github.com/scverse/ecosystem-packages#readme" 16 | urls.Issues = "https://github.com/scverse/ecosystem-packages/issues" 17 | urls.Source = "https://github.com/scverse/ecosystem-packages" 18 | dependencies = [ 19 | "rich", 20 | "PyGitHub", 21 | "PyYAML", 22 | ] 23 | 24 | [project.scripts] 25 | register-template-repos = "ecosystem_scripts.template_repo_registry:main" 26 | 27 | [tool.hatch.version] 28 | source = "vcs" 29 | fallback-version = "0.0" 30 | 31 | [tool.hatch.envs.default] 32 | python = "3.11" 33 | 34 | [tool.ruff] 35 | line-length = 120 36 | select = [ 37 | "A", 38 | "ARG", 39 | "B", 40 | "C", 41 | "DTZ", 42 | "E", 43 | "EM", 44 | "F", 45 | "FBT", 46 | "I", 47 | "ICN", 48 | "ISC", 49 | "N", 50 | "PLC", 51 | "PLE", 52 | "PLR", 53 | "PLW", 54 | "RUF", 55 | "S", 56 | "T", 57 | "TID", 58 | "UP", 59 | "W", 60 | "YTT", 61 | ] 62 | ignore = [] 63 | -------------------------------------------------------------------------------- /scripts/src/ecosystem_scripts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scverse/ecosystem-packages/364a074745d0f30e20985332555e0802b3feb6ef/scripts/src/ecosystem_scripts/__init__.py -------------------------------------------------------------------------------- /scripts/src/ecosystem_scripts/template_repo_registry.py: -------------------------------------------------------------------------------- 1 | """Maintenance script for updating list of repositories that use the 2 | scverse template in template-repos.yml. 3 | 4 | After installing this via `pip install ./scripts` from the repo root, 5 | It is available as `register-template-repos`. 6 | 7 | Call `register-template-repos template-repos.yml` to update the file. 8 | Each entry marked with `skip: true` will not be served PRs. 9 | """ 10 | 11 | from __future__ import annotations 12 | 13 | import os 14 | import sys 15 | from collections.abc import Iterable 16 | from logging import basicConfig, getLogger 17 | from pathlib import Path 18 | from typing import NotRequired, TypedDict 19 | 20 | from github import Github 21 | from yaml import safe_dump, safe_load 22 | 23 | log = getLogger(__name__) 24 | 25 | 26 | class Repo(TypedDict): 27 | url: str 28 | skip: NotRequired[bool] 29 | 30 | 31 | def parse_repos(path: Path) -> list[Repo]: 32 | if not path.is_file(): 33 | log.info(f"No existing file found at: {path}") 34 | return [] 35 | with path.open() as f: 36 | repos = safe_load(f) 37 | log.info(f"Found {len(repos)} known repos in: {path}") 38 | return repos 39 | 40 | 41 | def search_repos(github_token: str | None) -> set[str]: 42 | g = Github(github_token) 43 | files = g.search_code('filename:.cruft.json "https://github.com/scverse/cookiecutter-scverse"') 44 | repos = {file.repository for file in files} 45 | return {r.html_url for r in repos} 46 | 47 | 48 | def merge_repos(known: Iterable[Repo], new: Iterable[str]) -> list[Repo]: 49 | repos = list(known) 50 | n_known = len(repos) 51 | known_urls = {repo["url"] for repo in repos} 52 | for repo_url in new: 53 | if repo_url not in known_urls: 54 | repos.append(Repo(url=repo_url)) 55 | log.info(f"Found {len(repos) - n_known} new repos in search") 56 | return repos 57 | 58 | 59 | def setup(): 60 | from rich.logging import RichHandler 61 | from rich.traceback import install 62 | 63 | basicConfig(level="INFO", handlers=[RichHandler()]) 64 | install(show_locals=True) 65 | 66 | 67 | def main(args: Iterable[str] | None = None) -> None: 68 | setup() 69 | if args is None: 70 | args = sys.argv[1:] 71 | if len(args) != 1: 72 | sys.exit("Usage: register-template-repos template-repos.yml") 73 | path = Path(args[0]) 74 | repos = merge_repos( 75 | parse_repos(path), 76 | search_repos(os.environ["GITHUB_TOKEN"]), 77 | ) 78 | if repos: 79 | with path.open("w") as f: 80 | safe_dump(sorted(repos, key=lambda r: r["url"]), f, sort_keys=False) 81 | 82 | 83 | if __name__ == "__main__": 84 | main() 85 | -------------------------------------------------------------------------------- /template-repos.yml: -------------------------------------------------------------------------------- 1 | - url: https://github.com/Bendemeurichy/FlowSOM_parallel 2 | - url: https://github.com/Bendemeurichy/flowSOM 3 | - url: https://github.com/Boehringer-Ingelheim/dso 4 | - url: https://github.com/Boehringer-Ingelheim/dso-mgr 5 | - url: https://github.com/BoevaLab/infercnvpy 6 | - url: https://github.com/COMBINE-lab/QCatch 7 | - url: https://github.com/CSOgroup/cellcharter 8 | - url: https://github.com/CSOgroup/torchgmm 9 | - url: https://github.com/ChanghaoGong/STutils 10 | - url: https://github.com/CompCy-lab/scHub 11 | - url: https://github.com/Computational-Morphogenomics-Group/Ladder 12 | - url: https://github.com/ComputationalBiomedicineGroup/Rectangle 13 | - url: https://github.com/David-M-P/insight 14 | - url: https://github.com/Floto-Lab/BactGraph 15 | - url: https://github.com/FroeseLab/bulkpy 16 | - url: https://github.com/Gabriellvl/FlowSOM 17 | - url: https://github.com/NKI-CCB/sobolev_alignment 18 | - url: https://github.com/Teichlab/multi-view-atlas 19 | - url: https://github.com/YosefLab/PopV 20 | - url: https://github.com/YosefLab/embedding-scvi 21 | - url: https://github.com/YosefLab/popV 22 | - url: https://github.com/YosefLab/pycea 23 | - url: https://github.com/YosefLab/scib-metrics 24 | - url: https://github.com/YosefLab/scvi-criticism 25 | skip: true 26 | reason: Repository archived as readonly 27 | - url: https://github.com/YosefLab/scvi-hub-models 28 | - url: https://github.com/YosefLab/scvi-tools-docker 29 | skip: true 30 | reason: Cruft fails for unclear reasons 31 | - url: https://github.com/YosefLab/treedata 32 | - url: https://github.com/YosefLab/visionpy 33 | - url: https://github.com/Zethson/fknni 34 | - url: https://github.com/adamgayoso/figmasvg 35 | - url: https://github.com/aertslab/CREsted 36 | - url: https://github.com/aertslab/EnhancerAI 37 | - url: https://github.com/agerardy/myeditdistance 38 | - url: https://github.com/angelolab/Nimbus-Inference 39 | - url: https://github.com/angelolab/ark-spatial 40 | - url: https://github.com/angelolab/pici-vitessce 41 | - url: https://github.com/angelolab/tonic-vitessce 42 | - url: https://github.com/bartuschimschek/mmil-refactored 43 | - url: https://github.com/bioFAM/mofaflex 44 | - url: https://github.com/bioFAM/prismo 45 | - url: https://github.com/bioFAM/scDoRI 46 | - url: https://github.com/blengerich/auto_ehr 47 | - url: https://github.com/cameronraysmith/perturbvelo 48 | - url: https://github.com/clinicalomx/napari-prism 49 | - url: https://github.com/cobioda/scispy 50 | - url: https://github.com/const-ae/pyLemur 51 | - url: https://github.com/d-j-k/donorpy 52 | - url: https://github.com/data-intuitive/dummy-anndata 53 | - url: https://github.com/decomverse/scmetric 54 | - url: https://github.com/dertrotl/geneGATer 55 | - url: https://github.com/devsystemslab/HNOCA-tools 56 | - url: https://github.com/edbiomedai/scmorph 57 | - url: https://github.com/ergonyc/lblator 58 | - url: https://github.com/eroell/mypackage-cruft-oct 59 | - url: https://github.com/greenelab/single_translator_VAE 60 | - url: https://github.com/grst/kartapullautin2tiles 61 | - url: https://github.com/grst/spatialdata-plot 62 | - url: https://github.com/icbi-lab/atlas_protocol 63 | - url: https://github.com/icbi-lab/infercnvpy 64 | - url: https://github.com/icbi-lab/shears 65 | - url: https://github.com/ilia-kats/PolarbearPlus 66 | - url: https://github.com/immunitastx/monkeybread 67 | - url: https://github.com/imsb-uke/nichepca 68 | - url: https://github.com/ivirshup/binsparse-python 69 | - url: https://github.com/jkobject/hierarchical_classifier 70 | - url: https://github.com/jkobject/simpler_flash 71 | - url: https://github.com/jlause/scverse-tutorials 72 | - url: https://github.com/joechanlab/scDeBussy 73 | - url: https://github.com/jskerman/chronai 74 | - url: https://github.com/karadavis-lab/anndata-utils 75 | - url: https://github.com/karadavis-lab/nbl 76 | - url: https://github.com/lhqing/scmallet 77 | - url: https://github.com/lucas-diedrich/dvp-io 78 | - url: https://github.com/lucas-diedrich/sccoral 79 | - url: https://github.com/lueckenlab/patpy 80 | - url: https://github.com/lzj1769/LR2net 81 | - url: https://github.com/macwiatrak/BacBench 82 | - url: https://github.com/macwiatrak/Bacformer 83 | - url: https://github.com/macwiatrak/scverse-hackathon-data-4-ai 84 | - url: https://github.com/mengerj/adata_hf_datasets 85 | - url: https://github.com/mengerj/mmcontext 86 | - url: https://github.com/mostafavilabuw/drum 87 | - url: https://github.com/nitzanlab/biolord 88 | - url: https://github.com/quadbio/cell-annotator 89 | - url: https://github.com/quadbio/cellmapper 90 | - url: https://github.com/quadbio/slurm_sweep 91 | - url: https://github.com/saeyslab/FlowSOM_Python 92 | - url: https://github.com/saezlab/decoupler-py 93 | - url: https://github.com/scverse/anndata-plot 94 | - url: https://github.com/scverse/cookiecutter-scverse-instance 95 | skip: true 96 | reason: Instance repo gets updated by the bot via the template 97 | - url: https://github.com/scverse/deres 98 | - url: https://github.com/scverse/formulaic-contrasts 99 | - url: https://github.com/scverse/genomic-features 100 | - url: https://github.com/scverse/multi-condition-comparisions 101 | - url: https://github.com/scverse/pytometry 102 | - url: https://github.com/scverse/scirpy 103 | - url: https://github.com/scverse/scverse-tutorials 104 | - url: https://github.com/scverse/simple-scvi 105 | - url: https://github.com/scverse/spatial-sample-aggregation 106 | - url: https://github.com/scverse/spatialdata-plot 107 | - url: https://github.com/scverse/squidpy 108 | - url: https://github.com/smgoggin10/ESCHR 109 | - url: https://github.com/srivarra/anatomize 110 | - url: https://github.com/srivarra/annsel 111 | - url: https://github.com/srivarra/mbt 112 | - url: https://github.com/srivarra/spatial-collection 113 | - url: https://github.com/srivarra/xrdantic 114 | - url: https://github.com/tansey-lab/nf-rnaseq 115 | - url: https://github.com/tddough98/airgradient 116 | - url: https://github.com/theislab/CellFlow 117 | - url: https://github.com/theislab/cell_flow_perturbation 118 | - url: https://github.com/theislab/cellflow_reproducibility 119 | - url: https://github.com/theislab/devVI 120 | - url: https://github.com/theislab/ehrdata 121 | - url: https://github.com/theislab/geome 122 | - url: https://github.com/theislab/mapqc 123 | - url: https://github.com/theislab/multigrate 124 | - url: https://github.com/theislab/multimil 125 | - url: https://github.com/theislab/spatialdata-db 126 | - url: https://github.com/theislab/transcription_factor_activity 127 | - url: https://github.com/theislab/troutpy 128 | - url: https://github.com/timtreis/gefslim 129 | - url: https://github.com/vitkl/cell2module 130 | - url: https://github.com/zunderlab/eschr 131 | --------------------------------------------------------------------------------