Metadata-Version: 2.1
Name: phylodeep
Version: 0.1.5
Summary: Phylodynamic paramater and model inference using pretrained deep neural networks
Home-page: https://github.com/evolbioinfo/deepphylo
Author: Jakub Voznica, Anna Zhukova
Author-email: jakub.voznica@pasteur.fr, anna.zhukova@pasteur.fr
License: UNKNOWN
Keywords: phylodynamics,deep learning,model selection,phylogeny,molecular epidemiology,paramdeep,phylodeep,deep learning,convolutional networks
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
Requires-Dist: ete3 (==3.1.1)
Requires-Dist: pandas (==0.23.4)
Requires-Dist: numpy (==1.18.5)
Requires-Dist: scipy (==1.1.0)
Requires-Dist: scikit-learn (==0.19.1)
Requires-Dist: tensorflow (==1.13.1)
Requires-Dist: joblib (==0.13.2)
Requires-Dist: h5py (==2.10.0)
Requires-Dist: Keras (==2.4.3)
Requires-Dist: matplotlib (==3.1.3)
Requires-Dist: phylodeep-data-BD-small
Requires-Dist: phylodeep-data-BD-large
Requires-Dist: phylodeep-data-BDEI-small
Requires-Dist: phylodeep-data-BDEI-large
Requires-Dist: phylodeep-data-BDSS-large

# Phylodeep

Phylodeep is a python library for parameter estimation and model selection from phylogenetic trees, based on deep learning.

## Installation

Use the package [pip](https://pip.pypa.io/en/stable/) to install phylodeep.

## Usage 
We recommend to perform a priori model adequacy first, to assess whether the input data resembles well the 
simulations on which the neural networks were trained.


###Python

```python
import phylodeep
from phylodeep import BD, BDEI, BDSS, SUMSTATS, FULL

path_to_tree = './tests/Zurich.trees'

# set presumed sampling probability
sampling_proba = 0.20

# a priori check
model_BD_vs_BDEI = phylodeep.checkdeep(path_to_tree, model=BDSS)


# model selection
model_BDEI_vs_BD_vs_BDSS = phylodeep.modeldeep(path_to_tree, sampling_proba, vector_representation=FULL)

# the selected model is BDSS

# parameter inference
param_BDSS = phylodeep.paramdeep(path_to_tree, sampling_proba, model=BDSS, vector_representation=FULL, 
                                 ci_computation=True)

```

###Command line
```python

# we use here a tree of 200 tips

# a priori model adequacy check: highly recommended
checkdeep -t ./tests/Zurich.trees -m BD -o BD_model_adequacy.png
checkdeep -t ./tests/Zurich.trees -m BDEI -o BDEI_model_adequacy.png
checkdeep -t ./tests/Zurich.trees -m BDSS -o BDSS_model_adequacy.png

# model selection
modeldeep -t ./tests/Zurich.trees -p 0.25 -v CNN_FULL_TREE -o model_selection.csv

# parameter inference
paramdeep -t ./tests/Zurich.trees -p 0.25 -m BDSS -v CNN_FULL_TREE -o HIV_Zurich_BDSS_CNN.csv
paramdeep -t ./tests/Zurich.trees -p 0.25 -m BDSS -v FFNN_SUMSTATS -o HIV_Zurich_BDSS_FFNN_CI.csv -c
```

## Citation


## Contributing


## License

