SI2-SSE: Development of a Software Framework for Formalizing ForceField Atom-Typing for Molecular Simulation Christopher R. Iacovella1 and Janos Sallai2 1 Department of Chemical and Bimolecular Engineering, Vanderbilt University, 2 Institute for Software Integrated Systems, Vanderbilt University Problem Domain References Acknowledgements This research is supported by the National Science Foundation through awards ACI #1535150. The availability of forceﬁelds for molecular simulation has reduced the eﬀort researchers must devote to the diﬃcult and costly task of determining the interactions between species, allowing them to instead focus on the motivating scientiﬁc questions. Determining which parameters in a forceﬁeld to use is often a tedious and error prone task. This diﬃculty is related to the fact that forceﬁelds are often quite expansive and can contain tens or hundreds of diﬀerent parameters for the same element where each parameter set represents the element in a diﬀerent chemical context. The chemical context can refer to: •the local bonded environment of an atom in a molecule •The local environment of neighboring atoms •The type of molecule(s) being considered •The phase of the molecule(s), etc. This is often complicated by the fact that a uniform standard for expressing chemical context does not yet exist, and thus parameter usage may be unclear. Typically, the ﬁrst step in determining chemical context involves examining the local bonded environment of an atom. For example, consider the chemical context of the terminal methyl group in an alkane (this is deﬁned as atom type opls_135 in the OPLS library4 provided with GROMACS5). This carbon atom has: •4 total bonds •1 bond with a carbon •3 bonds with hydrogens Thus the chemical context of this could be thus be expressed as a set of logic statements that all collectively describe the local environment, eﬀectively creating a rule. That is, if the statements collectively evaluate to True, then we add atom type 135 to our Whitelist, i.e., our list possible atom types. Consider the chemical context of the methyl group in toluene. The local bonding environment is essentially the same as the terminal methyl group in an alkane, even though diﬀerent parameters must be used. Thus the rule for the methyl group in toluene, requires us to be more speciﬁc. E.g., since we know that the carbon in the ring structure is OPLS atom type 145, we deﬁne: Here, atom type opls_148 is added to the Whitelist, and atom type opls_ 135 is added to the Blacklist, overriding the alkane rule. Logic-based Chemical Context Evaluating Rules Rules are evaluated via an ﬁxed-point iterative process until the Whitelists and Blacklists no longer change. The ﬁnal atom type is determined by identifying the diﬀerence between the Whitelist and the Blacklist for an atom, i.e., the single atom type that exists on the Whitelist but not the Blacklist. E.g., consider the methyl group in toluene of type opls_148: Whitelist: opls_135 opls_148 Blacklist: opls_135 This approach has several beneﬁts over hierarchical approaches: • all rules will be fully evaluated • rules do not have to be evaluated in a speciﬁc order • if the Whitelist contains multiple possible atom types at the end of evaluation, it allows a user to know that the rules are too general, and which rules are conﬂicting • if the Whitelist and Blacklist contain the same entries, i.e., no atom type can be determined, then it tells the user the element of interest is a new atom type for which a rule does not yet exist. Veriﬁcation and Testing The proposed approach is unique in that it provides two very distinct types of testing: Veriﬁcation. It is possible to programmatically verify that the set of logic-based annotations of a forceﬁeld are free from ambiguities and inconsistencies (without using speciﬁc test cases). We provide a veriﬁer tool to prove that the rules of the annotated forceﬁeld will always resolve all atoms of any input system to a single forceﬁel