Docs · Report Bug · Request Feature
OrthoSNAP is a tree splitting and pruning tool for retrieving single-copy orthologous subgroups (SNAP-OGs) from larger gene families.
If you found OrthoSNAP useful, please cite: OrthoSNAP: a tree splitting and pruning algorithm for retrieving single-copy orthologs from gene family trees. Steenwyk et al. 2022, PLOS Biology. DOI: 10.1371/journal.pbio.3001827.
Full usage documentation and tutorial: https://jlsteenwyk.com/orthosnap/
What's new in v1.6.0
Compared to v1.5.0 (plotting + performance improvements), v1.6.0 adds workflow-scale and reproducibility features:
--manifest: batch execution from TSV/CSV manifests.--validate-only: preflight input concordance checks without extraction.--structured-output: machine-readable run metadata (.run.json) and subgroup summaries (.subgroups.tsv).--occupancy-count/--occupancy-fraction: explicit occupancy semantics.--resume: skip rerunning completed analyses.--bootstrap-trees+--consensus-min-frequency+--consensus-trees: consensus subgrouping across bootstrap tree uncertainty.
Compared to older releases:
- v1.5.0 focused on plotting and runtime optimization.
- v1.3.2 introduced configurable delimiters.
- v1.2.0 added inparalog handling reports.
- v1.0.0 and earlier focused on core pruning behavior.
Installation
Install with pip (recommended)
python -m venv .venv
source .venv/bin/activate
pip install orthosnap
Install from source
git clone https://github.com/JLSteenwyk/orthosnap.git
cd orthosnap
python -m venv .venv
source .venv/bin/activate
make install
Install with conda
conda install -c jlsteenwyk orthosnap
Conda package details: https://anaconda.org/jlsteenwyk/orthosnap
Quick start
orthosnap -f orthogroup_of_genes.faa -t phylogeny_of_orthogroup_of_genes.tre
Generate a color-coded SNAP-OG assignment plot for the full tree:
orthosnap -f orthogroup_of_genes.faa -t phylogeny_of_orthogroup_of_genes.tre -ps
Choose plot format (png default, pdf or svg):
orthosnap -f orthogroup_of_genes.faa -t phylogeny_of_orthogroup_of_genes.tre -ps -pf svg
Show all CLI options:
orthosnap -h
Performance development
The repository includes a deterministic benchmark for balanced and highly unbalanced multi-copy orthogroups, bootstrap processing, consensus-tree output, and CLI startup. See benchmarks/README.md for reproducible commands and current before/after runtime and memory results.
Run validation checks only (no subgroup extraction):
orthosnap -f orthogroup_of_genes.faa -t phylogeny_of_orthogroup_of_genes.tre --validate-only
Write structured provenance outputs (.run.json and .subgroups.tsv):
orthosnap -f orthogroup_of_genes.faa -t phylogeny_of_orthogroup_of_genes.tre --structured-output
Resume an interrupted or previously completed run:
orthosnap -f orthogroup_of_genes.faa -t phylogeny_of_orthogroup_of_genes.tre --resume
Use explicit occupancy semantics:
orthosnap -f orthogroup_of_genes.faa -t phylogeny_of_orthogroup_of_genes.tre --occupancy-count 5
orthosnap -f orthogroup_of_genes.faa -t phylogeny_of_orthogroup_of_genes.tre --occupancy-fraction 0.5
Run many orthogroups from a manifest (TSV/CSV with tree and fasta columns):
orthosnap --manifest runs.tsv --structured-output -op results/
Run bootstrap consensus mode using a file of tree paths (one per line):
orthosnap -f orthogroup_of_genes.faa -t reference.treefile --bootstrap-trees bootstrap_paths.txt --consensus-min-frequency 0.5
Also write consensus Newick trees:
orthosnap -f orthogroup_of_genes.faa -t reference.treefile --bootstrap-trees bootstrap_paths.txt --consensus-trees
Support
If installation fails in a clean virtual environment, contact Jacob L. Steenwyk via:
- Email: https://jlsteenwyk.com/contact.html
- Twitter/X: https://twitter.com/jlsteenwyk
Metadata
Release files for orthosnap 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| orthosnap-1.7.0.tar.gz | 24.3 kB | Without provenance | Details for orthosnap-1.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| orthosnap-1.7.0-py3-none-any.whl | Python 3 | none | any | Details for orthosnap-1.7.0-py3-none-any.whl |
Total release size: 48.9 kB
Release files / orthosnap-1.7.0.tar.gz
| Download URL | orthosnap-1.7.0.tar.gz |
|---|---|
| Size | 24.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e4238a6df4882e50954c6f59dc6c2fae0ebe027144e8e68dd796431fde12d069
|
|
BLAKE2b-256 checksum How to use checksums |
e16e26efd545d4553e19b465599bc21ee73e67d2a041a15804187bf91c5b5c01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / orthosnap-1.7.0-py3-none-any.whl
| Download URL | orthosnap-1.7.0-py3-none-any.whl |
|---|---|
| Size | 24.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2115ae619e103b2c7d5ec34f3e62c8e7d525705477bd0c096ab57dedcbf9974c
|
|
BLAKE2b-256 checksum How to use checksums |
09c661356a64dff987b3e30c237db9570463fc84d45bccf9e7d38b19d250e3cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Security for orthosnap 1.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.