ProtoCaller¶
About¶
ProtoCaller is a Python library which enables controlled automation of relative protein-ligand binding free energy calculations in GROMACS. ProtoCaller uses a variety of tools to automate the free energy calculation process, such as: Biopython, BioSimSpace, CHARMM-GUI, (optionally) Modeller, Open Babel, ParmEd, PDB2PQR, pdbfixer, RDKit.
ProtoCaller can be run on both Linux and macOS. Installation is easy and performed through Conda. Please check the other sections for further information.
Installation¶
This package is distributed via Conda. To install it, run the following command:
conda install -c conda-forge -c omnia -c michellab -c essexlab protocaller
The development version can be installed with this command (use with caution):
conda install -c conda-forge -c omnia -c michellab -c essexlab/label/dev protocaller
The newest version (1.2.0) is highly recommended due to recent database overhauls in the Protein Data Bank.
Getting Started¶
System preparation constitutes the larger part of ProtoCaller. Central to system preparation is the
Ensemble
class, which is partitioned into a Protein
and a PerturbationList
. A PerturbationList
consists of
multiple Perturbation
s and each Perturbation
contains two
Ligand
s. Each Protein
and
Ligand
depends on the force field Params
. Finally,
a Protein
also contains a PDB
object, which is divided into
Chain
s. Chain
s are split into
Residue
s and Residue
s into
Atom
s, containing all the important information from a PDB file. Sometimes a
PDB
also contains one or more MissingResidue
s and/or
MissingAtoms
. The whole dependency tree can be visualised here:
Afterwards, it is possible to run the generated files through some simple wrappers. Simulations in GROMACS are done
through the RunGMX
class, which consists of several
Protocol
s which describe the different stages of the free energy simulation,
e.g. minimisation, equilibration and production.
For more information you can look at the full docstring documentation. There are also a few examples which you can run to see how ProtoCaller works.