From eca30b68da79a3840f290aa1d2ec6eecd1f3e78c Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Mon, 2 Mar 2015 22:36:59 +0100 Subject: [PATCH] do not expect atom to be at the right position if its already there --- modules/mol/mm/src/gromacs_block_modifiers.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mol/mm/src/gromacs_block_modifiers.cc b/modules/mol/mm/src/gromacs_block_modifiers.cc index 55ce401c4..083b0b842 100644 --- a/modules/mol/mm/src/gromacs_block_modifiers.cc +++ b/modules/mol/mm/src/gromacs_block_modifiers.cc @@ -260,9 +260,8 @@ void GromacsHydrogenConstructor::ApplyOnResidue(ost::mol::ResidueHandle& res, os for(int b=0;b<number;++b){ //only add hydrogen if not already present! atom = res.FindAtom(hydrogen_names[b]); - if(!atom.IsValid()){ - atom = ed.InsertAtom(res,hydrogen_names[b],hydrogen_positions[b],"H"); - } + if(!atom.IsValid()) atom = ed.InsertAtom(res,hydrogen_names[b],hydrogen_positions[b],"H"); + else ed.SetAtomPos(atom,hydrogen_positions[b]); } } } @@ -416,6 +415,7 @@ void GromacsBlockModifier::ApplyOnResidue(ost::mol::ResidueHandle& res, ost::mol for(int j=0; j<number; ++j){ ost::mol::AtomHandle at = res.FindAtom(names[j]); if(!at.IsValid()) at = ed.InsertAtom(res,names[j],positions[j],ele); + else ed.SetAtomPos(at,positions[j]); ed.Connect(at, anchor_atoms[0]); } } -- GitLab