Awesome
DeepNOG: protein orthologous groups assignment
Assign proteins to orthologous groups (eggNOG 5) on CPUs or GPUs with deep networks. DeepNOG is much faster than alignment-based methods, providing accuracy similar to HMMER.
Installation guide
The easiest way to install DeepNOG is to obtain it from PyPI:
pip install deepnog
Alternatively, you can clone or download bleeding edge versions from GitHub and run
pip install /path/to/DeepNOG
If you plan to extend DeepNOG as a developer, run
pip install -e /path/to/DeepNOG
instead.
deepnog
can also be installed from bioconda like this:
conda install deepnog
Usage
Call the deepnog
command line tool with a
protein sequence file in FASTA format.
Example usages:
deepnog infer proteins.faa
- Predicted groups of proteins in proteins.faa will be written to the console. By default, eggNOG5 bacteria level is used.
deepnog infer proteins.faa --out prediction.csv
- Write into prediction.csv instead
deepnog infer proteins.faa -db eggNOG5 -t 1236 -V 3 -c 0.99
- Predict EggNOG5 Gammaproteobacteria (tax 1236) groups
- discard individual predictions below 99 % confidence
- Show detailed progress report (-V 3)
deepnog train train.fa val.fa train.csv val.csv -a deepnog -e 15 --shuffle -r 123 -db eggNOG5 -t 3 -o /path/to/outdir
- Train a model for the (hypothetical) tax level 3 of eggNOG5 with a fixed random seed for reproducible results.
The individual models for OG predictions are not stored on GitHub or PyPI,
because they exceed file size limitations (up to 200M).
deepnog
automatically downloads the models, and puts them into a
cache directory (default ~/deepnog_data/
). You can change this directory
by setting the DEEPNOG_DATA
environment variable.
For help and advanced options, call deepnog --help
,
and deepnog infer --help
or deepnog train --help
for specific options
for inference or training, respectively.
See also the user & developer guide.
File formats supported
Preferred: FASTA (raw, .gz, or .xz)
DeepNOG supports protein sequences stored in all file formats listed in https://biopython.org/wiki/SeqIO, but is tested for the FASTA-file format only.
Databases currently supported
- eggNOG 5.0
- taxonomic level 1 (root level)
- taxonomic level 2 (bacteria level)
- For >100 additional eggNOG 5.0 levels, consult the docs.
- COG 2020
- (for additional databases/levels, please create an issue on Github, or train a model yourself---new in v1.2)
Deep network architectures currently supported
- DeepNOG
- DeepFam (no precomputed model currently available)
Required packages
deepnog
builds upon the following packages:
- PyTorch
- NumPy
- pandas
- scikit-learn
- tensorboard
- Biopython
- PyYAML
- tqdm
- pytest (for tests only)
See also requirements/*.txt
for platform-specific recommendations
(sometimes, specific versions might be required due to platform-specific
bugs in the deepnog requirements)
Acknowledgements
This research is supported by the Austrian Science Fund (FWF): P27703, P31988; and by the GPU grant program of Nvidia corporation.
Citation
If you use DeepNOG, please consider citing our research article (click here for bibtex):
Roman Feldbauer, Lukas Gosch, Lukas Lüftinger, Patrick Hyden, Arthur Flexer, Thomas Rattei, DeepNOG: Fast and accurate protein orthologous group assignment, Bioinformatics, 2020, btaa1051, https://doi.org/10.1093/bioinformatics/btaa1051