Skip to content

Commit

Permalink
Merge pull request #164 from McTavishLab/clean-docs
Browse files Browse the repository at this point in the history
Clean docs
  • Loading branch information
LunaSare committed Aug 11, 2021
2 parents 4f8543f + 341d2c5 commit 2fe3aed
Show file tree
Hide file tree
Showing 42 changed files with 1,949 additions and 1,229 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ tests/data/precooked/*
docs/example_scripts/output/*
tests/data/tmp/*
tests/debugging/*
tests/tmp
tests/fromfile
.Rproj.user
*Rproj
*Rhistory
Expand Down
44 changes: 25 additions & 19 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ knitr::opts_chunk$set(
IS_README <- TRUE
```

<img align="left" width="250" src="https://raw.githubusercontent.com/McTavishLab/physcraper/cleanup/docs/physcraper-long.png">
<img align="left" width="250" src="https://raw.githubusercontent.com/McTavishLab/physcraper/main/docs/physcraper-long.png">

# Physcraper
# Welcome to Physcraper’s repository!

[![Build Status](https://travis-ci.org/McTavishLab/physcraper.svg?branch=main)](https://travis-ci.org/McTavishLab/physcraper)[![Documentation](https://readthedocs.org/projects/physcraper/badge/?version=latest&style=flat)](https://physcraper.readthedocs.io/en/latest/)[![codecov](https://codecov.io/gh/McTavishLab/physcraper/branch/main/graph/badge.svg)](https://codecov.io/gh/McTavishLab/physcraper)

Expand All @@ -26,38 +26,44 @@ IS_README <- TRUE
<p></p>


## Automated gene tree updating!


```{r child="docs/mds/intro.md"}
```

You are now on the code repository. Please refer to Physcraper’s
[documentation website](https://physcraper.readthedocs.io/en/latest/)
for more details on:

This is the code repository.
Please refer to Physcraper's [documentation website](https://physcraper.readthedocs.io/en/latest/) for more details
on [installation](https://physcraper.readthedocs.io/en/latest/install.html) instructions
using an Anaconda or a Virtualenv Python virtual environment,
[function](https://physcraper.readthedocs.io/en/latest/apidocs.html) usage,
tutorials on finding and choosing a [starting dataset](https://physcraper.readthedocs.io/en/latest/find_trees.html),
[running](https://physcraper.readthedocs.io/en/latest/physcraper_run.html) a full analysis,
and [visualizing and analysing](https://physcraper.readthedocs.io/en/latest/data_exploration.html) results,
as well as real life [examples](https://physcraper.readthedocs.io/en/latest/examples.html)
and tools for [developers](https://physcraper.readthedocs.io/en/latest/CONTRIBUTING.html).

- [installation](https://physcraper.readthedocs.io/en/latest/install.html)
instructions using an Anaconda or a Virtualenv Python virtual
environment,
- [function](https://physcraper.readthedocs.io/en/latest/apidocs.html)
usage,
- finding and choosing a [starting dataset](https://physcraper.readthedocs.io/en/latest/find-trees.html),
- [running](https://physcraper.readthedocs.io/en/latest/run.html) a full analysis,
- [visualizing and analysing](https://physcraper.readthedocs.io/en/latest/results.html) results,
- real life [examples](https://physcraper.readthedocs.io/en/latest/examples.html), and
- tools for [developers](https://physcraper.readthedocs.io/en/latest/CONTRIBUTING.html).


:hamster: :palm_tree: :frog: :ear_of_rice: :panda_face: :tulip: :octopus: :blossom: :whale: :mushroom: :ant: :cactus: :fish: :maple_leaf: :water_buffalo: 🦠 :shell: :bug: :octocat:


```{r child="docs/mds/intro-dendropy.md"}
```{r child="docs/mds/citation.md"}
```

```{r child="docs/mds/citation.md"}

```{r child="docs/mds/license.md"}
```

```{r child="docs/mds/license.md"}

```{r child="docs/mds/contact.md"}
```


```{r child="docs/mds/intro-requirements.md"}
```
188 changes: 135 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

<!-- README.md is generated from README.Rmd; please edit the .Rmd file and then from R do rmarkdown::render("README.Rmd")-->

<img align="left" width="250" src="https://raw.githubusercontent.com/McTavishLab/physcraper/master/docs/physcraper-long.png">
<img align="left" width="250" src="https://raw.githubusercontent.com/McTavishLab/physcraper/main/docs/physcraper-long.png">

# Physcraper
# Welcome to Physcraper’s repository\!

[![Build
Status](https://travis-ci.org/McTavishLab/physcraper.svg?branch=main)](https://travis-ci.org/McTavishLab/physcraper)[![Documentation](https://readthedocs.org/projects/physcraper/badge/?version=latest&style=flat)](https://physcraper.readthedocs.io/en/latest/)[![codecov](https://codecov.io/gh/McTavishLab/physcraper/branch/main/graph/badge.svg)](https://codecov.io/gh/McTavishLab/physcraper)
Expand All @@ -16,66 +16,148 @@ Status](https://travis-ci.org/McTavishLab/physcraper.svg?branch=main)](https://t

</p>

## Automated gene tree updating\!

Use a tree and a single locus alignment to find and add homologous
sequences to improve and advance phylogenetic inference in a group.

The tool is under active development in the [McTavish
Lab](https://mctavishlab.github.io/). Please post a GitHub issue
[here](https://github.com/McTavishLab/physcraper/issues) or contact
<ejmctavish@ucmerced.edu> if you need any help or have feedback.

This is the code repository. Please refer to Physcraper’s
## Automated gene tree updating <br> with the Open Tree of Life

Use a phylogenetic tree and a DNA alignment to automatically find and
add nucleotide sequences from a genetic database, to reproducibly
improve and advance phylogenetic knowledge within a biological group.

Physcraper relies on
[taxonomic](https://tree.opentreeoflife.org/about/taxonomy-version/ott3.3)
and [phylogenetic](https://github.com/OpenTreeOfLife/phylesystem-1)
resources and [programmatic
tools](https://github.com/OpenTreeOfLife/germinator/wiki/Open-Tree-of-Life-Web-APIs)
from the [Open Tree of
Life](https://tree.opentreeoflife.org/opentree/argus/opentree12.3@ott93302)
project.

Physcraper also leverages on programmatic tools from the
[TreeBASE](https://treebase.org/treebase-web/urlAPI.html) project and
[NCBI](https://www.ncbi.nlm.nih.gov/home/develop/api/), as well as
multiple software projects listed as [requirements](#Requirements)
below, to create an automatic and reproducible workflow for
phylogenetics.

You are now on the code repository. Please refer to Physcraper’s
[documentation website](https://physcraper.readthedocs.io/en/latest/)
for more details on
[installation](https://physcraper.readthedocs.io/en/latest/install.html)
instructions using an Anaconda or a Virtualenv Python virtual
environment,
[function](https://physcraper.readthedocs.io/en/latest/apidocs.html)
usage, tutorials on finding and choosing a [starting
dataset](https://physcraper.readthedocs.io/en/latest/find_trees.html),
[running](https://physcraper.readthedocs.io/en/latest/physcraper_run.html)
a full analysis, and [visualizing and
analysing](https://physcraper.readthedocs.io/en/latest/data_exploration.html)
results, as well as real life
[examples](https://physcraper.readthedocs.io/en/latest/examples.html)
and tools for
[developers](https://physcraper.readthedocs.io/en/latest/CONTRIBUTING.html).
for more details
on:

- [installation](https://physcraper.readthedocs.io/en/latest/install.html)
instructions using an Anaconda or a Virtualenv Python virtual
environment,
- [function](https://physcraper.readthedocs.io/en/latest/apidocs.html)
usage,
- finding and choosing a [starting
dataset](https://physcraper.readthedocs.io/en/latest/find-trees.html),
- [running](https://physcraper.readthedocs.io/en/latest/run.html) a
full analysis,
- [visualizing and
analysing](https://physcraper.readthedocs.io/en/latest/results.html)
results,
- real life
[examples](https://physcraper.readthedocs.io/en/latest/examples.html),
and
- tools for
[developers](https://physcraper.readthedocs.io/en/latest/CONTRIBUTING.html).

:hamster: :palm\_tree: :frog: :ear\_of\_rice: :panda\_face: :tulip:
:octopus: :blossom: :whale: :mushroom: :ant: :cactus: :fish:
:maple\_leaf: :water\_buffalo: 🦠 :shell: :bug: :octocat:

Physcraper relies on:

- [Dendropy](https://dendropy.org/primer/index.html): *Sukumaran, J
and MT Holder. 2010. DendroPy: a Python library for phylogenetic
computing. Bioinformatics 26: 1569-1571*
[doi.org/10.1093/bioinformatics/btq228](https://doi.org/10.1093/bioinformatics/btq228)
<br/><br/>
- [The Open Tree of Life
Project](https://tree.opentreeoflife.org/opentree/argus/opentree12.3@ott93302):
*Open Tree of Life, Benjamin Redelings, Luna Luisa Sanchez Reyes,
Karen A. Cranston, Jim Allman, Mark T. Holder, & Emily Jane
McTavish. (2019). Open Tree of Life Synthetic Tree (Version 12.3).
Zenodo*
[doi.org/10.5281/zenodo.3937741](https://doi.org/10.5281/zenodo.3937741)
<br/><br/>
- [OpenTree](https://github.com/OpenTreeOfLife/python-opentree):
*Emily Jane McTavish, Luna Luisa Sanchez Reyes, Mark T. Holder.
(2020). OpenTree: A Python package for Accessing and Analyzing data
from the Open Tree of Life. BioRxiv 2020.12.14.422759*
[doi.org/10.1101/2020.12.14.422759](https://doi.org/10.1101/2020.12.14.422759)
## Citation

If you use Physcraper, please cite:

- [Physcraper](https://www.biorxiv.org/content/10.1101/2020.09.15.299156v1.abstract):
*Luna Luisa Sanchez Reyes, Martha Kandziora, Emily Jane McTavish.
(2020). Physcraper: A Python package for continual update of
evolutionary estimates using the Open Tree of Life. BioRxiv
2020.09.15.299156*. doi:
[doi.org/10.1101/2020.09.15.299156](https://doi.org/10.1101/2020.09.15.299156)
- Sánchez-Reyes, L.L., M. Kandziora, & E.J McTavish. (2021).
*Physcraper: a Python package for continually updated phylogenetic
trees using the Open Tree of Life*. BMC Bioinformatics 22, 355. doi:
[doi.org/10.1186/s12859-021-04274-6](https://doi.org/10.1186/s12859-021-04274-6).
<br><br>
- Open Tree of Life, B. Redelings, L.L. Sanchez Reyes, K.A. Cranston,
J. Allman, M.T. Holder, & E.J. McTavish. (2019). *Open Tree of Life
Synthetic Tree (Version 12.3)*. Zenodo. doi:
[10.5281/zenodo.3937741](https://doi.org/10.5281/zenodo.3937741)

## License

Physcraper is made available through the [GNU General Public License
v3.0](https://github.com/McTavishLab/physcraper/blob/main/LICENSE)

## Contact

The tool is under active development in the [McTavish
Lab](https://mctavishlab.github.io/). Please post a GitHub issue
[here](https://github.com/McTavishLab/physcraper/issues) or contact
<ejmctavish@ucmerced.edu> if you need any help or have feedback.

## Requirements

Physcraper requires the user to install:

- [Anaconda](https://docs.anaconda.com/anaconda/install/) <br>
*Anaconda Software Distribution. Computer software. Vers. 4.8.0.
Anaconda, July. 2021. Web. <https://anaconda.com>*
- [Virtualenv](https://pypi.org/project/virtualenv/)
- [MUSCLE](https://www.ebi.ac.uk/Tools/msa/muscle/) <br> *Edgar RC.
MUSCLE: multiple sequence alignment with high accuracy and high
throughput. Nucleic Acids Res. 2004 Mar 19;32(5):1792-7.* doi:
[10.1093/nar/gkh340](https://doi.org/10.1093/nar/gkh340)
- [RAxML](https://cme.h-its.org/exelixis/web/software/raxml/) <br>
*Stamatakis, Alexandros. “RAxML version 8: a tool for phylogenetic
analysis and post-analysis of large phylogenies.” Bioinformatics
30.9 (2014): 1312-1313.* doi:
[10.1093/bioinformatics/btu033](https://doi.org/10.1093/bioinformatics/btu033)
- [BLAST
+](https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=BlastDocs&DOC_TYPE=Download)
<br> This software is only needed if using a local genetic database.
Note that BLAST + is automatically installed when [installing
Physcraper using
Anaconda](https://physcraper.readthedocs.io/en/stable/install.html#anaconda-virtual-environment).
<br> *Camacho, C., Coulouris, G., Avagyan, V. et al. BLAST+:
architecture and applications. BMC Bioinformatics 10, 421 (2009).*
doi:
[10.1186/1471-2105-10-421](https://doi.org/10.1186/1471-2105-10-421)

Physcraper relies on the following Python packages that are
<b>automatically</b> installed:

- [argparse](https://docs.python.org/3/library/argparse.html)
- [biopython](https://biopython.org/) <br> *Cock, P. J., Antao, T.,
Chang, J. T., Chapman, B. A., Cox, C. J., Dalke, A., et al. (2009).
Biopython: freely available Python tools for computational molecular
biology and bioinformatics. Bioinformatics, 25(11), 1422–1423.*
- [configparser](https://docs.python.org/3/library/configparser.html)
- [coverage](https://coverage.readthedocs.io/)
- [DateTime](https://docs.python.org/3/library/datetime.html)
- [DendroPy](https://dendropy.org/primer/index.html) <br> *Sukumaran,
J and MT Holder. 2010. DendroPy: a Python library for phylogenetic
computing. Bioinformatics 26: 1569-1571* doi:
[10.1093/bioinformatics/btq228](https://doi.org/10.1093/bioinformatics/btq228)
- [future](https://python-future.org/)
- [m2r2](https://pypi.org/project/m2r2/)
- [nexson](https://github.com/OpenTreeOfLife/nexson)
- [numpy](https://numpy.org/) <br> *Harris, C. R., Millman, K. J., van
der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., …
Oliphant, T. E. (2020). Array programming with NumPy. Nature, 585,
357–362.* doi:
[10.1038/s41586-020-2649-2](https://doi.org/10.1038/s41586-020-2649-2)
- [OpenTree](https://github.com/OpenTreeOfLife/python-opentree) <br>
*Emily Jane McTavish, Luna Luisa Sanchez-Reyes, Mark T. Holder.
(2020). OpenTree: A Python package for Accessing and Analyzing data
from the Open Tree of Life. BioRxiv 2020.12.14.422759* doi:
[10.1101/2020.12.14.422759](https://doi.org/10.1101/2020.12.14.422759)
- [pandas](https://pandas.pydata.org/) <br> *McKinney, W., & others.
(2010). Data structures for statistical computing in python. In
Proceedings of the 9th Python in Science Conference (Vol. 445,
pp. 51–56).*
- [pytest](https://pytest.org/)
- [pytest-cov](https://pytest-cov.readthedocs.io/)
- [pytest-xdist](https://pypi.org/project/pytest-xdist/)
- [recommonmark](https://recommonmark.readthedocs.io/)
- [requests](https://docs.python-requests.org/) <br> *Chandra, R. V.,
& Varanasi, B. S. (2015). Python requests essentials. Packt
Publishing Ltd.*
- [sh](https://amoffat.github.io/sh/)
- [sphinx](https://www.sphinx-doc.org/)
- [urllib3](https://urllib3.readthedocs.io/)
4 changes: 2 additions & 2 deletions bin/tree_comparison.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@


parser = argparse.ArgumentParser()
parser.add_argument("-d", "--results_dir", help="results directory from run")
parser.add_argument("-d", "--dir", help="Physcraper output directory from a single run")
parser.add_argument("-t1", "--original_tree", help="Original tree")
parser.add_argument("-t2", "--updated_tree", help="Updated Tree")
parser.add_argument("-otu", "--otu_info", help="File with taxon information JSON")
parser.add_argument("-otu", "--otu_info", help="File with taxon information in JSON format")
parser.add_argument("-og", "--outgroup", nargs='+', help="otu ids of outgroup taxa for rooting")
parser.add_argument("-o", "--outputdir", help="Name for output directory")

Expand Down

0 comments on commit 2fe3aed

Please sign in to comment.