Skip to main content

Logo

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

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:

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)

Source distribution for orthosnap 1.7.0
File Size Uploaded
orthosnap-1.7.0.tar.gz 24.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for orthosnap 1.7.0
File Interpreter ABI Platform
orthosnap-1.7.0-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

1.7.0 This release

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.1

2 release files

0.0.4

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page