package jalview.schemes;
import java.awt.Color;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jalview.datamodel.AnnotatedCollectionI;
import jalview.datamodel.SequenceCollectionI;
import jalview.datamodel.SequenceI;
+import jalview.util.ColorUtils;
import jalview.util.Comparison;
public class ClustalxColourScheme extends ResidueColourScheme
{
return false;
}
+ public String toRuleRep()
+ {
+ makeColours();
+ HashMap<String, String> cols=new HashMap();
+ for (String res:ResidueProperties.aa) {
+ StringBuilder sb = new StringBuilder();
+
+ int rnum=ResidueProperties.aaIndex[res.charAt(0)];
+ if (rnum<0 || rnum>=residueColour.length)
+ {
+ continue;
+ }
+
+ ConsensusColour cc = residueColour[rnum];
+ if (cc==null)
+ {
+ continue;
+ }
+ //sb.append("Residue "+res+" ("+rnum+")");
+ //sb.append("\t");
+ sb.append(cc.c.toString());
+ double f=0;
+ sb.append("\t");
+ for (Consensus cons: cc.cons) {
+ if (cons.threshold==0 || f!=cons.threshold)
+ {
+ if (f!=0)
+ {
+
+ sb.append("}, {");
+ } else {
+ sb.append("{");
+ }
+ sb.append(cons.threshold);
+ sb.append(",");
+ f=cons.threshold;
+ } else {
+ sb.append(",");
+ }
+ sb.append(cons.maskstr);
+ }
+ sb.append("}");
+ String clxrep=sb.toString();
+ String xres = cols.get(clxrep);
+ if (xres==null) { xres = "";}
+ xres+=res;
+ cols.put(clxrep, xres);
+ }
+ StringBuilder sb = new StringBuilder();
+ for (String clxrep:cols.keySet())
+ {
+ sb.append(cols.get(clxrep));
+ sb.append("\t");
+ sb.append(clxrep);
+ sb.append("\n");
+
+ }
+ return sb.toString();
+ }
}
// viewport
// assertEquals(cs.findColour('C', 0, al.getSequenceAt(0)), clustalPink);
}
+ @Test
+ public void testDocString()
+ {
+ /* verify we have some sort of useful output */
+ ClustalxColourScheme x = new ClustalxColourScheme();
+ String out = x.toRuleRep();
+ System.out.print(out);
+ }
}