Skip to content

Commit

Permalink
Merge pull request #237 from rwxayheee/fixup_tutfiles
Browse files Browse the repository at this point in the history
fixup tutorial files
  • Loading branch information
diogomart authored Nov 15, 2024
2 parents c938ebd + 7037050 commit 7880da1
Show file tree
Hide file tree
Showing 21 changed files with 70,099 additions and 19 deletions.
34 changes: 18 additions & 16 deletions docs/source/tutorial1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,13 @@ Install the additional packages and data from GitHub repositories
git clone --single-branch --branch develop https://github.com/forlilab/scrubber.git
cd scrubber; pip install --use-pep517 -e .; cd ..
- (Example files for this tutorial) Forlilab Tutorials
- (Example files for this tutorial) Meeko/example/tutorial1
Originally from `Forlilab tutorials <https://github.com/forlilab/tutorials>`_

.. code-block:: bash
git clone https://github.com/forlilab/tutorials.git
git clone --branch docwork --depth=1 --filter=tree:0 https://github.com/rwxayheee/Meeko.git
cd Meeko; git sparse-checkout set --no-cone example; git checkout; cd ..
Ligand Preparation
==================
Expand Down Expand Up @@ -79,11 +81,11 @@ In case there are multiple molecules in the SDF file, ``mk_prepare_ligand.py`` n
Prepare Ligands in Batch from a ``.smi`` File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In preparation for virtual screening, it is possible to prepare ligands in batch from a ``.smi`` File. There is one such example file at ``tutorials/imatinib/step-4/mols.smi`` from `Forlilab tutorials <https://github.com/forlilab/tutorials>`_. Follow the example commands to process ``mols.smi``:
In preparation for virtual screening, it is possible to prepare ligands in batch from a ``.smi`` File. There is one such example file at ``Meeko/example/tutorial1/input_files/mols.smi``. Follow the example commands to process ``mols.smi``:

.. code-block:: bash
smi_file="tutorials/imatinib/step-4/mols.smi"
smi_file="Meeko/example/tutorial1/input_files/mols.smi"
scrub.py $smi_file -o mols.sdf
At the end of the execution, the expected standard output will tell you the total number of isomers written to the multi-molecule SDF file ``mols.sdf``. This will help you estimate the expected file size and system requirements beforehand.
Expand Down Expand Up @@ -116,23 +118,23 @@ Docking with AutoDock-Vina requires the following receptor input files:
- Receptor PDBQT file
- (Optional) a TXT file that contains the box specifications, which can be re-used as the config file for Vina

Starting from a provided PDB file at ``tutorials/imatinib/step-3/1iep_protein.pdb`` from `Forlilab tutorials <https://github.com/forlilab/tutorials>`_, the generation of a Receptor PDBQT file is very straightforward:
Starting from a provided PDB file at ``Meeko/example/tutorial1/input_files/1iep_protein.pdb``, the generation of a Receptor PDBQT file is very straightforward:

.. code-block:: bash
pdb_file="tutorials/imatinib/step-3/1iep_protein.pdb"
pdb_file="Meeko/example/tutorial1/input_files/1iep_protein.pdb"
mk_prepare_receptor.py --read_pdb $pdb_file -o rec_1iep -p
Here, we use ``-o`` to set the basename of the output files to ``rec_1iep`` with request ``-p``. The execution will generate only the receptor PDBQT file, ``rec_1iep.pdbqt``.

Note that ``--read_pdb``, which uses the PDB parser in RDKit, is not the only way for ``mk_prepare_receptor.py`` to parse a receptor PDB file. The alternate is ``-i`` (short for ``--read_with_prody``) and it requires ProDy as an additional dependency. If you wish to use the ProDy parser, run ``pip install prody`` to install ProDy.

To generate the TXT file that has the box dimension, we must find a way to define the wanted docking box. In this example, we will use a provided PDB file of ligand Imatinib at ``tutorials/imatinib/step-3/xray-imatinib.pdb`` that has been aligned to the expected binding site of the provided receptor PDB file.
To generate the TXT file that has the box dimension, we must find a way to define the wanted docking box. In this example, we will use a provided PDB file of ligand Imatinib at ``Meeko/example/tutorial1/input_files/xray-imatinib.pdb`` that has been aligned to the expected binding site of the provided receptor PDB file.

.. code-block:: bash
pdb_file="tutorials/imatinib/step-3/1iep_protein.pdb"
lig_file="tutorials/imatinib/step-3/xray-imatinib.pdb"
pdb_file="Meeko/example/tutorial1/input_files/1iep_protein.pdb"
lig_file="Meeko/example/tutorial1/input_files/xray-imatinib.pdb"
mk_prepare_receptor.py --read_pdb $pdb_file -o rec_1iep -p -v \
--box_enveloping $lig_file --padding 5
Expand All @@ -156,8 +158,8 @@ To use the AutoDock4 Scoring Function in AutoDock-Vina, an additional step needs

.. code-block:: bash
pdb_file="tutorials/imatinib/step-3/1iep_protein.pdb"
lig_file="tutorials/imatinib/step-3/xray-imatinib.pdb"
pdb_file="Meeko/example/tutorial1/input_files/1iep_protein.pdb"
lig_file="Meeko/example/tutorial1/input_files/xray-imatinib.pdb"
mk_prepare_receptor.py --read_pdb $pdb_file -o rec_1iep -p -v -g \
--box_enveloping $lig_file --padding 5
Expand All @@ -183,8 +185,8 @@ Below is the sample command:

.. code-block:: bash
pdb_file="tutorials/imatinib/step-3/1iep_protein.pdb"
lig_file="tutorials/imatinib/step-3/xray-imatinib.pdb"
pdb_file="Meeko/example/tutorial1/input_files/1iep_protein.pdb"
lig_file="Meeko/example/tutorial1/input_files/xray-imatinib.pdb"
mk_prepare_receptor.py --read_pdb $pdb_file -o rec_1iep -p -g \
--box_enveloping $lig_file --padding 5
Expand All @@ -201,12 +203,12 @@ And the expected standard output will be:
Save a Receptor JSON File for Docking with Flexible and/or Reactive Residues
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Docking with flexible and/or reactive residues may require more files than basic docking, and ``mk_prepare_receptor.py`` is able to prepare those simultaneously when creating the receptor PDBQT file. The detailed procedure for Reactive Docking can be found in :ref:`tutorial2`. Here, we will use a different PDB file at ``tutorials/imatinib/step-3/2hzn_protein.pdb`` to showcase a simple docking preparation with flexible sidechains:
Docking with flexible and/or reactive residues may require more files than basic docking, and ``mk_prepare_receptor.py`` is able to prepare those simultaneously when creating the receptor PDBQT file. The detailed procedure for Reactive Docking can be found in :ref:`tutorial2`. Here, we will use a different PDB file at ``Meeko/example/tutorial1/input_files/2hzn_protein.pdb`` to showcase a simple docking preparation with flexible sidechains:

.. code-block:: bash
pdb_file="tutorials/imatinib/step-3/2hzn_protein.pdb"
lig_file="tutorials/imatinib/step-3/xray-imatinib.pdb"
pdb_file="Meeko/example/tutorial1/input_files/2hzn_protein.pdb"
lig_file="Meeko/example/tutorial1/input_files/xray-imatinib.pdb"
mk_prepare_receptor.py --read_pdb $pdb_file -o rec_2hzn -p -v -g -j \
--box_enveloping $lig_file --padding 5 \
-f A:286,359 --allow_bad_res
Expand Down
6 changes: 3 additions & 3 deletions docs/source/tutorial3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ The ligand of this example will be the covalent conjugate ``HIE_AMP``, where AMP
To prepare HIE-AMP (1-) as an covalent flexible residue, we will hold this SDF file for further mapping with the specific catalytic residue in receptor structure. In fact, the SDF file can be re-used for different Histidine residues in different receptor structures.

Receptor Preparation
====================
===================

The preparation of a rigid receptor consists of two steps. The receptor structure is first sourced from a PDB file and sent to ``reduce2.py`` for hydrogen addition and optimization, and then, the conversion to a tangible receptor PDBQT file is done by ``mk_prepare_receptor.py``.

Expand Down Expand Up @@ -139,7 +139,7 @@ For output control: We are expecting at least two types of files, the receptor P
3kgd_receptorH.box.pdb <-- PDB file to visualize the grid box
Covalent Ligand Preparation
===========================
========================

In this step, we will use mk_prepare_ligand.py to generate the PDBQT file for the covalent ligand. Along with the previously generated 3D conformer of the covalent ligand (``HIE_AMP.sdf``), which may be at an arbitrary position, here a reference protein PDB file (``3kgd_receptor.pdb``) will be used to source the positions of the attractor atoms, Cα and Cβ, to keep them unchanged in docking. The reference PDB file does not have to be the full receptor, but it must contain the target residue that matches exactly with ``rec_residue``. Additionally, a SMARTS pattern ``tether_smarts`` is required. Together with the 1-based ``tether_smarts_indices``, they are used to locate the attractor atoms that correspond to Cα and Cβ of a hisitidine (His) residue:

Expand Down Expand Up @@ -193,4 +193,4 @@ It is also possible to export the docking poses to a multi-model PDB file with u
--default_altloc A -f $flexres \
--box_enveloping "LIG.pdb" --padding 8.0
mk_export.py HIE_AMP.dlg -s 3kgd_HIE_AMP_adgpu_out.sdf -j 3kgd_receptorH.json -p 3kgd_HIE_AMP_adgpu_out.pdb
mk_export.py HIE_AMP.dlg -s 3kgd_HIE_AMP_adgpu_out.sdf -j 3kgd_receptorH.json -p 3kgd_HIE_AMP_adgpu_out.pdb
2 changes: 2 additions & 0 deletions example/tutorial1/boron-silicon-atom_par.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
atom_par Si 4.10 0.200 35.8235 -0.00143 0.0 0.0 0 -1 -1 6
atom_par B 3.84 0.155 29.6478 -0.00152 0.0 0.0 0 -1 -1 0
Loading

0 comments on commit 7880da1

Please sign in to comment.