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.

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 .

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(macrocycle=True, hydrate=True)
preparator.prepare(mol)
preparator.show_setup()

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

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.0.tar.gz (62.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meeko-0.3.0-py3-none-any.whl (81.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: meeko-0.3.0.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for meeko-0.3.0.tar.gz
Algorithm Hash digest
SHA256 dadeabab8765aead4a70f553f2983fdb9eec7a43efa8effcd8bbdd7e51188c5c
MD5 64cf3d27d83cba406c3317f8debd7ae2
BLAKE2b-256 1be5ff954b3fbef337ac7cd0d29ebab8864385aad66fe528aae73d05604dddfd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: meeko-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 81.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for meeko-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6d18cf95b208731bddae0b51970a1d6eb90651867330adbb49f1421929a218f
MD5 608b43a1d9b321fcd72e2536044a094d
BLAKE2b-256 15e4e0195c8d07d6c9226c9940ecb9164e6120e9502f64bee2a6303fb0a75ca1

See more details on using hashes here.

Supported by

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