Unverified Commit 1a67542e authored by Evan Pretti's avatar Evan Pretti Committed by GitHub
Browse files

Make distinct parameter dictionaries for _TemplateAtomData by default (#5091)

parent 05472c9a
......@@ -744,11 +744,11 @@ class ForceField(object):
class _TemplateAtomData(object):
"""Inner class used to encapsulate data about an atom in a residue template definition."""
def __init__(self, name, type, element, parameters={}):
def __init__(self, name, type, element, parameters=None):
self.name = name
self.type = type
self.element = element
self.parameters = parameters
self.parameters = {} if parameters is None else parameters
self.bondedTo = []
self.externalBonds = 0
......
......@@ -804,6 +804,9 @@ class TestForceField(unittest.TestCase):
forcefield = ForceField('amber99sb.xml', 'tip3p.xml', StringIO(simple_ffxml_contents))
# Get list of unique unmatched residues.
[templates, residues] = forcefield.generateTemplatesForUnmatchedResidues(pdb.topology)
# Make sure template atom parameter dictionaries are distinct objects.
parameters = [atom.parameters for template in templates for atom in template.atoms]
self.assertEqual(len(set(map(id, parameters))), len(parameters))
# Add residue templates to forcefield.
for template in templates:
# Replace atom types.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment