Skip to content

Conversation

@valleyofdawn
Copy link

@valleyofdawn valleyofdawn commented Sep 14, 2025

Checklist for adding packages

Mandatory

Name of the tool: TreeTag

Short description: A fast, ontology-driven cell type annotation tool for single-cell RNA-seq data. TreeTag uses hierarchical marker dictionaries defined in YAML format to classify cells in a reproducible and transparent way.

How does the package use scverse data structures (please describe in a few sentences): TreeTag operates directly on AnnData objects. Marker-based scoring is performed on adata.X or preprocessed layers, and results are stored in adata.obs as per-cell annotations, with optional intermediate scores in adata.obsm and pruning metadata in adata.varm. The hierarchical ontology is linked to these results, allowing integration with standard scanpy plotting functions and downstream workflows without conversion.

  • The code is publicly available under an OSI-approved license
  • The package provides versioned releases
  • The package can be installed from a standard registry - PyPI
  • Automated tests cover essential functions of the package and a reasonable range of inputs and conditions 1
  • Continuous integration (CI) automatically executes these tests on each push or pull request 2
  • The package provides API documentation via a website or README3
  • The package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions)
  • I am an author or maintainer of the tool and agree on listing the package on the scverse website

Recommended

  • Please announce this package on scverse communication channels (zulip, discourse, twitter)

  • Please tag the author(s) these announcements. Handles (e.g. @scverse_team) to include are:

    • Zulip:
    • Discourse:
    • Mastodon:
    • Bluesky:
    • Twitter:
  • The package provides tutorials (or "vignettes") that help getting users started quickly

  • The package uses the scverse cookiecutter template.

Footnotes

  1. We recommend that 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.

  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 for CI. For an example, check out our cookiecutter template.

  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. In simple cases, this can be done manually in a README file. For anything more complex, we recommend the Sphinx Autodoc plugin

@flying-sheep
Copy link
Member

Hi! I edited your PR body to include the checklist. please fill it out!

@grst grst mentioned this pull request Sep 22, 2025
@mikkelnrasmussen mikkelnrasmussen changed the title Adding TreeTag to the exosystem packages add TreeTag Dec 1, 2025
@mikkelnrasmussen
Copy link
Collaborator

Hi @valleyofdawn,

Thanks for submitting TreeTag - looks like a really nice tool. I have a few comments regarding the checklist.

The package provides versioned releases

While you do have versioned releases on PyPI, I’d recommend also tagging them on GitHub and/or using the GitHub Releases feature.

The package provides API documentation via a website or README[^3]

By API documentation, we mean a structured listing of all functions/classes/methods, including their arguments and expected inputs/outputs. A good example is the scirpy API docs. I recommend looking into Sphinx Autodoc plugin to generate this kind of documentation.

Looking forward to your updates!

Best regards,
Mikkel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants