PoseBusters: Plausibility checks for generated molecule poses.

PoseBusters is a command line tool and Python library to check the output of molecular conformation generators, docking programs, or other programs that generate molecules in 3D.

Quick start

PoseBusters can be installed from PyPI.

>>> pip install posebusters

Use the bust command to check molecules, docked ligands or generated molecules conditioned on a protein.

>>> bust redocked_ligand.sdf -l crystal_ligand.sdf -p protein.pdb --outfmt short
redocked_ligand.sdf redocked_ligand  passes (25 / 25)
...
>>> bust redocked_ligand.sdf -l crystal_ligand.sdf -p protein.pdb --outfmt long
Long summary for redocked_ligand.sdf redocked_ligand
MOL_PRED loaded                          .   
MOL_TRUE loaded                          .   
MOL_COND loaded                          .   
Sanitization                             .   
All atoms connected                      .   
Molecular formula                        .   
Molecular bonds                          .   
Double bond stereochemistry              .   
Tetrahedral chirality                    .   
Bond lengths                             .   
Bond angles                              .   
...
>>> bust redocked_ligand.sdf -l crystal_ligand.sdf -p protein.pdb --outfmt csv
file,molecule,mol_pred_loaded,mol_true_loaded,mol_cond_loaded,sanitization,all_atoms_connected,molecular_formula,molecular_bonds,double_bond_stereochemistry,tetrahedral_chirality,bond_lengths,bond_angles,internal_steric_clash,aromatic_ring_flatness,double_bond_flatness,internal_energy,protein-ligand_maximum_distance,minimum_distance_to_protein,minimum_distance_to_organic_cofactors,minimum_distance_to_inorganic_cofactors,minimum_distance_to_waters,volume_overlap_with_protein,volume_overlap_with_organic_cofactors,volume_overlap_with_inorganic_cofactors,volume_overlap_with_waters,rmsd_≤_2å
redocked_ligand.sdf,redocked_ligand,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True
...

For more usage examples, bulk processing, and the Python API see the documentation for the command line tool and the Python library.

Docking methods comparison

For more detailed information about the tests and for a study using PoseBusters to compare docking methods, refer to our preprint:

@online{buttenschoen2023posebusters,
   title = {{{PoseBusters}}: {{AI-based}} Docking Methods Fail to Generate Physically Valid Poses or Generalise to Novel Sequences},
   shorttitle = {{{PoseBusters}}},
   author = {Buttenschoen, Martin and Morris, Garrett M. and Deane, Charlotte M.},
   date = {2023-08-10},
   eprint = {2308.05777},
   eprinttype = {arxiv}
}

Sample checks

For more information on the checks, see Checks.

Steric clash

Bad:

Internal clash fail

Molecule intertwined and atoms clashing

Good:

Internal clash true

Aromatic rings flatness

Bad:

Flat aromatics fail

Conjugated pi bond systems should be flat

Good:

Flat aromatics true

Volume overlap

Bad:

Volume overlap fail

Ligand and receptor clash

Good:

Volume overlap true

For more information on the checks, see Checks.

Contents