Meeko
Meeko prepares the input for vina and processes its output
Introduction
It is developed jointly with AutoDock-GPU and AutoDock Vina.
Meeko parameterizes both small organic molecules (ligands) and proteins and nucleic acids (receptors).
Meeko exposes a Python API to allow scripting.
Working environment
uv init meeko -p 3.11 --name meeko-project
cd meeko
uv add meeko molscrub urllib3Basic docking
This is a basic docking example that uses the AutoDock Vina executable to run a basic docking of a flexible small drug-like molecule onto a rigid protein receptor.
In this example, a small molecule ligand (Imatinib, PDB token STI) is docked back to a hollow protein structure of mouse c-Abl (PDB token 1IEP) to reproduce the complex structure. A docked pose that closely resembles the original position of the ligand is expected among the top-ranked poses.
Imatinib is a small kinase-inhibiting molecule that revolutionized cancer treatment, particularly chronic myeloid leukemia, in 2001. It was considered a “miracle drug” due to its clinical success.
In this link you have the script that we will create: basic.py
Ligand Preparation
Ligand preparation is the process that generates the input ligand PDBQT files for the docking and virtual screening calculation.
You can find the SMILES string for Imatinib in several reliable chemical databases, including PubChem and DrugBank.
Create the file basic.py:
# Ligand Preparation
=
=
])scrub.py is a command-line script from Scrubber that generates 3D conformers of protomers and tautomers for given small molecules at a specific pH (or pH range).
Given a pH range of 5 to 9, the output protomers will include those that constitute no less than 1% of the total population at pH = 7. Based on the reference pKa values, the amine nitrogens and the pyridine nitrogen will be considered for acid/base enumeration.
The output file imatinib.sdf will contain two Imatinib protomers, one with a neutral pyridine group and the other with a pyridinium group (+1). All aliphatic ammonium nitrogens will be protonated.
Scrub completed.
Summary of what happened:
Input molecules supplied: 1
mols processed: 1, skipped by rdkit: 0, failed: 0
nr isomers (tautomers and acid/base conjugates): 2 (avg. 2.000 per mol)
nr conformers: 2 (avg. 1.000 per isomer, 2.000 per mol)The molscrub library installs the scrub.py script in the .venv/Scripts/ directory.
Therefore, this script is not on the “path” and we run it through a subprocess
The output file imatinib.sdf will contain two Imatinib protomers, one with a neutral pyridine group and the other with a pyridinium group (+1). All aliphatic ammonium nitrogens will be protonated.
That is, the scrub.py script generates 3D forms of the same molecule taking into account the pH.
Key ideas:
-
Tautomers → the same molecule, but with the hydrogens placed differently (small internal changes)
-
Protomers → the same molecule with more or fewer H⁺ (depends on the pH)
-
What happens with pH 5–9? The program calculates which forms are realistic at pH 7 and keeps only those that have ≥ 1% presence
A molecule is not a single fixed thing. It is a small set of possible forms… and the program gives you the ones that really matter under biological conditions.
If you have ever wondered why a drug works in one place and not in another — often this is why.
In the case of Imatinib** it comes out with 2 main forms:
-
Neutral pyridine → the nitrogen does NOT have a proton
-
Pyridinium (+1) → the nitrogen HAS captured a proton (H⁺)
(Pyridine → Pyridinium)
Ligand preparation.
Next we will use the mk_prepare_ligand.py script to prepare the ligand.
In this link you have the options that the script accepts: mk_prepare_ligand.py options
Estás leyendo una vista previa.
Inicia sesión para leer el artículo completo. Cualquier cuenta abre 4 artículos gratuitos al mes; el alumnado y el profesorado leen las páginas de su curso sin límite.
Iniciar sesión