From 261520a6b9bc1581f48c7753cfda46672e46747b Mon Sep 17 00:00:00 2001
From: Stefan Bienert <stefan.bienert@unibas.ch>
Date: Fri, 29 Jul 2011 17:45:58 +0200
Subject: [PATCH] Changed names in CHainType.

---
 modules/mol/base/doc/entity.rst        |  7 +++++--
 modules/mol/base/pymod/export_chain.cc | 17 ++++++++++++-----
 modules/mol/base/src/chain_type.hh     | 18 +++++++++++++-----
 modules/mol/base/tests/test_chain.cc   | 24 ++++++++++++++++++++----
 4 files changed, 50 insertions(+), 16 deletions(-)

diff --git a/modules/mol/base/doc/entity.rst b/modules/mol/base/doc/entity.rst
index cf00a6b5e..e2f1ab571 100644
--- a/modules/mol/base/doc/entity.rst
+++ b/modules/mol/base/doc/entity.rst
@@ -289,8 +289,11 @@ The Handle Classes
 
      Describes the type of the chain. Is one of enum ChainType:
 
-        ``CHAINTYPE_POLY``, ``CHAINTYPE_AA``, ``CHAINTYPE_NT``,
-        ``CHAINTYPE_UNKNOWN``, ``CHAINTYPE_N_CHAINTYPES``
+       ``CHAINTYPE_POLY``, ``CHAINTYPE_NON_POLY``, ``CHAINTYPE_WATER``,
+       ``CHAINTYPE_POLY_PEPTIDE_D``, ``CHAINTYPE_POLY_PEPTIDE_L``,
+       ``CHAINTYPE_POLY_DN``, ``CHAINTYPE_POLY_RN``, ``CHAINTYPE_POLY_SAC_D``,
+       ``CHAINTYPE_POLY_SAC_L``, ``CHAINTYPE_POLY_DN_RN``,
+       ``CHAINTYPE_UNKNOWN``, ``CHAINTYPE_N_CHAINTYPES``  
 
      Where ``CHAINTYPE_N_CHAINTYPES`` holds the number of different types
      available.
diff --git a/modules/mol/base/pymod/export_chain.cc b/modules/mol/base/pymod/export_chain.cc
index 3361c5fa3..117d1b2f6 100644
--- a/modules/mol/base/pymod/export_chain.cc
+++ b/modules/mol/base/pymod/export_chain.cc
@@ -109,11 +109,18 @@ void export_Chain()
 
   {
     enum_<ChainType>("ChainType")
-      .value("CHAINTYPE_POLY",         CHAINTYPE_POLY)
-      .value("CHAINTYPE_AA",           CHAINTYPE_AA)
-      .value("CHAINTYPE_NT",           CHAINTYPE_NT)
-      .value("CHAINTYPE_UNKNOWN",      CHAINTYPE_UNKNOWN)
-      .value("CHAINTYPE_N_CHAINTYPES", CHAINTYPE_N_CHAINTYPES)
+      .value("CHAINTYPE_POLY",           CHAINTYPE_POLY)
+      .value("CHAINTYPE_NON_POLY",       CHAINTYPE_NON_POLY)
+      .value("CHAINTYPE_WATER",          CHAINTYPE_WATER)
+      .value("CHAINTYPE_POLY_PEPTIDE_D", CHAINTYPE_POLY_PEPTIDE_D)
+      .value("CHAINTYPE_POLY_PEPTIDE_L", CHAINTYPE_POLY_PEPTIDE_L)
+      .value("CHAINTYPE_POLY_DN",        CHAINTYPE_POLY_DN)
+      .value("CHAINTYPE_POLY_RN",        CHAINTYPE_POLY_RN)
+      .value("CHAINTYPE_POLY_SAC_D",     CHAINTYPE_POLY_SAC_D)
+      .value("CHAINTYPE_POLY_SAC_L",     CHAINTYPE_POLY_SAC_L)
+      .value("CHAINTYPE_POLY_DN_RN",     CHAINTYPE_POLY_DN_RN)
+      .value("CHAINTYPE_UNKNOWN",        CHAINTYPE_UNKNOWN)
+      .value("CHAINTYPE_N_CHAINTYPES",   CHAINTYPE_N_CHAINTYPES)
       .export_values()
     ;
   }
diff --git a/modules/mol/base/src/chain_type.hh b/modules/mol/base/src/chain_type.hh
index b5961e846..0311ebffb 100644
--- a/modules/mol/base/src/chain_type.hh
+++ b/modules/mol/base/src/chain_type.hh
@@ -21,11 +21,19 @@
 
 /// \enum different kinds of chains
 typedef enum {
-  CHAINTYPE_POLY,         ///< chain name by author as in PDB
-  CHAINTYPE_AA,           ///< amino acid sequence
-  CHAINTYPE_NT,           ///< nucleotides
-  CHAINTYPE_UNKNOWN,      ///< guess what
-  CHAINTYPE_N_CHAINTYPES  ///< no. of chain types
+  CHAINTYPE_POLY,           ///< polymer
+  CHAINTYPE_NON_POLY,       ///< non-polymer
+  CHAINTYPE_WATER,          ///< water
+  CHAINTYPE_POLY_PEPTIDE_D, ///< (D) amino acid sequence
+  CHAINTYPE_POLY_PEPTIDE_L, ///< (L) amino acid sequence
+  CHAINTYPE_POLY_DN,        ///< polydeoxyribonucleotide
+  CHAINTYPE_POLY_RN,        ///< polyribonucleotide
+  CHAINTYPE_POLY_SAC_D,     ///< polysaccharide(D)
+  CHAINTYPE_POLY_SAC_L,     ///< polysaccharide(L)
+  CHAINTYPE_POLY_DN_RN,     ///<polydeoxyribonucleotide/ -ribonucleotide hybrid
+  CHAINTYPE_UNKNOWN,        ///< guess what
+  CHAINTYPE_N_CHAINTYPES    ///< no. of chain types
 } ChainType;
 
+
 #endif
diff --git a/modules/mol/base/tests/test_chain.cc b/modules/mol/base/tests/test_chain.cc
index da1e627b3..c590ec5e2 100644
--- a/modules/mol/base/tests/test_chain.cc
+++ b/modules/mol/base/tests/test_chain.cc
@@ -211,10 +211,26 @@ BOOST_AUTO_TEST_CASE(chain_type)
    BOOST_CHECK(ch1.GetChainType() == CHAINTYPE_UNKNOWN);
    e.SetChainType(ch1, CHAINTYPE_POLY);
    BOOST_CHECK(ch1.GetChainType() == CHAINTYPE_POLY);
-   e.SetChainType(ch1, CHAINTYPE_AA);
-   BOOST_CHECK(ch1.GetChainType() == CHAINTYPE_AA);
-   e.SetChainType(ch1, CHAINTYPE_NT);
-   BOOST_CHECK(ch1.GetChainType() == CHAINTYPE_NT);
+   e.SetChainType(ch1, CHAINTYPE_NON_POLY);
+   BOOST_CHECK(ch1.GetChainType() == CHAINTYPE_NON_POLY);
+   e.SetChainType(ch1, CHAINTYPE_WATER);
+   BOOST_CHECK(ch1.GetChainType() == CHAINTYPE_WATER);
+   e.SetChainType(ch1, CHAINTYPE_POLY_PEPTIDE_D);
+   BOOST_CHECK(CHAINTYPE_POLY_PEPTIDE_D);
+   e.SetChainType(ch1, CHAINTYPE_POLY_PEPTIDE_L);
+   BOOST_CHECK(CHAINTYPE_POLY_PEPTIDE_L);
+   e.SetChainType(ch1, CHAINTYPE_POLY_DN);
+   BOOST_CHECK(CHAINTYPE_POLY_DN);
+   e.SetChainType(ch1, CHAINTYPE_POLY_RN);
+   BOOST_CHECK(CHAINTYPE_POLY_RN);
+   e.SetChainType(ch1, CHAINTYPE_POLY_SAC_D);
+   BOOST_CHECK(CHAINTYPE_POLY_SAC_D);
+   e.SetChainType(ch1, CHAINTYPE_POLY_SAC_L);
+   BOOST_CHECK(CHAINTYPE_POLY_SAC_L);
+   e.SetChainType(ch1, CHAINTYPE_POLY_DN_RN);
+   BOOST_CHECK(CHAINTYPE_POLY_DN_RN);
+   e.SetChainType(ch1, CHAINTYPE_N_CHAINTYPES);
+   BOOST_CHECK(CHAINTYPE_N_CHAINTYPES);
    e.SetChainType(ch1, CHAINTYPE_UNKNOWN);
    BOOST_CHECK(ch1.GetChainType() == CHAINTYPE_UNKNOWN);
 }
-- 
GitLab