diff --git a/modules/conop/pymod/export_amino_acids.cc b/modules/conop/pymod/export_amino_acids.cc index 923c74555dded939b0526771db983515776873d6..b1422c409a91c05193b2f7ad4474a50170b10d79 100644 --- a/modules/conop/pymod/export_amino_acids.cc +++ b/modules/conop/pymod/export_amino_acids.cc @@ -77,6 +77,7 @@ void export_AminoAcids() ; def("ResidueToAminoAcid",&ResidueToAminoAcid); + def("ResidueNameToAminoAcid",&ResidueNameToAminoAcid); def("AminoAcidToResidueName",&AminoAcidToResidueName); def("OneLetterCodeToResidueName",&OneLetterCodeToResidueName); def("ResidueNameToOneLetterCode",&ResidueNameToOneLetterCode); diff --git a/modules/conop/src/amino_acids.cc b/modules/conop/src/amino_acids.cc index 7665e97b34240a78c886a06896fe48ef00026ed2..a6c760b8e2e788e1b25fad3436428ca43a5acdb8 100644 --- a/modules/conop/src/amino_acids.cc +++ b/modules/conop/src/amino_acids.cc @@ -174,6 +174,17 @@ String OneLetterCodeToResidueName(char olc) } } +AminoAcid ResidueNameToAminoAcid(String rn) +{ + std::transform(rn.begin(),rn.end(),rn.begin(),toupper); + static AminoAcidKeys aa_keys = AminoAcidKeys(); + AminoAcid* aa=find(aa_keys, rn.c_str()); + if (aa) + return *aa; + + return XXX; +} + char ResidueNameToOneLetterCode(String rn) { String upper_rn=rn; diff --git a/modules/conop/src/amino_acids.hh b/modules/conop/src/amino_acids.hh index aeeb6a21de4fd6fe87a847f6bc7d73f8d0f11196..f79bb68ac9d25f5fda38aa8f94168c720ee7ecda 100644 --- a/modules/conop/src/amino_acids.hh +++ b/modules/conop/src/amino_acids.hh @@ -56,7 +56,7 @@ DLLEXPORT_OST_CONOP AminoAcid OneLetterCodeToAminoAcid(char olc); char DLLEXPORT_OST_CONOP ResidueNameToOneLetterCode(String rn); -char DLLEXPORT_OST_CONOP ResidueNameToOneLetterCode(String rn); +AminoAcid DLLEXPORT_OST_CONOP ResidueNameToAminoAcid(String rn); class AminoAcidSetIterator : public std::iterator<std::forward_iterator_tag, AminoAcid> {