When the topology impropers are created in topology.get_connections(), they do sorting of impropers which is incorrect. This is related to the issues we encountered when sorting improper_types, such that the order of the first and last improper matters and cannot be moved around. This applies to the improper order of atoms itself, which could be sorted incorrectly in what seems to be gmso/utils/connectivity.py https://github.com/mosdef-hub/gmso/blob/69fd5e2780d423ffb03913a6087fc9a337690f86/gmso/utils/connectivity.py#L123
Will need to generate a test case that can test for this and find the logic for this sorting of impropers, since it seems to exist in legacy in a few places of GMSO.
When the topology impropers are created in
topology.get_connections()
, they do sorting of impropers which is incorrect. This is related to the issues we encountered when sorting improper_types, such that the order of the first and last improper matters and cannot be moved around. This applies to the improper order of atoms itself, which could be sorted incorrectly in what seems to be gmso/utils/connectivity.py https://github.com/mosdef-hub/gmso/blob/69fd5e2780d423ffb03913a6087fc9a337690f86/gmso/utils/connectivity.py#L123Will need to generate a test case that can test for this and find the logic for this sorting of impropers, since it seems to exist in legacy in a few places of GMSO.
Related to #783