diff --git a/modules/conop/src/heuristic.cc b/modules/conop/src/heuristic.cc index 335f14f123348f36bdf740ede1ab3cbd6987cc4b..d21c13fd513e816ade98b96787616593c2f7ec56 100644 --- a/modules/conop/src/heuristic.cc +++ b/modules/conop/src/heuristic.cc @@ -70,7 +70,8 @@ void HeuristicProcessor::DoProcess(DiagnosticsPtr diags, this->FillResidueProps(residue, compound); if (this->GetConnect()) { this->ConnectAtomsOfResidue(residue, compound, false); - this->ConnectResidues(prev, residue); + if (this->GetConnectAminoAcids()) + this->ConnectResidues(prev, residue); } prev = residue; if (!this->GetConnect()) { continue; } diff --git a/modules/conop/src/processor.hh b/modules/conop/src/processor.hh index 0bf71a89676cdefa4b8c615a98157ab5f6afbe06..29acec1914419c28ba2f2424db657df75b2a2262 100644 --- a/modules/conop/src/processor.hh +++ b/modules/conop/src/processor.hh @@ -66,7 +66,7 @@ protected: mol::AtomHandle LocateAtom(const mol::AtomHandleList&, int ordinal) const; public: Processor(): check_bond_feasibility_(false), - assign_torsions_(false), connect_(true), + assign_torsions_(false), connect_(true), connect_aa_(true), zero_occ_treatment_(CONOP_SILENT) {} void SetConnect(bool connect) { connect_ = connect; @@ -82,6 +82,12 @@ public: return assign_torsions_; } + bool GetConnectAminoAcids() const { + return connect_aa_; + } + void SetConnectAminoAcids(bool c) { + connect_aa_ = c; + } bool GetCheckBondFeasibility() const { return check_bond_feasibility_; } @@ -103,6 +109,7 @@ private: bool check_bond_feasibility_; bool assign_torsions_; bool connect_; + bool connect_aa_; ConopAction zero_occ_treatment_; }; diff --git a/modules/conop/src/rule_based.cc b/modules/conop/src/rule_based.cc index 862faffada08ba9b48f4cc9a8fced2b2fde3da1d..65b89988f2cf35ca1a34be8840e331ccc595a89d 100644 --- a/modules/conop/src/rule_based.cc +++ b/modules/conop/src/rule_based.cc @@ -73,7 +73,8 @@ void RuleBasedProcessor::DoProcess(DiagnosticsPtr diags, if (this->GetConnect()) { this->ConnectAtomsOfResidue(residue, compound, this->GetStrictHydrogens()); - this->ConnectResidues(prev, residue); + if (this->GetConnectAminoAcids()) + this->ConnectResidues(prev, residue); for (mol::AtomHandleList::iterator k = atoms_to_connect.begin(), e3=atoms_to_connect.end(); k!= e3; ++k) { this->DistanceBasedConnect(*k);