From: James Procter Date: Wed, 6 Dec 2023 14:14:12 +0000 (+0000) Subject: Merge branch 'patch/JAL-840_clustalx_docs_fix' into develop X-Git-Tag: Release_2_11_3_3~8^2~7 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=272c2eb249b7e47dd3594a6fa810022c8c9f8148;hp=d335e9093099a7ffa812b61e734ddd88769ea9dd;p=jalview.git Merge branch 'patch/JAL-840_clustalx_docs_fix' into develop --- diff --git a/help/help/html/colourSchemes/clustal.html b/help/help/html/colourSchemes/clustal.html index b3d44db..f57d53f 100755 --- a/help/help/html/colourSchemes/clustal.html +++ b/help/help/html/colourSchemes/clustal.html @@ -61,42 +61,42 @@ td { Hydrophobic BLUE - A,I,L,M,F,W,V - {>60%, WLVIMAFCHP} + A,C,I,L,M,F,W,V + {>60%, WLVIMAFCYHP} C - {>60%, WLVIMAFCHP} + {>60%, WLVIMAFCYHP} Positive charge RED K,R - {>60%,KR},{>80%, K,R,Q} + {>60%,KR},{>85%, K,R,Q} Negative charge MAGENTA E - {>60%,KR},{>50%,QE},{>85%,E,Q,D} + {>60%,KR},{>50%,QE},{>50%,ED},{>85%,E,Q,D} D - {>60%,KR}, {>85%, K,R,Q}, {>50%,ED} + {>60%,KR}, {>85%, D,E,N}, {>50%,ED} Polar GREEN N - {>50%, N}, {>85%, N,Y} + {>50%, N}, {>85%, N,D} Q - {>60%,KR},{>50%,QE},{>85%,Q,E,K,R} + {>60%,KR},{>50%,QE},{>85%,Q,T,K,R} S,T - {>60%, WLVIMAFCHP}, {>50%, TS}, {>85%,S,T} + {>60%, WLVIMAFCYHP}, {>50%, TS}, {>85%,S,T} Cysteines @@ -120,7 +120,7 @@ td { Aromatic CYAN H,Y - {>60%, WLVIMAFCHP}, {>85%, + {>60%, WLVIMAFCYHP}, {>85%, W,Y,A,C,P,Q,F,H,I,L,M,V} diff --git a/src/jalview/schemes/ClustalxColourScheme.java b/src/jalview/schemes/ClustalxColourScheme.java index 5a2d5dc..04097a8 100755 --- a/src/jalview/schemes/ClustalxColourScheme.java +++ b/src/jalview/schemes/ClustalxColourScheme.java @@ -21,6 +21,7 @@ package jalview.schemes; import java.awt.Color; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -28,6 +29,7 @@ import jalview.api.AlignViewportI; 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 @@ -362,4 +364,63 @@ public class ClustalxColourScheme extends ResidueColourScheme { return false; } + public String toRuleRep() + { + makeColours(); + HashMap 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(); + } } diff --git a/test/jalview/schemes/ClustalxColourSchemeTest.java b/test/jalview/schemes/ClustalxColourSchemeTest.java index 6731465..d476d6e 100644 --- a/test/jalview/schemes/ClustalxColourSchemeTest.java +++ b/test/jalview/schemes/ClustalxColourSchemeTest.java @@ -151,4 +151,12 @@ public class ClustalxColourSchemeTest // 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); + } }