X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FResidueProperties.java;h=662a77e4ba0bf1c49d88f558fa14f81bbb533e24;hb=17fe82c9d7f9da1b17f3091e4b3992a35e3e411e;hp=0f348246a945d073436a19df0de1b45cf9d000c3;hpb=7245a524318f1e426e0e0c68109a4291c4e77be5;p=jalview.git diff --git a/src/jalview/schemes/ResidueProperties.java b/src/jalview/schemes/ResidueProperties.java index 0f34824..662a77e 100755 --- a/src/jalview/schemes/ResidueProperties.java +++ b/src/jalview/schemes/ResidueProperties.java @@ -20,10 +20,6 @@ */ 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; @@ -33,6 +29,10 @@ import java.util.List; 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 scoreMatrices = new Hashtable(); @@ -1787,4 +1787,52 @@ public class ResidueProperties } // to here + /** + * Returns a list of residue characters for the specified inputs + * + * @param nucleotide + * @param includeAmbiguous + * @return + */ + public static List getResidues(boolean nucleotide, + boolean includeAmbiguous) + { + List result = new ArrayList(); + if (nucleotide) + { + for (String nuc : nucleotideName.keySet()) + { + int val = nucleotideIndex[nuc.charAt(0)]; + if ((!includeAmbiguous && val > 4) || (val >= maxNucleotideIndex)) + { + continue; + } + nuc = nuc.toUpperCase(); + if (!result.contains(nuc)) + { + result.add(nuc); + } + } + } else { + /* + * Peptide + */ + for (String res : aa3Hash.keySet()) + { + int index = aa3Hash.get(res).intValue(); + if ((!includeAmbiguous && index >= 20) || index >= maxProteinIndex) + { + continue; + } + res = res.toUpperCase(); + if (!result.contains(res)) + { + result.add(res); + } + } + } + + return result; + } + }