From 25706486e7896d6ad92f1c32a63117c82db3812d Mon Sep 17 00:00:00 2001
From: Niklaus Johner <nij2003@med.cornell.edu>
Date: Tue, 15 Nov 2011 09:26:48 -0500
Subject: [PATCH] Function to change residue number

---
 modules/mol/base/pymod/export_editors.cc | 1 +
 modules/mol/base/src/editor_base.cc      | 6 ++++++
 modules/mol/base/src/editor_base.hh      | 4 +++-
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/modules/mol/base/pymod/export_editors.cc b/modules/mol/base/pymod/export_editors.cc
index 2a59feef9..eb1720a1d 100644
--- a/modules/mol/base/pymod/export_editors.cc
+++ b/modules/mol/base/pymod/export_editors.cc
@@ -215,6 +215,7 @@ void export_Editors()
     .def("SetChainType", &EditorBase::SetChainType)
     .def("SetChainDescription", &EditorBase::SetChainDescription)
     .def("RenameResidue", &EditorBase::RenameResidue)
+    .def("SetResidueNumber", &EditorBase::SetResidueNumber)
     .def("RenameAtom", &EditorBase::RenameAtom)
     .def("AddTorsion", &EditorBase::AddTorsion)
     .def("ReorderResidues",&EditorBase::ReorderResidues)
diff --git a/modules/mol/base/src/editor_base.cc b/modules/mol/base/src/editor_base.cc
index 588c7cf99..6757c2af6 100644
--- a/modules/mol/base/src/editor_base.cc
+++ b/modules/mol/base/src/editor_base.cc
@@ -76,6 +76,12 @@ void EditorBase::RenameResidue(ResidueHandle res, const String& new_name)
   res.Impl()->SetKey(new_name);
 }
 
+void EditorBase::SetResidueNumber(ResidueHandle res, const ResNum& new_num)
+{
+  CheckHandleValidity(res);
+  res.Impl()->SetNumber(new_num);
+}
+  
 void EditorBase::RenameChain(ChainHandle chain, const String& new_name)
 {
   CheckHandleValidity(chain); 
diff --git a/modules/mol/base/src/editor_base.hh b/modules/mol/base/src/editor_base.hh
index cd8c811ca..0527a0a7b 100644
--- a/modules/mol/base/src/editor_base.hh
+++ b/modules/mol/base/src/editor_base.hh
@@ -153,7 +153,9 @@ public:
                      unsigned char bond_order);
 
   void RenameResidue(ResidueHandle res, const String& new_name);
-
+  
+  void SetResidueNumber(ResidueHandle res, const ResNum& num);
+  
   void RenameChain(ChainHandle chain, const String& new_name);
 
   /// \brief Assign type of chain according to ChainType.
-- 
GitLab