diff --git a/modules/mol/mm/pymod/export_modeller.cc b/modules/mol/mm/pymod/export_modeller.cc index c186f8b4aa2da4e72fe0537f64d113e2444bf5da..8b1280425c3053f345e806f227cb13a303a5c472 100644 --- a/modules/mol/mm/pymod/export_modeller.cc +++ b/modules/mol/mm/pymod/export_modeller.cc @@ -10,9 +10,6 @@ void export_Modeller() class_<ost::mol::mm::Modeller>("MMModeller", no_init) .def("GenerateDisulfidBonds",&ost::mol::mm::Modeller::GenerateDisulfidBonds,(arg("ent"))).staticmethod("GenerateDisulfidBonds") - .def("GenerateCYSHEMEBonds",&ost::mol::mm::Modeller::GenerateCYSHEMEBonds,(arg("ent"))).staticmethod("GenerateCYSHEMEBonds") - .def("GenerateHISHEMEBonds",&ost::mol::mm::Modeller::GenerateHISHEMEBonds,(arg("ent"))).staticmethod("GenerateHISHEMEBonds") - .def("GenerateMETHEMEBonds",&ost::mol::mm::Modeller::GenerateDisulfidBonds,(arg("ent"))).staticmethod("GenerateMETHEMEBonds") .def("AssignPDBNaming",&ost::mol::mm::Modeller::AssignPDBNaming,(arg("ent"))).staticmethod("AssignPDBNaming") .def("AssignGromacsNaming",&ost::mol::mm::Modeller::AssignGromacsNaming,(arg("ent"))).staticmethod("AssignGromacsNaming") ; diff --git a/modules/mol/mm/src/modeller.cc b/modules/mol/mm/src/modeller.cc index fafdf5b74be2aad28b9172f497bccc953dbb7c69..1fedbae36fc9be04e7ae8e47d7a64da9da46945f 100644 --- a/modules/mol/mm/src/modeller.cc +++ b/modules/mol/mm/src/modeller.cc @@ -46,111 +46,6 @@ void Modeller::GenerateDisulfidBonds(ost::mol::EntityHandle& handle){ } } -void Modeller::GenerateCYSHEMEBonds(ost::mol::EntityHandle& handle){ - - ost::mol::ResidueHandleList res_list = handle.GetResidueList(); - ost::mol::XCSEditor ed = handle.EditXCS(); - - for(ost::mol::ResidueHandleList::iterator i = res_list.begin(); - i != res_list.end(); ++i){ - if(i->GetName() == "HEM" || i->GetName() == "HEME"){ - ost::mol::AtomHandle fe = i->FindAtom("FE"); - if(fe.IsValid()){ - ost::mol::AtomHandleList in_reach = handle.FindWithin(fe.GetPos(), 3.0); - for(ost::mol::AtomHandleList::iterator j = in_reach.begin(); - j != in_reach.end(); ++j){ - if( j->GetName() == "SG"){ - if(!ost::mol::BondExists(fe,*j)){ - ed.Connect(fe,*j); - } - ed.RenameResidue(*i,"HEME"); - ed.RenameResidue(j->GetResidue(),"CYS2"); - } - } - } - ost::mol::AtomHandle cab = i->FindAtom("CAB"); - if(cab.IsValid()){ - ost::mol::AtomHandleList in_reach = handle.FindWithin(cab.GetPos(), 0.23); - for(ost::mol::AtomHandleList::iterator j = in_reach.begin(); - j != in_reach.end(); ++j){ - if(j->GetName() == "SG"){ - if(!BondExists(cab,*j)){ - ed.Connect(cab,*j); - } - ed.RenameResidue(*i,"HEME"); - ed.RenameResidue(j->GetResidue(),"CYS2"); - } - } - } - ost::mol::AtomHandle cac = i->FindAtom("CAC"); - if(cac.IsValid()){ - ost::mol::AtomHandleList in_reach = handle.FindWithin(cac.GetPos(),0.23); - for(ost::mol::AtomHandleList::iterator j = in_reach.begin(); - j != in_reach.end(); ++j){ - if(j->GetName() == "SG"){ - if(!BondExists(cac,*j)){ - ed.Connect(cac,*j); - } - ed.RenameResidue(*i,"HEME"); - ed.RenameResidue(j->GetResidue(),"CYS2"); - } - } - } - } - } -} - -void Modeller::GenerateHISHEMEBonds(ost::mol::EntityHandle& handle){ - - ost::mol::ResidueHandleList res_list = handle.GetResidueList(); - ost::mol::XCSEditor ed = handle.EditXCS(); - - for(ost::mol::ResidueHandleList::iterator i = res_list.begin(); - i != res_list.end(); ++i){ - if(i->GetName() == "HEM" || i->GetName() == "HEME"){ - ost::mol::AtomHandle fe = i->FindAtom("FE"); - if(fe.IsValid()){ - ost::mol::AtomHandleList in_reach = handle.FindWithin(fe.GetPos(),2.5); - for(ost::mol::AtomHandleList::iterator j = in_reach.begin(); - j != in_reach.end(); ++j){ - if(j->GetName() == "NE2" && j->GetResidue().GetName() == "HIS"){ - if(!ost::mol::BondExists(fe,*j)){ - ed.Connect(fe,*j); - } - ed.RenameResidue(*i,"HEME"); - ed.RenameResidue(j->GetResidue(),"HIS1"); - } - } - } - } - } -} - -void Modeller::GenerateMETHEMEBonds(ost::mol::EntityHandle& handle){ - - ost::mol::ResidueHandleList res_list = handle.GetResidueList(); - ost::mol::XCSEditor ed = handle.EditXCS(); - - for(ost::mol::ResidueHandleList::iterator i = res_list.begin(); - i != res_list.end(); ++i){ - if(i->GetName() == "HEM" || i->GetName() == "HEME"){ - ost::mol::AtomHandle fe = i->FindAtom("FE"); - if(fe.IsValid()){ - ost::mol::AtomHandleList in_reach = handle.FindWithin(fe.GetPos(),2.9); - for(ost::mol::AtomHandleList::iterator j = in_reach.begin(); - j != in_reach.end(); ++j){ - if(j->GetName() == "SD" && j->GetResidue().GetName() == "MET"){ - if(!ost::mol::BondExists(fe,*j)){ - ed.Connect(fe,*j); - } - ed.RenameResidue(*i,"HEME"); - } - } - } - } - } -} - void Modeller::LowerPrecision(ost::mol::EntityHandle& handle){ ost::mol::AtomHandleList atom_list = handle.GetAtomList(); diff --git a/modules/mol/mm/src/modeller.hh b/modules/mol/mm/src/modeller.hh index 814a5edaadf33f23cd02b6fa9c9ae8ea557a6933..86037d320b343e01fc31b2cecbe699d82ec0be63 100644 --- a/modules/mol/mm/src/modeller.hh +++ b/modules/mol/mm/src/modeller.hh @@ -34,12 +34,6 @@ public: static void GenerateDisulfidBonds(ost::mol::EntityHandle& handle); - static void GenerateCYSHEMEBonds(ost::mol::EntityHandle& handle); - - static void GenerateHISHEMEBonds(ost::mol::EntityHandle& handle); - - static void GenerateMETHEMEBonds(ost::mol::EntityHandle& handle); - //may sound pretty stupid... //But this is necessary if we want to compare our energies with //the energies calculated by gromacs. When ost writes and entity