☀️ CNN Scoring for Flexible Docking - Google Summer of Code 2019 ☀️
Molecular docking—the prediction of binding modes and binding affinity of a molecule to a target of known structure—is a great computational tool for structure-based drug design. However, docking scoring functions are mostly empirical or knowledge-based and the flexibility of the receptor is completely neglected in most docking studies. Recent advances in the field showed that scoring functions can be effectively learnt by convolutional neural networks (CNNs). Here we want to build on top of these findings and develop a CNN scoring function for flexible docking by extending the capabilities of
gnina
—a state-of-the-art deep learning framework for molecular docking—and by building an high-quality training dataset for flexible docking.
This Google Summer of Code 2019 project aims to extend the capabilities of gnina, the deep learning framework for molecular docking devloped in David Koes‘s group, to build a CNN-based scoring function for docking with flexible side chains.
The main stages of the project are the following:
PDBbind18/README.md
)docking/README.md
)optimisation/README.md
)datasets/flexdock/README.md
)mltraining/README.md
)mlopt/README.md
)This repository collects the different pipelines built in order to achieve the project goals. A list of constributions and fixes to openbabel, smina and gnina (OpenChemistry organisation) and MDAnalysis (NumFocus organisation) is given below.
The datasets related to this project will be released on Zenodo in due time.
List of contributions to gnina and gnina-scripts:
pymol_arrows.py
(PR #31)combine_rows.py
(PR #30)combine_rows.py
(PR #29)struct residue
(PR #74)gninavis
for gradients (PR #72)pickle
in clustering pipeline (PR #26)makeflex.py
(PR #65)makeflex.py
script to deal with PDB file without atom types (PR #64)makeflex.py
script (PR #61)makeflex.py
script (PR #60)gnina
parallel compilation without libmolgrid
installed (Issue #57)PDBQTUtilities.cpp
to latest OpenBabel version (PR #59)List of contributions to libmolgrid:
List of contributions to smina:
List of contributions to openbabel:
List of contributions to MDAnalysis:
HEADER
field in PDBReader
and PDBWriter
(PR #2325)