By-molecule ForceBalance Experiment

This page contains an overview of the projects/studies aimed at improving the FF optimization process in general. Specific features and decisions made for each FF optimization cycle should be recorded in Force Field Releases.

 

Overview

Overview

  • Optimization scheme that fits a single torsion target in a ForceBalance run

 

 

 

Experiment

 

Experiment

 

Select single molecule and run FB optimization fitting only TIG0 (general torsion parameter)

The selected target is:
td_OpenFF_Group1_Torsions_717_C7H9N3O

-General torsion ID with wildcards in every bond and atom

 

Select single molecule and run FB optimization fitting only TIG-fit0

Smirks: [:1]~[#6X3:2]~!@[#6X3:3]~[:4]

Issues with parameter matching

Iterate through single molecule and run FB optimization fitting only TIG-fit0

Smirks for TIG-fit0: [:1]~[#6X3:2]~!@[#6X3:3]~[:4]

  • Fixed issue with parameter matching

Workflow:

Code is here: Workflow:

  • Check if torsion drive matches the indices of the TIG-fit0

  • Run force balance fit for each torsion

  • Plot the QM, MM iteration 0, MM iteration 1 of the torsions

 

 

  • TIG-fit0, uses starting values from t44 parameter

 

 

Torsion Barrier versus k value:

A comparison of the torsion barrier and the kvalue. The torsion barrier is determined by an algorithm which checks the slope of a torsion drive record and pulls the maximum. The k value is determined by a single molecule force balance run that fits a general torsion which is applied 4x fold around a single torsion.

Substituted Phenyl Dataset:

OpenFF 1.2.0 Training Datasets and Substituted Phenyl Dataset:

 

Perform steric filtering on molecules:

Determine the torsion ID using the entry_label from the metadata in the targets folder.

import qcportal as ptl
client = ptl.FractalClient()
ds = client.get_collection("TorsionDriveDataset", "OpenFF Substituted Phenyl Set 1")
ds.status(status="COMPLETE")
entry = ds.get_entry(entry_label)
entry.object_map['default']

 

 

Additional targets in fitting experiment:

Original fitting experiment used only the gen 2 torsions and the substituted phenyl dataset. These plots include also the primary benchmark dataset, group1 torsions, and the Rowley dataset.

Fitting experiment for non-ring torsions:

Steric filtered:

 

Non-steric filtered:

 

Fitting experiment for general C~C torsion:

Steric filtered:

 

Non-steric filtered: