diff --git a/modules/mol/mm/src/mm_modeller.cc b/modules/mol/mm/src/mm_modeller.cc index 893e1a2702757464e4d1e0e0ce8671b6ce3b5edb..2cc9714833324a7bb92a8be3582656190d3e3a9f 100644 --- a/modules/mol/mm/src/mm_modeller.cc +++ b/modules/mol/mm/src/mm_modeller.cc @@ -13,10 +13,12 @@ void MMModeller::GenerateDisulfidBonds(ost::mol::EntityHandle& handle){ if(i->GetName() == "CYS" || i->GetName() == "CYX" || i->GetName() == "CYS2" || i->GetName() == "CYM"){ ost::mol::AtomHandle s = i->FindAtom("SG"); if(s.IsValid()){ + if(s.GetBondCount() >= 2) continue; ost::mol::AtomHandleList in_reach = handle.FindWithin(s.GetPos(),2.5); for(ost::mol::AtomHandleList::iterator j = in_reach.begin(); j != in_reach.end(); ++j){ if(j->GetName() == "SG" && j->GetResidue() != *i){ + if(j->GetBondCount() >= 2) continue; if(!ost::mol::BondExists(s,*j)){ ed.Connect(s,*j); }