From 20c43726a54ab1818d3264a18dd7c1b9fed7791a Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Mon, 9 Feb 2015 19:07:10 +0100
Subject: [PATCH] add export to the modeller object

allows simple things like building disulfid bonds, heme bonds, ...,
and some renaming functionality
---
 modules/mol/mm/pymod/CMakeLists.txt     |  1 +
 modules/mol/mm/pymod/export_modeller.cc | 21 +++++++++++++++++++++
 modules/mol/mm/pymod/wrap_mol_mm.cc     |  2 ++
 3 files changed, 24 insertions(+)
 create mode 100644 modules/mol/mm/pymod/export_modeller.cc

diff --git a/modules/mol/mm/pymod/CMakeLists.txt b/modules/mol/mm/pymod/CMakeLists.txt
index 825dda3a4..2738a0d5a 100644
--- a/modules/mol/mm/pymod/CMakeLists.txt
+++ b/modules/mol/mm/pymod/CMakeLists.txt
@@ -9,6 +9,7 @@ set(OST_MOL_MM_PYMOD_SOURCES
   export_buildingblock.cc
   export_block_modifiers.cc
   export_topology.cc
+  export_modeller.cc
   wrap_mol_mm.cc
 )
 
diff --git a/modules/mol/mm/pymod/export_modeller.cc b/modules/mol/mm/pymod/export_modeller.cc
new file mode 100644
index 000000000..59aceeedb
--- /dev/null
+++ b/modules/mol/mm/pymod/export_modeller.cc
@@ -0,0 +1,21 @@
+#include <boost/python.hpp>
+#include <ost/mol/mm/block_modifiers.hh>
+#include <ost/mol/mm/mm_modeller.hh>
+
+using namespace boost::python;
+
+
+void export_Modeller()
+{
+
+  class_<ost::mol::mm::MMModeller>("MMModeller", no_init)
+    .def("GenerateDisulfidBonds",&ost::mol::mm::MMModeller::GenerateDisulfidBonds,(arg("ent"))).staticmethod("GenerateDisulfidBonds")
+    .def("GenerateCYSHEMEBonds",&ost::mol::mm::MMModeller::GenerateCYSHEMEBonds,(arg("ent"))).staticmethod("GenerateCYSHEMEBonds")
+    .def("GenerateHISHEMEBonds",&ost::mol::mm::MMModeller::GenerateHISHEMEBonds,(arg("ent"))).staticmethod("GenerateHISHEMEBonds")
+    .def("GenerateMETHEMEBonds",&ost::mol::mm::MMModeller::GenerateDisulfidBonds,(arg("ent"))).staticmethod("GenerateMETHEMEBonds")
+    .def("AssignPDBNaming",&ost::mol::mm::MMModeller::AssignPDBNaming,(arg("ent"))).staticmethod("AssignPDBNaming")
+    .def("AssignGromacsNaming",&ost::mol::mm::MMModeller::AssignGromacsNaming,(arg("ent"))).staticmethod("AssignGromacsNaming")
+
+  ;
+  
+}
\ No newline at end of file
diff --git a/modules/mol/mm/pymod/wrap_mol_mm.cc b/modules/mol/mm/pymod/wrap_mol_mm.cc
index a0d16cdc5..739b8ad50 100644
--- a/modules/mol/mm/pymod/wrap_mol_mm.cc
+++ b/modules/mol/mm/pymod/wrap_mol_mm.cc
@@ -14,6 +14,7 @@ void export_Buildingblock();
 void export_Forcefield();
 void export_BlockModifiers();
 void export_Topology();
+void export_Modeller();
 
 
 BOOST_PYTHON_MODULE(_ost_mol_mm)
@@ -28,4 +29,5 @@ BOOST_PYTHON_MODULE(_ost_mol_mm)
   export_Buildingblock();
   export_BlockModifiers();
   export_Topology();
+  export_Modeller();
 }
-- 
GitLab