Commit f4e4c4b1 authored by Jason Swails's avatar Jason Swails
Browse files

Get rid of extra point element -- use "None" as no element

parent 834f488b
...@@ -231,7 +231,11 @@ class CharmmParameterSet(object): ...@@ -231,7 +231,11 @@ class CharmmParameterSet(object):
atomic_number = get_by_symbol(elem).atomic_number atomic_number = get_by_symbol(elem).atomic_number
except (IndexError, KeyError): except (IndexError, KeyError):
# Figure it out from the mass # Figure it out from the mass
atomic_number = Element.getByMass(mass).atomic_number masselem = Element.getByMass(mass)
if masselem is None:
atomic_number = 0 # Extra point or something
else:
atomic_number = masselem.atomic_number
atype = AtomType(name=name, number=idx, mass=mass, atype = AtomType(name=name, number=idx, mass=mass,
atomic_number=atomic_number) atomic_number=atomic_number)
self.atom_types_str[atype.name] = atype self.atom_types_str[atype.name] = atype
...@@ -452,7 +456,11 @@ class CharmmParameterSet(object): ...@@ -452,7 +456,11 @@ class CharmmParameterSet(object):
atomic_number = get_by_symbol(elem).atomic_number atomic_number = get_by_symbol(elem).atomic_number
except (IndexError, KeyError): except (IndexError, KeyError):
# Figure it out from the mass # Figure it out from the mass
atomic_number = Element.getByMass(mass).atomic_number masselem = Element.getByMass(mass)
if masselem is None:
atomic_number = 0 # Extra point or something
else:
atomic_number = masselem.atomic_number
atype = AtomType(name=name, number=idx, mass=mass, atype = AtomType(name=name, number=idx, mass=mass,
atomic_number=atomic_number) atomic_number=atomic_number)
self.atom_types_str[atype.name] = atype self.atom_types_str[atype.name] = atype
......
...@@ -773,8 +773,12 @@ class CharmmPsfFile(object): ...@@ -773,8 +773,12 @@ class CharmmPsfFile(object):
atomic_num = atom.type.atomic_number atomic_num = atom.type.atomic_number
elem = element.Element.getByAtomicNumber(atomic_num) elem = element.Element.getByAtomicNumber(atomic_num)
else: else:
# If we didn't load a parameter set yet, try based on mass # Figure it out from the mass
elem = element.Element.getByMass(atom.mass) masselem = Element.getByMass(mass)
if masselem is None:
atomic_number = 0 # Extra point or something
else:
atomic_number = masselem.atomic_number
topology.addAtom(atom.name, elem, residue) topology.addAtom(atom.name, elem, residue)
# Add all of the bonds # Add all of the bonds
......
...@@ -103,7 +103,7 @@ class Element(object): ...@@ -103,7 +103,7 @@ class Element(object):
if not is_quantity(mass): if not is_quantity(mass):
mass = mass * daltons mass = mass * daltons
diff = mass diff = mass
best_guess = Element._elements_by_atomic_number[0] best_guess = None
for key in Element._elements_by_atomic_number: for key in Element._elements_by_atomic_number:
element = Element._elements_by_atomic_number[key] element = Element._elements_by_atomic_number[key]
...@@ -147,7 +147,6 @@ def _pickle_element(element): ...@@ -147,7 +147,6 @@ def _pickle_element(element):
copy_reg.pickle(Element, _pickle_element) copy_reg.pickle(Element, _pickle_element)
virtualsite = Element( 0, "virtual site", "EP", 0.0*daltons)
hydrogen = Element( 1, "hydrogen", "H", 1.007947*daltons) hydrogen = Element( 1, "hydrogen", "H", 1.007947*daltons)
deuterium = Element( 1, "deuterium", "D", 2.01355321270*daltons) deuterium = Element( 1, "deuterium", "D", 2.01355321270*daltons)
helium = Element( 2, "helium", "He", 4.003*daltons) helium = Element( 2, "helium", "He", 4.003*daltons)
...@@ -270,5 +269,3 @@ ununhexium = Element(116, "ununhexium", "Uuh", 292*daltons) ...@@ -270,5 +269,3 @@ ununhexium = Element(116, "ununhexium", "Uuh", 292*daltons)
# relational operators will work with any chosen name # relational operators will work with any chosen name
sulphur = sulfur sulphur = sulfur
aluminium = aluminum aluminium = aluminum
extrapoint = virtualsite
lonepair = virtualsite
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