Skip to content

Look into 2D/3D bond graph differences for angles and torsions #179

@mattwthompson

Description

@mattwthompson

Unfortunately I think the fudging we found in #174 is happening elsewhere as well, at least for the MM conformer:

In [43]: labels = ForceField("openff-2.1.0.offxml").label_molecules(qm_molecule.to_topology())[0]

In [44]: ic = get_internal_coordinates(qm_molecule, qm_molecule.conformers[0], mm_molecule.conformers[0])

In [45]: qm_molecule.n_bonds, len(labels['Bonds']), len(ic['Bond'])
Out[45]: (84, 84, 86)

In [46]: qm_molecule.n_angles, len(labels['Angles']), len(ic['Angle'])
Out[46]: (153, 153, 132)

In [47]: qm_molecule.n_propers, len(labels['ProperTorsions']), len(ic['Dihedral'])
Out[47]: (228, 228, 239)

In [48]: qm_molecule.n_impropers, len(labels['ImproperTorsions']), len(ic['Improper'])
Out[48]: (456, 24, 27)

It's easy enough to exclude terms which are added in, but less easy to add back in what's not there (the 19 angles in this case).

The code is hard to follow; there is a method which probably infers a 2D bond graph from 3D coordinates, but that's meant to not happen in the only place I think it's called

Sub-issues

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions