From: amwaterhouse Date: Thu, 5 May 2005 13:25:12 +0000 (+0000) Subject: colour by sequence just about works X-Git-Tag: Release_2_0~311 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=c1f5bec45d222fc1513a5bc8c75376145a93c2c7;p=jalview.git colour by sequence just about works --- diff --git a/src/MCview/PDBChain.java b/src/MCview/PDBChain.java index 15de7c3..92627d5 100755 --- a/src/MCview/PDBChain.java +++ b/src/MCview/PDBChain.java @@ -34,6 +34,8 @@ public class PDBChain { public Sequence sequence; public boolean isVisible = false; + public int pdbstart=0, pdbend=0, seqstart=0, seqend=0; + //public DrawableSequence ds; public PDBChain(String id) { @@ -209,38 +211,41 @@ public class PDBChain { } - public void colourBySequence(Sequence seq) { - -// for (int i = 0; i < bonds.size(); i++) { -// Bond tmp = (Bond)bonds.elementAt(i); -// try { -// -// if (tmp.at1.resNumber >= (offset + seq.pdbstart - 1) && tmp.at1.resNumber <= (offset + seq.pdbend - 1)) { -// -// int pos = seq.seqtart() + (tmp.at1.resNumber - seq.pdbstart - offset) ; -// int index = seq.findIndex(pos); -// -// tmp.startCol = (Color)seq.getResidueBoxColour(index); -// -// } else { -// tmp.startCol = Color.gray; -// } -// -// if (tmp.at2.resNumber >= (offset + seq.pdbstart -1) && tmp.at2.resNumber <= (seq.pdbend+offset-1)) { -// -// int pos = seq.seqstart + (tmp.at2.resNumber - seq.pdbstart-offset); -// int index = seq.findIndex(pos); -// -// tmp.endCol = (Color)seq.getResidueBoxColour(index); -// -// } else { -// tmp.endCol = Color.gray; -// } -// } catch (Exception e) { -// tmp.startCol = Color.lightGray; -// tmp.endCol = Color.lightGray; -// } -// } + public void colourBySequence(jalview.gui.AlignViewport av, Sequence seq) { +jalview.gui.SequenceRenderer sr = new jalview.gui.SequenceRenderer(av); + + + for (int i = 0; i < bonds.size(); i++) { + Bond tmp = (Bond)bonds.elementAt(i); + try { + + if (tmp.at1.resNumber >= (offset + pdbstart - 1) && tmp.at1.resNumber <= (offset + pdbend - 1)) { + + int pos = seqstart + (tmp.at1.resNumber - pdbstart - offset) ; + int index = seq.findIndex(pos); + + + tmp.startCol = sr.getResidueBoxColour(av.getGlobalColourScheme(), seq, index); + + } else { + tmp.startCol = Color.gray; + } + + if (tmp.at2.resNumber >= (offset + pdbstart -1) && tmp.at2.resNumber <= (pdbend+offset-1)) { + + int pos = seqstart + (tmp.at2.resNumber - pdbstart-offset); + int index = seq.findIndex(pos); + + tmp.endCol = sr.getResidueBoxColour(av.getGlobalColourScheme(), seq, index); + + } else { + tmp.endCol = Color.gray; + } + } catch (Exception e) { + tmp.startCol = Color.lightGray; + tmp.endCol = Color.lightGray; + } + } } public void setChainColours() {