colour by sequence just about works
authoramwaterhouse <Andrew Waterhouse>
Thu, 5 May 2005 13:25:12 +0000 (13:25 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 5 May 2005 13:25:12 +0000 (13:25 +0000)
src/MCview/PDBChain.java

index 15de7c3..92627d5 100755 (executable)
@@ -34,6 +34,8 @@ public class PDBChain {
   public Sequence sequence;\r
   public boolean isVisible = false;\r
 \r
+  public int pdbstart=0, pdbend=0, seqstart=0, seqend=0;\r
+\r
   //public DrawableSequence ds;\r
 \r
   public PDBChain(String id) {\r
@@ -209,38 +211,41 @@ public class PDBChain {
   }\r
 \r
 \r
-  public void colourBySequence(Sequence seq) {\r
-\r
-//    for (int i = 0; i < bonds.size(); i++) {\r
-//      Bond tmp = (Bond)bonds.elementAt(i);\r
-//      try {\r
-//\r
-//        if (tmp.at1.resNumber >= (offset + seq.pdbstart - 1) && tmp.at1.resNumber <= (offset + seq.pdbend - 1)) {\r
-//\r
-//          int pos   = seq.seqtart() + (tmp.at1.resNumber - seq.pdbstart - offset) ;\r
-//          int index = seq.findIndex(pos);\r
-//\r
-//          tmp.startCol = (Color)seq.getResidueBoxColour(index);\r
-//\r
-//        } else {\r
-//          tmp.startCol = Color.gray;\r
-//        }\r
-//\r
-//        if (tmp.at2.resNumber >= (offset + seq.pdbstart -1) && tmp.at2.resNumber <= (seq.pdbend+offset-1)) {\r
-//\r
-//          int pos    = seq.seqstart + (tmp.at2.resNumber - seq.pdbstart-offset);\r
-//          int index  = seq.findIndex(pos);\r
-//\r
-//          tmp.endCol = (Color)seq.getResidueBoxColour(index);\r
-//\r
-//        } else {\r
-//          tmp.endCol = Color.gray;\r
-//        }\r
-//      } catch (Exception e) {\r
-//        tmp.startCol = Color.lightGray;\r
-//        tmp.endCol = Color.lightGray;\r
-//      }\r
-//    }\r
+  public void colourBySequence(jalview.gui.AlignViewport av, Sequence seq) {\r
+jalview.gui.SequenceRenderer sr = new jalview.gui.SequenceRenderer(av);\r
+\r
+\r
+    for (int i = 0; i < bonds.size(); i++) {\r
+      Bond tmp = (Bond)bonds.elementAt(i);\r
+      try {\r
+\r
+        if (tmp.at1.resNumber >= (offset + pdbstart - 1) && tmp.at1.resNumber <= (offset + pdbend - 1)) {\r
+\r
+          int pos   = seqstart + (tmp.at1.resNumber - pdbstart - offset) ;\r
+          int index = seq.findIndex(pos);\r
+\r
+\r
+          tmp.startCol = sr.getResidueBoxColour(av.getGlobalColourScheme(), seq, index);\r
+\r
+        } else {\r
+          tmp.startCol = Color.gray;\r
+        }\r
+\r
+        if (tmp.at2.resNumber >= (offset + pdbstart -1) && tmp.at2.resNumber <= (pdbend+offset-1)) {\r
+\r
+          int pos    = seqstart + (tmp.at2.resNumber - pdbstart-offset);\r
+          int index  = seq.findIndex(pos);\r
+\r
+          tmp.endCol = sr.getResidueBoxColour(av.getGlobalColourScheme(), seq, index);\r
+\r
+        } else {\r
+          tmp.endCol = Color.gray;\r
+        }\r
+      } catch (Exception e) {\r
+        tmp.startCol = Color.lightGray;\r
+        tmp.endCol = Color.lightGray;\r
+      }\r
+    }\r
   }\r
 \r
   public void setChainColours() {\r