Skip to content
Snippets Groups Projects
Commit e78f8087 authored by B13nch3n's avatar B13nch3n
Browse files

SCHWED-4696: Allow 'branched' chain(types)

parent d51aca5f
Branches
Tags
No related merge requests found
......@@ -137,6 +137,7 @@ void export_Chain()
.value("CHAINTYPE_MACROLIDE", CHAINTYPE_MACROLIDE)
.value("CHAINTYPE_CYCLIC_PSEUDO_PEPTIDE", CHAINTYPE_CYCLIC_PSEUDO_PEPTIDE)
.value("CHAINTYPE_POLY_PEPTIDE_DN_RN", CHAINTYPE_POLY_PEPTIDE_DN_RN)
.value("CHAINTYPE_BRANCHED", CHAINTYPE_BRANCHED)
.value("CHAINTYPE_N_CHAINTYPES", CHAINTYPE_N_CHAINTYPES)
.export_values()
;
......
......@@ -54,6 +54,8 @@ ChainType ChainTypeFromString(StringRef identifier)
return CHAINTYPE_CYCLIC_PSEUDO_PEPTIDE;
} else if (StringRef("peptide nucleic acid", 20) == identifier) {
return CHAINTYPE_POLY_PEPTIDE_DN_RN;
} else if (StringRef("branched", 8) == identifier) {
return CHAINTYPE_BRANCHED;
} else if (StringRef("other", 5) == identifier) {
return CHAINTYPE_UNKNOWN;
}
......@@ -98,6 +100,8 @@ String StringFromChainType(ChainType type)
return "cyclic-pseudo-peptide";
} else if (CHAINTYPE_POLY_PEPTIDE_DN_RN == type) {
return "peptide nucleic acid";
} else if (CHAINTYPE_BRANCHED == type) {
return "branched";
} else if (CHAINTYPE_UNKNOWN == type) {
return "other";
}
......
......@@ -44,6 +44,7 @@ typedef enum {
CHAINTYPE_MACROLIDE, ///< macrolide
CHAINTYPE_CYCLIC_PSEUDO_PEPTIDE, ///< cyclic-pseudo-peptide
CHAINTYPE_POLY_PEPTIDE_DN_RN, ///< peptide nucleic acid
CHAINTYPE_BRANCHED, ///< carbohydrate
CHAINTYPE_N_CHAINTYPES ///< no. of chain types
} ChainType;
......
......@@ -320,6 +320,13 @@ BOOST_AUTO_TEST_CASE(chain_type)
BOOST_CHECK(!ch1.IsPolypeptide());
BOOST_CHECK(!ch1.IsPolynucleotide());
e.SetChainType(ch1, CHAINTYPE_BRANCHED);
BOOST_CHECK(ch1.GetType() == CHAINTYPE_BRANCHED);
BOOST_CHECK(!ch1.IsPolymer());
BOOST_CHECK(!ch1.IsPolysaccharide());
BOOST_CHECK(!ch1.IsPolypeptide());
BOOST_CHECK(!ch1.IsPolynucleotide());
// string -> chain type
BOOST_CHECK(ChainTypeFromString("polymer") == CHAINTYPE_POLY);
BOOST_CHECK(ChainTypeFromString("non-polymer") == CHAINTYPE_NON_POLY);
......@@ -345,6 +352,7 @@ BOOST_AUTO_TEST_CASE(chain_type)
CHAINTYPE_CYCLIC_PSEUDO_PEPTIDE);
BOOST_CHECK(ChainTypeFromString("peptide nucleic acid") ==
CHAINTYPE_POLY_PEPTIDE_DN_RN);
BOOST_CHECK(ChainTypeFromString("branched") == CHAINTYPE_BRANCHED);
BOOST_CHECK_THROW(ChainTypeFromString("supposed to fail"),
Error);
......@@ -371,6 +379,7 @@ BOOST_AUTO_TEST_CASE(chain_type)
"cyclic-pseudo-peptide");
BOOST_CHECK(StringFromChainType(CHAINTYPE_POLY_PEPTIDE_DN_RN) ==
"peptide nucleic acid");
BOOST_CHECK(StringFromChainType(CHAINTYPE_BRANCHED) == "branched");
BOOST_CHECK_THROW(StringFromChainType(CHAINTYPE_N_CHAINTYPES),
Error);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment