Getting Started

gninatorch is a PyTorch implementation of GNINA scoring function, a CNN-based scoring function for molecular docking.

Note

gninatorch depends on libmolgrid, and therefore it is only available on Linux and requires a NVIDIA GPU.

If you use gninatorch, please consider citing the following papers: [RHI+17], [SK20], [FMS+20], and [MFA+21].

Help

If you find an issue with gninatorch, please open a GitHub issue. If you have a question about gninatorch, please use GitHub Discussions.

Installation

Installation from Source

Clone the repository from GitHub:

git clone https://github.com/RMeli/gnina-torch.git
cd gnina-torch

Create a conda or mamba environment with all the dependencies:

conda env create -f devtools/conda-envs/gninatorch.yaml
conda activate gninatorch

Install gninatorch from source:

python -m pip install .

Installation from PyPI

python -m pip install gninatorch

Warning

Packages on PyPI are still WIP and should be considered experimental.

Testing

Run tests with pytest and report code coverage:

pytest --cov=gninatorch

FMS+20

Paul G Francoeur, Tomohide Masuda, Jocelyn Sunseri, Andrew Jia, Richard B Iovanisci, Ian Snyder, and David R Koes. Three-dimensional convolutional neural networks and a cross-docked data set for structure-based drug design. J. Chem. Inf. Model., 60(9):4200–4215, 2020.

MFA+21

Andrew T McNutt, Paul Francoeur, Rishal Aggarwal, Tomohide Masuda, Rocco Meli, Matthew Ragoza, Jocelyn Sunseri, and David Ryan Koes. Gnina 1.0: molecular docking with deep learning. J. of Cheminform., 13(1):1–20, 2021.

RHI+17

Matthew Ragoza, Joshua Hochuli, Elisa Idrobo, Jocelyn Sunseri, and David Ryan Koes. Protein–ligand scoring with convolutional neural networks. J. Chem. Inf. Model., 57(4):942–957, 2017.

SK20

Jocelyn Sunseri and David R Koes. Libmolgrid: graphics processing unit accelerated molecular gridding for deep learning applications. J. Chem. Inf. Model., 60(3):1079–1084, 2020.