Skip to main content

PyPI Documentation Status

StrainChoosr

StrainChoosr examines phylogenetic trees and will give you the X strains that represent the most diversity within your tree. Given today’s deluge of sequencing data, picking strains to do more detailed analysis on can be difficult. Using this tool ensures you’ll have the maximum amount of diversity possible in your scaled down set of sequences. The algorithm behind it is described in Pardi2005 and Steel2005 so please be sure to cite them if you use StrainChoosr.

Installation

StrainChoosr lives on PyPi, so you can install via pip/pip3:

pip install strainchoosr

Alternatively, you can install the latest version from git. Note that there may be breaking changes pushed to the repository, so this isn’t necessarily advised.

pip install git+https://github.com/OLC-Bioinformatics/StrainChoosr.git

Quickstart

To use StrainChoosr, all you need is a newick-formatted tree file. To pick the 5 most diverse strains from a tree, type the following on the command line:

strainchoosr --treefile /path/to/tree.nwk --number 5

This will print the names of the 5 most diverse strains in your tree to the terminal, as well as create a file called strainchoosr_output.html in your current working directory that lets you visualize the output in any web browser.

To do the same within python:

from strainchoosr import strainchoosr
strainchoosr.run_strainchoosr(treefile='/path/to/tree.nwk', number_representatives=[5])

In addition to printing the strains to terminal, run_strainchoosr will return a dictionary where keys are the number of representatives and values are lists of the strains selected for that number of representatives.

Alternatively, if all you want to get is the list of strains and not generated html reports:

from strainchoosr import strainchoosr
import ete3
tree = ete3.Tree('path/to/treefile.nwk')
diverse_strains = strainchoosr.pd_greedy(tree=tree, number_tips=5, starting_strains=[])

This will get you a list of ete3.TreeNode objects that represent the 5 most diverse possible strains. You can then use strainchoosr.get_leaf_names_from_nodes(diverse_strains) to get a list of names.

Complete documentation on the strainchoosr API can be found at https://strainchoosr.readthedocs.io/api.html.

Issues and Pull Requests

If you have any problems or want a feature implemented, please feel free to open an issue. Similarly, if you want to add a feature or otherwise improve things, feel free to open a pull request.

Metadata

Release files for strainchoosr 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for strainchoosr 0.1.6
File Size Uploaded
strainchoosr-0.1.6.tar.gz 16.3 kB Details

Built distribution (wheel)

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

Total release size: 30.2 kB

Release files / strainchoosr-0.1.6.tar.gz

Download URL strainchoosr-0.1.6.tar.gz
Size 16.3 kB
Tags Source
SHA-256 checksum
How to use checksums
625d02df96c7c14ef04f08882228160baa918218bec260d50e42e0d6ff24018c
BLAKE2b-256 checksum
How to use checksums
07ce5dc26536c7660abc2ad15ebe9db1251d26fc417c181be0eb953d7a95a9d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / strainchoosr-0.1.6-py3-none-any.whl

Download URL strainchoosr-0.1.6-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
158566ba6e44ca9651f28e189efd10d3a7eb21cd54ea7da3a54831657f360b63
BLAKE2b-256 checksum
How to use checksums
98e4fbe3816746599c13628010bba8ecfac62e44bcd0055c82377ce9e0e24458
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.1

1 release file

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