Skip to content

Commit

Permalink
Merge pull request #6 from HITS-MCM/version-1.1
Browse files Browse the repository at this point in the history
Version 1.1
  • Loading branch information
DKokh authored Jan 10, 2021
2 parents 3f0d3eb + 284a57d commit e0561c3
Show file tree
Hide file tree
Showing 14 changed files with 797 additions and 288 deletions.
Binary file added Data/Complete-PDB-Validation-Set.zip
Binary file not shown.
File renamed without changes.
55 changes: 36 additions & 19 deletions IFP_generation_examples_Analysis.ipynb

Large diffs are not rendered by default.

69 changes: 38 additions & 31 deletions IFP_generation_examples_PDB.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "965f29b5c3304b41ad90d31e933767e2",
"model_id": "6e71168883194b14bfe00afc13119b3b",
"version_major": 2,
"version_minor": 0
},
Expand All @@ -110,7 +110,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"RDKit WARNING: [09:00:26] Enabling RDKit 2019.09.3 jupyter extensions\n"
"RDKit WARNING: [17:20:31] Enabling RDKit 2019.09.3 jupyter extensions\n"
]
}
],
Expand Down Expand Up @@ -241,11 +241,11 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Start HB analysis 09:00:31.010103\n",
"Start WB analysis 09:00:31.453852\n",
"Start collecting IFPs: 09:00:33.115897\n",
"Start building IFP table: 09:00:38.396874\n",
"IFP database is ready 09:00:38.400871\n"
"Start HB analysis 17:20:35.994626\n",
"Start WB analysis 17:20:36.830144\n",
"Start collecting IFPs: 17:20:40.802862\n",
"Start building IFP table: 17:20:46.395648\n",
"IFP database is ready 17:20:46.399646\n"
]
}
],
Expand Down Expand Up @@ -368,7 +368,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f5d6cc6f0fd941a8bdc51058633d6a56",
"model_id": "7abeec6497ce46eeab7000b7e8d5179f",
"version_major": 2,
"version_minor": 0
},
Expand Down Expand Up @@ -415,7 +415,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "274cd53e0e4e4fab9b7d3709e3efe9df",
"model_id": "444bb88e33c648799f0407d09b9159d5",
"version_major": 2,
"version_minor": 0
},
Expand Down Expand Up @@ -457,11 +457,11 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Start HB analysis 09:01:04.490783\n",
"Start WB analysis 09:01:07.829875\n",
"Start collecting IFPs: 09:01:35.889706\n",
"Start building IFP table: 09:03:28.889941\n",
"IFP database is ready 09:03:28.940912\n"
"Start HB analysis 17:21:13.827890\n",
"Start WB analysis 17:21:17.652695\n",
"Start collecting IFPs: 17:22:04.597717\n",
"Start building IFP table: 17:23:40.905384\n",
"IFP database is ready 17:23:40.967349\n"
]
},
{
Expand Down Expand Up @@ -2499,7 +2499,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3cb5f0e397f7431a93f091083ed2c1a2",
"model_id": "f9f7b2ee1a4043ef94d1db9749d42f18",
"version_major": 2,
"version_minor": 0
},
Expand Down Expand Up @@ -2560,17 +2560,17 @@
"output_type": "stream",
"text": [
"{'Donor': ['O4', 'C6', 'N8', 'N10', 'C12'], 'Acceptor': ['C2', 'C6', 'N10', 'C19'], 'PosIonizable': ['C9', 'C6', 'C7', 'O4', 'C11'], 'Aromatic': ['O4', 'C7', 'C6', 'C9', 'C11', 'C12', 'H7', 'C31', 'H12', 'H9', 'C1', 'C2', 'N3', 'C11', 'C9', 'C5', 'N10', 'C21', 'C20', 'C18', 'C31', 'H7', 'C13', 'C16', 'C15', 'N14', 'C23', 'C24', 'C25', 'C26', 'C27', 'C28', 'C29', 'N30'], 'Hydrophobe': ['C5', 'C13', 'N14', 'C15', 'C16', 'C18', 'C20', 'C23', 'C24', 'C25', 'C26', 'C27', 'C28', 'C29', 'N30', 'C31', 'H12'], 'LumpedHydrophobe': ['C13', 'C16', 'C15', 'N14', 'C23', 'C24', 'C25', 'C26', 'C27', 'C28', 'C29', 'N30']}\n",
"Start HB analysis 09:03:39.984259\n",
"Start WB analysis 09:03:40.275094\n",
"Start collecting IFPs: 09:03:40.931716\n",
"Start building IFP table: 09:03:41.687284\n",
"IFP database is ready 09:03:41.689284\n",
"Start HB analysis 17:23:51.228455\n",
"Start WB analysis 17:23:51.448328\n",
"Start collecting IFPs: 17:23:52.024998\n",
"Start building IFP table: 17:23:53.113372\n",
"IFP database is ready 17:23:53.116371\n",
"\n",
" -------------------- Contacts found: --------------------\n",
"\n",
"Hydrophobic contacts: ['HY_ASN51', 'HY_ALA55', 'HY_MET98', 'HY_LEU107', 'HY_ALA111', 'HY_PHE138', 'HY_THR184']\n",
"\n",
"Aromatic contacts: ['AR_PHE138', 'AR_TRP162', 'AR_PHE170']\n",
"Aromatic contacts: ['AR_PHE22', 'AR_PHE138', 'AR_TYR139', 'AR_TRP162', 'AR_PHE170']\n",
"\n",
"Water Bridges: ['WB_GLN23']\n",
"\n",
Expand Down Expand Up @@ -2645,6 +2645,7 @@
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>time</th>\n",
" <th>AR_PHE22</th>\n",
" <th>WB_GLN23</th>\n",
" <th>HY_ASN51</th>\n",
" <th>HY_ALA55</th>\n",
Expand All @@ -2653,6 +2654,7 @@
" <th>HY_ALA111</th>\n",
" <th>AR_PHE138</th>\n",
" <th>HY_PHE138</th>\n",
" <th>AR_TYR139</th>\n",
" <th>AR_TRP162</th>\n",
" <th>AR_PHE170</th>\n",
" <th>HY_THR184</th>\n",
Expand All @@ -2674,18 +2676,23 @@
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time WB_GLN23 HY_ASN51 HY_ALA55 HY_MET98 HY_LEU107 HY_ALA111 \\\n",
"0 0 1 1 1 1 1 1 \n",
" time AR_PHE22 WB_GLN23 HY_ASN51 HY_ALA55 HY_MET98 HY_LEU107 \\\n",
"0 0 1 1 1 1 1 1 \n",
"\n",
" AR_PHE138 HY_PHE138 AR_TRP162 AR_PHE170 HY_THR184 WAT \n",
"0 1 1 1 1 1 6 "
" HY_ALA111 AR_PHE138 HY_PHE138 AR_TYR139 AR_TRP162 AR_PHE170 \\\n",
"0 1 1 1 1 1 1 \n",
"\n",
" HY_THR184 WAT \n",
"0 1 6 "
]
},
"execution_count": 15,
Expand Down Expand Up @@ -2715,13 +2722,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Showing residues: 23 51 55 98 107 111 138 138 162 170 184 \n"
"Showing residues: 22 23 51 55 98 107 111 138 138 139 162 170 184 \n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7c7a5452feab42d7b19746f244f76bbe",
"model_id": "907adf8122a34077910b18c965d839a1",
"version_major": 2,
"version_minor": 0
},
Expand All @@ -2744,11 +2751,11 @@
]
},
{
"cell_type": "code",
"execution_count": null,
"cell_type": "markdown",
"metadata": {},
"outputs": [],
"source": []
"source": [
"##### "
]
}
],
"metadata": {
Expand Down
168 changes: 118 additions & 50 deletions IFP_generation_examples_TRAJ.ipynb

Large diffs are not rendered by default.

22 changes: 14 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# MD-IFP: MD trajectory analysis using protein-ligand Interaction Fingerprints
## A Python Workflow for the Generation and Analysis of Protein-Ligand Interaction Fingerprints from Molecular Dynamics trajectories
### v.1.01
### 03.05.2020
### v.1.1
### 19.09.2020

## Associated publications:
1. IFP analysis of dissociation trajectories for 3 compounds of HSP90 reported in the paper

D. B. Kokh, B. Doser, S. Richter, F. Ormersbach, X. Cheng , R.C. Wade "A Workflow for Exploring Ligand Dissociation from a Macromolecule: Efficient Random Acceleration Molecular Dynamics Simulation and Interaction Fingerprints Analysis of Ligand Trajectories" J. Chem Phys.(2020) 158 doi: 10.1063/5.0019088; https://arxiv.org/abs/2006.11066
D. B. Kokh, B. Doser, S. Richter, F. Ormersbach, X. Cheng , R.C. Wade "A Workflow for Exploring Ligand Dissociation from a Macromolecule: Efficient Random Acceleration Molecular Dynamics Simulation and Interaction Fingerprints Analysis of Ligand Trajectories" J. Chem Phys.(2020) 158 125102 doi: 10.1063/5.0019088; https://arxiv.org/abs/2006.11066

was implemented in __IFP_generation_examples_Analysis.ipynb__

Expand All @@ -33,11 +33,13 @@ Schloss-Wolfsbrunnenweg 35
*This open source software code was developed in part in the __Human Brain Project__, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under Specific Grant Agreements No. 785907 (Human Brain Project SGA2).*

## __Packages requirements:__
__Python 3.x__: we strongly reccomend to create conda envirenment (see https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)
__Python 3.x__

__Python Libraries:__ numpy; pandas; matplotlib; seaborn; RDkit; sklearn; scipy; ngview; (installation of ngview can be tricky, the following way may work: after installation of the Python envirenment - conda install -c conda-forge nglview=2.7.1 and then jupyter-nbextension enable nglview --py --sys-prefix)

__MDAnalysis Version: 0.20.1__ (Important: an old module for H-bond analysis is currently used, it will be removed in version 2.0 )
__Python Libraries:__
1. numpy; pandas; matplotlib; seaborn; sklearn; scipy;
2. __RDkit__
3. __ngview__ - used for visualization (installation of ngview can be tricky, the following way may work: after installation of the Python envirenment - conda install -c conda-forge nglview=2.7.1 and then jupyter-nbextension enable nglview --py --sys-prefix). If you don't need visualization, you can skip this, but JN must be edited accordingly
4. __MDAnalysis Version: 0.20.1__ (Important: an old module for H-bond analysis is currently used, it will be removed in version 2.0 )

__Chimera__ - only for the scripts used for preprocessing pdb files (structure protonation and generation of the ligand mol2 file); not required if protonation and mol2 file are already prepared by a user)

Expand All @@ -62,7 +64,8 @@ __chimera_hydrogen_mol2.py__ - generation of ligand mol2 file
## Application examples (folder Examples):

1. Generation of the IFP databease for a single MD trajectory of a protein-ligand complex
1. IFP.py - Generation of the IFP databease for a single MD trajectory of a protein-ligand complex
2. IFP_contacts_quickView.py - generation of a plot with average IFPs extracted from a trajectory

## Test Examples as Python Jupyter Notebooks :

Expand Down Expand Up @@ -93,3 +96,6 @@ This example shows how RAMD dissociation trajectories can be analyzed using pre-

*This plot illustrates ligand dissociation pathways in a graph representation derived from clustering ligand trajectories in IFP space and plotting them with respect to the ligand COM from the initial bound position.*

### IV. __MD-IFP_test.ipynb:__

JN designed for validation of the IFP sctipt on 40 PDB complexes (used in paper J. Chem. Phys. 2020)
Loading

0 comments on commit e0561c3

Please sign in to comment.