GithubHelp home page GithubHelp logo

martimunicoy / peleffy-benchmarks Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 41.62 MB

A compilation of benchmarks to validate the parameterization of peleffy (PELE Force Field Yielder).

License: MIT License

Shell 0.07% Python 5.55% Jupyter Notebook 94.38%
pele benchmarks forcefield-parameterization openforcefield

peleffy-benchmarks's People

Contributors

laumalo avatar martimunicoy avatar

Watchers

 avatar  avatar

peleffy-benchmarks's Issues

Structural benchmark

Description

This benchmark evaluates the geometries resulting from a PELE minimization.

Remarks

Dataset

Several sources are available:

  • Machinery to download graph molecules from newer OpenFF QCArchive datasets (Must have CMILES)
  • Full molecule dataset, with energies, in mol2 format for recent forcefield fits. Will be inside fb-fit/targets folders. Technical details of fit here

Molecule alignment and RMSD calculation

We need to find a way to align the structure with reference and calculate the RMSD. There are several ways that could be employed for this purpose:

  • OpenEye: RMSD + alignment code is in benchmarkFF
  • Example of aligning multiple CONFORMERS of a SINGLE molecule in RDKit
  • Method to align multiple RDKit molecules

Structural benchmark to validate new dihedrals equation

Description

The purpose of this benchmark is to fully validate the implementation of the new dihedrals equation to make PELE compatible with openFF (issue with more details).

Workflow

  • Take several structures from QCPortal that have been optimized with QM.
  • Filter structures to keep only those that employ one of the OpenFF dihedrals with a non null phase constant.
  • Save optimized structures to PDB files.
  • Use PELE to minimize these PDB files.
  • RMSD comparison between PELE and QM minimized structures.

If the energetic equation, gradient and hessian of the new dihedrals approach is implemented correctly in PELE, we would expect that its minimized structures do not deviate from the ones used as input coming from QM.

Protein benchmark

Description

This issue wraps all the discussions related with the protein benchmark of OpenFF in PELE.
The first tests will check the energetic profiles when running some well-studied systemes in OpenFF (small molecules) + OPLS2005 and AMBER99sf0BSC (protein residues). We will start working with the some UPOs.

Hydration energies benchmark

Description

This benchmark evaluates the implicit solvent implementation by predicting the hydration free energy on a database of compounds with reported experimental data (FreeSolv).

Remarks

offpele version

Please, note that several changes have been introduced to offpele in order to have good performance in this benchmark as much as possible. Thus, we should use, at least, version 0.3.0 or newer.

Requirements

When using OPLS parameters we need access to Schrodinger's ffld_server. For this reason, PELE needs to know the path to Schrodinger's installation folder. This path must be set with an environment variable before calling offpele. Otherwise, offpele will complain when trying to execute the ffld_server. The environment variable that is required is:

export SCHRODINGER='/path/to/Schrodinger/installation/schrodinger2020-2

How to manage parameters

Now, we can assign parameters from two different sources. By default, the main source is the Open Force Field Toolkit. However, we can use OPLS2005' nonbonding parameters with the command below:

python offpele/main.py input_ligand.pdb --use_OPLS_nonbonding_params

or

molecule = Molecule('input_ligand.pdb')
molecule.parameterize('openff_unconstrained-1.2.0.offxml', use_OPLS_nonbonding_params=True)

The OPLS2005 parameters can be also assigned to bonds and angles. In this case, we need the following command:

python offpele/main.py input_ligand.pdb --use_OPLS_nonbonding_params --use_OPLS_bonds_and_angles

or

molecule = Molecule('input_ligand.pdb')
molecule.parameterize('openff_unconstrained-1.2.0.offxml', use_OPLS_nonbonding_params=True, use_OPLS_bonds_and_angles=True)

Finally, different charge methods can also be defined with the following commands:

python offpele/main.py input_ligand.pdb --charges_method 'charges_method_name'

or

molecule = Molecule('input_ligand.pdb')
molecule.parameterize('openff_unconstrained-1.2.0.offxml', charges_method='charges_method_name')

The list of available charges methods (charges_method_name) is:

  • gasteiger
  • am1bcc
  • OPLS

Benchmark

The following scenarios should be benchmarked:

  • Standard PELE with OPLS2005 parameters and the VDGBNP implicit solvent (use PlopRotTemp in this case)
  • Standard PELE with OPLS2005 parameters and the OBC implicit solvent (use PlopRotTemp in this case.
  • PELE with OFF parameters, the OBC implicit solvent and gasteiger charges.
  • PELE with OFF parameters, the OBC implicit solvent and am1bcc charges.
  • PELE with OFF parameters, the OBC implicit solvent and OPLS charges.
  • PELE with OFF bonding parameters, the OPLS2005 non-bonding parameters, VDGBNP implicit solvent and OPLS charges.
  • PELE with OFF dihedral parameters, the OPLS2005 non-bonding, bond and angle parameters, VDGBNP implicit solvent and OPLS charges.
  • PELE with OFF bonding parameters, the OPLS2005 non-bonding parameters, VDGBNP implicit solvent and am1bcc charges.
  • PELE with OFF dihedral parameters, the OPLS2005 non-bonding, bond and angle parameters, VDGBNP implicit solvent and am1bcc charges.

Maybe other protocols can also be interesting.

Extra

  • Develop methods to automatically plot the regressions and histograms of this benchmark

Minimization benchmark

The following error appeared when running a PELEMinimization.

  what():  /!\ Error in SparseAtomsGenerator::findMinimumDistanceToTreeRoot: Finding minimum in empty distanceToTreeRoot list!!
sh: línea 1: 70797 Abortado                (`core' generado) /home/municoy/builds/PELE/PELE-repo_serial/PELE-1.6 /tmp/tmpywdbmix2/minimization.conf > PELE_output.txt

for the ligand 1.pdb from the 'Kinase Inhibitors: WBO Distributions' set (QCPortal)

Example on running a PELeMinimizer: Example
1.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.