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 a chemoinformatics molecule object (currently Open Babel) and writes a string (or file) in PDBQT format for use with 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.

About

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

Dependencies

  • Python (>=3.5)
  • Numpy
  • Openbabel (>=3)
  • RDKit

Installation (from PyPI)

$ pip install meeko

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 meeko import obutils

input_molecule_file = 'example/BACE_macrocycle/BACE_4.mol2'
mol = obutils.load_molecule_from_file(input_molecule_file)

preparator = MoleculePreparation(keep_nonpolar_hydrogens=False, 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)

# alternatively, read the .dlg file directly
pdbqt_mol = PDBQTMolecule.from_file("docked.dlg", is_dlg=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")

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.2.tar.gz (54.0 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.2-py3-none-any.whl (77.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: meeko-0.2.tar.gz
  • Upload date:
  • Size: 54.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.12

File hashes

Hashes for meeko-0.2.tar.gz
Algorithm Hash digest
SHA256 699dfca9b57dbe646dcc47c147a5ba538a9eeeb6f16f48d2712692b7bf90904d
MD5 850596c9b2bc8ec15259375f4f66fba1
BLAKE2b-256 232436f5b53aa74cd50f5e6cea8d5d5f3b99b6f3ea1e2a059d13f5f8d51a0624

See more details on using hashes here.

File details

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

File metadata

  • Download URL: meeko-0.2-py3-none-any.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.12

File hashes

Hashes for meeko-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 04fabc5b35550f37a9a9e02f8972662a9a97b0a917b36dbd6a3ce2d8164af3d4
MD5 08ec7ee349d51907df8d8f49790d9277
BLAKE2b-256 f1b6fe6205ca310917d121b6f96259c845d94ef627d7473fc2bd119235b5b8d3

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