+ 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();
+ }