Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge release to develop #263

Merged
merged 3 commits into from
Dec 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Meeko: interface for AutoDock

[![API stability](https://img.shields.io/badge/stable%20API-no-orange)](https://shields.io/)
[![PyPI version fury.io](https://img.shields.io/badge/version-0.6.0-green.svg)](https://pypi.python.org/pypi/meeko/)
[![PyPI version fury.io](https://img.shields.io/badge/version-0.6.1-green.svg)](https://pypi.python.org/pypi/meeko/)
[![Documentation Status](https://readthedocs.org/projects/meeko/badge/?version=release)](https://meeko.readthedocs.io/en/release/?badge=release)

Meeko prepares the input for AutoDock and processes its output.
Expand Down
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
Batched Ligand Preparation from a ``.smi`` File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For virtual screening, it is possible to prepare ligands in batch mode 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``:
For virtual screening, it is possible to prepare ligands in batch mode 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 reused 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 histidine (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
Loading