<tr>
<td rowspan="2">Hydrophobic</td>
<td rowspan="2" bgcolor="#80a0f0">BLUE</td>
- <td>A,I,L,M,F,W,V</td>
- <td>{>60%, WLVIMAFCHP}</td>
+ <td>A,C,I,L,M,F,W,V</td>
+ <td>{>60%, WLVIMAFCYHP}</td>
</tr>
<tr>
<td>C</td>
- <td>{>60%, WLVIMAFCHP}</td>
+ <td>{>60%, WLVIMAFCYHP}</td>
</tr>
<tr>
<td>Positive charge</td>
<td bgcolor="#f01505">RED</td>
<td>K,R</td>
- <td>{>60%,KR},{>80%, K,R,Q}</td>
+ <td>{>60%,KR},{>85%, K,R,Q}</td>
</tr>
<tr>
<td rowspan="2">Negative charge</td>
<td rowspan="2" bgcolor="#c048c0">MAGENTA</td>
<td>E</td>
- <td>{>60%,KR},{>50%,QE},{>85%,E,Q,D}</td>
+ <td>{>60%,KR},{>50%,QE},{>50%,ED},{>85%,E,Q,D}</td>
</tr>
<tr>
<td>D</td>
- <td>{>60%,KR}, {>85%, K,R,Q}, {>50%,ED}</td>
+ <td>{>60%,KR}, {>85%, D,E,N}, {>50%,ED}</td>
</tr>
<tr>
<td rowspan="3">Polar</td>
<td rowspan="3" bgcolor="#15c015">GREEN</td>
<td>N</td>
- <td>{>50%, N}, {>85%, N,Y}</td>
+ <td>{>50%, N}, {>85%, N,D}</td>
</tr>
<tr>
<td>Q</td>
- <td>{>60%,KR},{>50%,QE},{>85%,Q,E,K,R}</td>
+ <td>{>60%,KR},{>50%,QE},{>85%,Q,T,K,R}</td>
</tr>
<tr>
<td>S,T</td>
- <td>{>60%, WLVIMAFCHP}, {>50%, TS}, {>85%,S,T}</td>
+ <td>{>60%, WLVIMAFCYHP}, {>50%, TS}, {>85%,S,T}</td>
</tr>
<tr>
<td>Cysteines</td>
<td>Aromatic</td>
<td bgcolor="#15a4a4">CYAN</td>
<td>H,Y</td>
- <td>{>60%, WLVIMAFCHP}, {>85%,
+ <td>{>60%, WLVIMAFCYHP}, {>85%,
W,Y,A,C,P,Q,F,H,I,L,M,V}</td>
</tr>
<tr>
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();
+ }
}