strainchoosr

:palm_tree: Choose the most diverse possible set of strains from a phylogenetic tree

https://github.com/OLC-Bioinformatics/StrainChoosr

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: plos.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.9%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

:palm_tree: Choose the most diverse possible set of strains from a phylogenetic tree

Basic Info
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Created over 7 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

README.rst

|Travis| |Coverage| |PyPI| |ReadTheDocs|

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/lowandrew/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.

.. _Pardi2005: https://journals.plos.org/plosgenetics/article?id=10.1371/journal.pgen.0010071
.. _Steel2005: https://academic.oup.com/sysbio/article/54/4/527/2842877
.. _newick-formatted: https://en.wikipedia.org/wiki/Newick_format)
.. _issue: https://github.com/lowandrew/StrainChoosr/issues
.. |Travis| image:: https://travis-ci.org/lowandrew/StrainChoosr.svg?master
           :target: https://travis-ci.org/lowandrew/StrainChoosr

.. |Coverage| image:: https://codecov.io/gh/lowandrew/StrainChoosr/branch/master/graph/badge.svg
           :target: https://codecov.io/gh/lowandrew/StrainChoosr

.. |PyPI| image:: https://badge.fury.io/py/strainchoosr.svg
           :target: https://badge.fury.io/py/strainchoosr
.. |ReadTheDocs| image:: https://readthedocs.org/projects/strainchoosr/badge/?version=latest
          :target: https://strainchoosr.readthedocs.io/?badge=latest
          :alt: Documentation Status

Owner

  • Name: OLC-Bioinformatics
  • Login: OLC-Bioinformatics
  • Kind: organization

GitHub Events

Total
Last Year

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 48
  • Total Committers: 1
  • Avg Commits per committer: 48.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
lowandrew a****w@c****a 48
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 3
  • Total pull requests: 1
  • Average time to close issues: 4 days
  • Average time to close pull requests: N/A
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lowandrew (2)
  • duceppemo (1)
Pull Request Authors
  • dependabot[bot] (1)
Top Labels
Issue Labels
enhancement (1) bug (1)
Pull Request Labels
dependencies (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 14 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 8
  • Total maintainers: 3
pypi.org: strainchoosr

This package was originally created by Andrew Low. Now maintained by Adam Koziol.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 14 Last month
Rankings
Dependent packages count: 10.1%
Dependent repos count: 21.6%
Forks count: 29.8%
Average: 37.7%
Stargazers count: 38.8%
Downloads: 88.2%
Maintainers (3)
Last synced: 11 months ago

Dependencies

requirements.txt pypi
  • PyQt5 ==5.11.3
  • PyQt5-sip ==4.19.13
  • atomicwrites ==1.3.0
  • attrs ==18.2.0
  • ete3 ==3.1.1
  • more-itertools ==5.0.0
  • pathlib2 ==2.3.3
  • pluggy ==0.8.1
  • py ==1.7.0
  • pytest ==4.2.0
  • six ==1.12.0
setup.py pypi
  • PyQt5 ==5.11.3
  • ete3 *
  • pytest *