*/
package jalview.schemes;
+import jalview.analysis.scoremodels.FeatureScoreModel;
+import jalview.analysis.scoremodels.PIDScoreModel;
+import jalview.api.analysis.ScoreModelI;
+
import java.awt.Color;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Map;
import java.util.Vector;
-import jalview.analysis.scoremodels.FeatureScoreModel;
-import jalview.analysis.scoremodels.PIDScoreModel;
-import jalview.api.analysis.ScoreModelI;
-
public class ResidueProperties
{
public static Hashtable<String, ScoreModelI> scoreMatrices = new Hashtable();
public static final Map<String, String> nucleotideName = new HashMap<String, String>();
+ // lookup from modified amino acid (e.g. MSE) to canonical form (e.g. MET)
+ public static final Map<String, String> modifications = new HashMap<String, String>();
+
static
{
aaIndex = new int[255];
}
}
+ static
+ {
+ modifications.put("MSE", "MET"); // Selenomethionine
+ // the rest tbc; from
+ // http://sourceforge.net/p/jmol/mailman/message/12833570/
+ // modifications.put("CSE", "CYS"); // Selenocysteine
+ // modifications.put("PTR", "TYR"); // Phosphotyrosine
+ // modifications.put("SEP", "SER"); // Phosphoserine
+ // modifications.put("HYP", "PRO"); // 4-hydroxyproline
+ // modifications.put("5HP", "GLU"); // Pyroglutamic acid; 5-hydroxyproline
+ // modifications.put("PCA", "GLU"); // Pyroglutamic acid
+ // modifications.put("LYZ", "LYS"); // 5-hydroxylysine
+ }
+
+ public static String getCanonicalAminoAcid(String aa)
+ {
+ String canonical = modifications.get(aa);
+ return canonical == null ? aa : canonical;
+ }
+
/**
* translate to RNA secondary structure representation
*
return result;
}
+ /**
+ * Returns the single letter code for a three letter code, or '0' if not known
+ *
+ * @param threeLetterCode
+ * not case sensitive
+ * @return
+ */
+ public static char getSingleCharacterCode(String threeLetterCode)
+ {
+ if (threeLetterCode == null)
+ {
+ return '0';
+ }
+ Integer index = ResidueProperties.aa3Hash.get(threeLetterCode
+ .toUpperCase());
+ return index == null ? '0' : aa[index].charAt(0);
+ }
}