Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Python package for preparing small molecule for docking

Project description

Meeko: preparation of small molecules for AutoDock

License API stability PyPI version fury.io

Meeko reads an RDKit molecule object and writes a PDBQT string (or file) for AutoDock-Vina and AutoDock-GPU. Additionally, it has tools for post-processing of docking results which are not yet fully developed. Meeko supports the following features:

  • Docking with explicit water molecules attached to the ligand (paper)
  • Sampling of macrocyclic conformations during docking (paper)
  • Creation of RDKit molecules with docked coordinates from PDBQT or DLG files without loss of bond orders.

Meeko is developed by the Forli lab at the Center for Computational Structural Biology (CCSB) at Scripps Research.

Recent changes

The --pH option was removed since v0.3.0. See issue https://github.com/forlilab/Meeko/issues/11 for more info.

Dependencies

  • Python (>=3.5)
  • Numpy
  • Scipy
  • RDKit

Conda or Miniconda can install the dependencies:

conda install -c conda-forge numpy scipy rdkit

Installation (from PyPI)

$ pip install meeko

If using conda, pip installs the package in the active environment.

Installation (from source)

$ git clone https://github.com/forlilab/Meeko
$ cd Meeko
$ pip install .

Optionally include --editable. Changes in the original package location take effect immediately without the need to run pip install . again.

$ pip install --editable .

Usage notes

Meeko does not calculate 3D coordinates or assign protonation states. Input molecules must have explicit hydrogens.

Examples using the command line scripts

mk_prepare_ligand.py -i molecule.sdf -o molecule.pdbqt
mk_prepare_ligand.py -i multi_mol.sdf --multimol_outdir folder_for_pdbqt_files
mk_copy_coords.py vina_results.pdbqt -o vina_results.sdf
mk_copy_coords.py adgpu_results.dlg -o adgpu_results.sdf

Quick Python tutorial

1. flexible macrocycle with attached waters

from meeko import MoleculePreparation
from rdkit import Chem

input_molecule_file = 'example/BACE_macrocycle/BACE_4.mol2'
mol = Chem.MolFromMol2File(input_molecule_file)

preparator = MoleculePreparation(hydrate=True) # macrocycles flexible by default since v0.3.0
preparator.prepare(mol)
preparator.show_setup()

output_pdbqt_file = "test_macrocycle_hydrate.pdbqt"
preparator.write_pdbqt_file(output_pdbqt_file)

Alternatively, the preparator can be initialized from a dictionary, which is useful for saving and loading configuration files with json. The command line tool mk_prepare_ligand.py can read the json files.

import json
from meeko import MoleculePreparation

mk_config = {"hydrate": True}
print(json.dumps(mk_config), file=open('mk_config.json', 'w'))
with open('mk_config.json') as f:
    mk_config = json.load(f)
preparator = MoleculePreparation.from_config(mk_config)

2. RDKit molecule from docking results

Assuming that 'docked.dlg' was written by AutoDock-GPU and that Meeko prepared the input ligands.

from meeko import PDBQTMolecule

with open("docked.dlg") as f:
    dlg_string = f.read()
pdbqt_mol = PDBQTMolecule(dlg_string, is_dlg=True, skip_typing=True)

# alternatively, read the .dlg file directly
pdbqt_mol = PDBQTMolecule.from_file("docked.dlg", is_dlg=True, skip_typing=True)

for pose in pdbqt_mol:
    rdkit_mol = pose.export_rdkit_mol()

For Vina's output PDBQT files, omit is_dlg=True.

pdbqt_mol = PDBQTMolecule.from_file("docking_results_from_vina.pdbqt", skip_typing=True)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meeko-0.3.3.tar.gz (70.0 kB view details)

Uploaded Source

Built Distribution

meeko-0.3.3-py3-none-any.whl (89.1 kB view details)

Uploaded Python 3

File details

Details for the file meeko-0.3.3.tar.gz.

File metadata

  • Download URL: meeko-0.3.3.tar.gz
  • Upload date:
  • Size: 70.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for meeko-0.3.3.tar.gz
Algorithm Hash digest
SHA256 e6551b66e8bee7ddafa8dc95a05f4b5c6d745cf6466a2917bdc8ecf93e11dcf0
MD5 82726b4404edc6ac372130e0f7037fec
BLAKE2b-256 9742a9846a4bd8c90d8cf64857e183f3dc55f0553bad814a25ad9e454d51092b

See more details on using hashes here.

File details

Details for the file meeko-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: meeko-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 89.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for meeko-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4804fe7b84d9ff3572d3dd10d7cee819bc356f3164a644667aef0abfd9c95563
MD5 58c350bea60e21376a2583339aa10150
BLAKE2b-256 53aefb019569a4c5d74bcd83434261e41b322aacfae687f38b1c8596c24be8b2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page