Skip to content

Commit 82925c1

Browse files
committed
Backport fix from PR #414. [ci skip]
1 parent 37f8b5a commit 82925c1

5 files changed

Lines changed: 7 additions & 12 deletions

File tree

doc/source/changelog.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ organisation on `GitHub <https://github.com/openbiosim/sire>`__.
1717

1818
* Please add an item to this CHANGELOG for any new features or bug fixes when creating a PR.
1919

20+
* Fixed duplicate converter registrations in the Python wrappers for OpenMM-related classes,
21+
which caused ``RuntimeWarning: to-Python converter already registered`` warnings at import
22+
time. Also fixed the autogeneration script (``scanheaders.py``) to deduplicate metatypes
23+
so the issue does not recur when wrappers are regenerated.
24+
2025
* Fixed a bug in the AMBER prmtop writer where CMAP atom indices were calculated
2126
incorrectly for systems containing more than one molecule with CMAP terms (e.g.
2227
multi-chain glycoproteins).

wrapper/AutoGenerate/scanheaders.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ def addMetaType(self, classname):
124124
if classname in skip_metatypes:
125125
return
126126

127-
self._metatypes.append(classname)
127+
if classname not in self._metatypes:
128+
self._metatypes.append(classname)
128129

129130
def addAlias(self, classname, alias):
130131
self._aliases[classname] = alias

wrapper/Convert/SireOpenMM/SireOpenMM_properties.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,4 @@
1111
void register_SireOpenMM_properties()
1212
{
1313
register_property_container< SireOpenMM::QMEnginePtr, SireOpenMM::QMEngine >();
14-
register_property_container< SireOpenMM::QMEnginePtr, SireOpenMM::QMEngine >();
1514
}

wrapper/Convert/SireOpenMM/SireOpenMM_registrars.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,10 @@ void register_SireOpenMM_objects()
1515
{
1616

1717
ObjectRegistry::registerConverterFor< SireOpenMM::NullQMEngine >();
18-
ObjectRegistry::registerConverterFor< SireOpenMM::NullQMEngine >();
19-
ObjectRegistry::registerConverterFor< SireOpenMM::PyQMCallback >();
20-
ObjectRegistry::registerConverterFor< SireOpenMM::PyQMForce >();
21-
ObjectRegistry::registerConverterFor< SireOpenMM::PyQMEngine >();
2218
ObjectRegistry::registerConverterFor< SireOpenMM::PyQMCallback >();
2319
ObjectRegistry::registerConverterFor< SireOpenMM::PyQMForce >();
2420
ObjectRegistry::registerConverterFor< SireOpenMM::PyQMEngine >();
2521
ObjectRegistry::registerConverterFor< SireOpenMM::LambdaLever >();
26-
ObjectRegistry::registerConverterFor< SireOpenMM::LambdaLever >();
27-
ObjectRegistry::registerConverterFor< SireOpenMM::PerturbableOpenMMMolecule >();
2822
ObjectRegistry::registerConverterFor< SireOpenMM::PerturbableOpenMMMolecule >();
2923
ObjectRegistry::registerConverterFor< SireOpenMM::TorchQMForce >();
3024
ObjectRegistry::registerConverterFor< SireOpenMM::TorchQMEngine >();

wrapper/Move/SireMove_registrars.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ void register_SireMove_objects()
6767
ObjectRegistry::registerConverterFor< SireMove::SimPacket >();
6868
ObjectRegistry::registerConverterFor< SireMove::WeightedMoves >();
6969
ObjectRegistry::registerConverterFor< SireMove::OpenMMMDIntegrator >();
70-
ObjectRegistry::registerConverterFor< SireMove::OpenMMMDIntegrator >();
7170
ObjectRegistry::registerConverterFor< SireMove::ZMatMove >();
7271
ObjectRegistry::registerConverterFor< SireMove::Replicas >();
7372
ObjectRegistry::registerConverterFor< SireMove::MTSMC >();
@@ -79,7 +78,6 @@ void register_SireMove_objects()
7978
ObjectRegistry::registerConverterFor< SireMove::PrefSampler >();
8079
ObjectRegistry::registerConverterFor< SireMove::VelocityVerlet >();
8180
ObjectRegistry::registerConverterFor< SireMove::OpenMMPMEFEP >();
82-
ObjectRegistry::registerConverterFor< SireMove::OpenMMPMEFEP >();
8381
ObjectRegistry::registerConverterFor< SireMove::SupraSystem >();
8482
ObjectRegistry::registerConverterFor< SireMove::RBWorkspace >();
8583
ObjectRegistry::registerConverterFor< SireMove::SupraSimPacket >();
@@ -98,7 +96,6 @@ void register_SireMove_objects()
9896
ObjectRegistry::registerConverterFor< SireMove::UniformInserter >();
9997
ObjectRegistry::registerConverterFor< SireMove::DLMRigidBody >();
10098
ObjectRegistry::registerConverterFor< SireMove::OpenMMFrEnergyST >();
101-
ObjectRegistry::registerConverterFor< SireMove::OpenMMFrEnergyST >();
10299
ObjectRegistry::registerConverterFor< SireMove::NullIntegratorWorkspace >();
103100
ObjectRegistry::registerConverterFor< SireMove::AtomicVelocityWorkspace >();
104101
ObjectRegistry::registerConverterFor< SireMove::RBWorkspaceJM >();
@@ -123,7 +120,6 @@ void register_SireMove_objects()
123120
ObjectRegistry::registerConverterFor< SireMove::Ensemble >();
124121
ObjectRegistry::registerConverterFor< SireMove::TitrationMove >();
125122
ObjectRegistry::registerConverterFor< SireMove::OpenMMFrEnergyDT >();
126-
ObjectRegistry::registerConverterFor< SireMove::OpenMMFrEnergyDT >();
127123
ObjectRegistry::registerConverterFor< SireMove::NullSupraSubMove >();
128124
ObjectRegistry::registerConverterFor< SireMove::SameMoves >();
129125

0 commit comments

Comments
 (0)