2021-03-26 Schrodinger benchmarking test session notes

Date

Mar 26, 2021

Participants

  • @Jeffrey Wagner

  • Kaushik Lakkaraju

  • Bill Swope

  • @David Hahn

  • @Lorenzo D'Amore

  • Xavier Lucas

Discussion topics

Commands for getting set up with Schrodinger openff-benchmark branch

 

General notes are here: https://github.com/openforcefield/openff-benchmark/pull/63  


If not done yet, follow the installation procedures to create the openff-benchmark-optimization environment described in Deployment Procedure document

1. Clone the existing benchmarking conda environment

conda create -n openff-benchmark-dev --clone openff-benchmark-optimization

  • Activate the new environment

conda activate openff-benchmark-dev

  • Remove the old version of the benchmarking tools

conda remove --force openff-benchmark

  • Clone the schrodinger branch repository

mkdir temp-schrodinger

cd temp-schrodinger

git clone https://github.com/openforcefield/openff-benchmark

cd openff-benchmark

  • Change to the directory and checkout the schrodinger branch

git checkout schrodinger

git pull

2. Install the new version of the benchmarking tools

pip install -e .

  • Check the installation was successful

openff-benchmark schrodinger --help

3. Run the schrodinger workflow on a subset of the burn-in set

Relatively recent schrodinger version needed, it has been tested with 2020-2 and 2020-4, may work with 2021, but not sure.

  • Check the $SCHRODINGER env variable is set correctly

echo $SCHRODINGER

  • Run without custom parameters

openff-benchmark schrodinger optimize 4-compute-qm/b3lyp-d3bj/dzvp/


Note: you won’t be allowed to run the command twice, unless you specify --delete-existing, or run rm -r on the output directory

  • Convert the output from the optimization back to our dataset format 

Initial energy is not yet calculated in schrodinger optimization. We may add this before release

openff-benchmark schrodinger postprocess -o 4-compute-mm ./8-schrodinger-mm-default/mmod_output.maeg

 

Note: Hosts used for subjobs can be changed. It should be a queue/host name (openff-benchmark schrodinger optimize --host 'argument')

 

  • Build custom parameters

Default output directory is 7-schrodinger_ffb, it can be modified adding -o/ --output-path 'argument'

Note: the schrodinger paths needed for this step may not exist by default, it may be necessary for you to open maestro to get the necessary directories pre-made

openff-benchmark schrodinger ffbuilder ./4-compute-qm/b3lyp-d3bj/dzvp


This could end up making a really large ffbuilder job. It may be best to split it into smaller jobs by specifying smaller subsets of files like.

for i in `seq 1 9`; do
openff-benchmark schrodinger ffbuilder ./4-compute-qm/b3lyp-d3bj/dzvp/TST-0000*.sdf
done

  • Merge the parameters in the custom parameter path

openff-benchmark schrodinger ffmerge ./7-schrodinger_ffb/ 

 

  • To run custom parameters do the same step as before but giving the path of the custom parameter directory

openff-benchmark schrodinger optimize --opls-dir ~/.schrodinger/opls_dir/ ./4-compute-qm/b3lyp-d3bj/dzv

 

4. Post processing once the optimization is done

 

  • The output files mmod_output.maegz in the respective directories are postprocessed with the commands:

openff-benchmark schrodinger postprocess -o 4-compute-mm 8-schrodinger-mm-default/mmod_output.maegz

and

openff-benchmark schrodinger postprocess -o 4-compute-mm 9-schrodinger-mm-custom/mmod_output.maegz

 

This will save the postprocessed SDF files in 4-compute-mm/opls3e_default or 4-compute-mm/opls3e_custom. If these directories exist already and you want to replace the data, you need to run the commands with the option --delete-existing.

 


Notes

KL -- In the 4-compute-qm directory, each molecule has 5-10 conformers. Despite the fact that each molecule has many conformers, the schrodinger optimizer will only optimize each once?

DH -- The ffbuilder command just takes one conformer of each species. 

KL -- Do we know if schrodinger internally scans the conformations?

DH -- I suspect they do, since their ffbuilder scans conformations

KL -- I’m curious about what happens if many molecules are from the same chemotype?

DH -- If the same fragment comes up repeatedly for many molecules in a set, then I’d expect schrodinger to only do the QM once.

KL -- That’s actually a recent development. Before, ffbuilder would run redundant jobs. 

BS -- Which kind of parameters are generated? Torsions parameters?

DH -- In Maestro there’s the possibility to visualize exactly which parameters are fitted. Additional informations are also given in the openff-benchmark schrodinger std output

KL -- My OPLS3e and 4 fits are incompatible. So I’m running a script on the side to turn my 3e results into 4 format. 

DH -- The QM data should be reusable, but the resulting parameters may be different. 

KL -- would be keen to try this with Schrodinger 2021

DH -- custom parameters directories might change between versions and maybe it doesn’t work but this can be fixed in the future.



Action items

@David Hahn will check whether the postprocess step’s default output directory is set / help text is accurate

Decisions