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> {