From 5252923cab6fb1bd4db952c507415f676092d3aa Mon Sep 17 00:00:00 2001 From: Marco Biasini <marco.biasini@unibas.ch> Date: Sat, 13 Oct 2012 15:31:33 +0200 Subject: [PATCH] added option to disable connecting adjacent residues --- modules/conop/src/heuristic.cc | 3 ++- modules/conop/src/processor.hh | 9 ++++++++- modules/conop/src/rule_based.cc | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/conop/src/heuristic.cc b/modules/conop/src/heuristic.cc index 335f14f12..d21c13fd5 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 0bf71a896..29acec191 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 862faffad..65b89988f 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); -- GitLab