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.