A novel architecture for metagenomic classification defined as phylogenetic convolutional neural network, as presented in the paper [Phylogenetic Convolutiona -Neural Networks in Metagenomics](https://arxiv.org/abs/1709.02268).
## Getting Started
These instructions will get you a copy of the project up and running on your local machine.
### Cloning
We recommend to clone the repository with the --recursive option in order to clone the submodule too.
### Prerequisites
A complete conda environment is provided as a yml file in the folder `envs`. Additionally it is required to install the mlpy library as described in the readme included in the `envs/deps` folder.
## Running the program
In order to run the program one needs to modify the following files:
*`settings.py` - where it can be chose which type of data we want to load, where are the data, where to output, etc...
*`dap/settings.py` - where it can be set how the DAP is supposed to operate. More informations are available in the readme in the `dap` folder and in the paper.
*`dap/deep_learning_settings.py` - where all the settings specific for deep learning can be set.
Once done that one can select the algormthm (SVM, random forrest, MLP, ph-cnn) to be used by simply decide which runner to execute. For example:
```
python3 phylocnn_runner.py
```
will execute the phylogenetic convolutional neural network on the selected data with the selected settings.