git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Sequence colour in viewport
[jalview.git]
/
src
/
MCview
/
AppletPDBCanvas.java
diff --git
a/src/MCview/AppletPDBCanvas.java
b/src/MCview/AppletPDBCanvas.java
index
d6247f4
..
220d5f3
100755
(executable)
--- a/
src/MCview/AppletPDBCanvas.java
+++ b/
src/MCview/AppletPDBCanvas.java
@@
-1,6
+1,6
@@
/*
\r
* Jalview - A Sequence Alignment Editor and Viewer
\r
/*
\r
* Jalview - A Sequence Alignment Editor and Viewer
\r
-* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
\r
+* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
\r
*
\r
* This program is free software; you can redistribute it and/or
\r
* modify it under the terms of the GNU General Public License
\r
*
\r
* This program is free software; you can redistribute it and/or
\r
* modify it under the terms of the GNU General Public License
\r
@@
-76,6
+76,8
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
boolean pdbAction = false;
\r
Bond highlightBond1, highlightBond2;
\r
boolean errorLoading = false;
\r
boolean pdbAction = false;
\r
Bond highlightBond1, highlightBond2;
\r
boolean errorLoading = false;
\r
+ boolean seqColoursReady = false;
\r
+ jalview.appletgui.FeatureRenderer fr;
\r
\r
public AppletPDBCanvas(jalview.appletgui.SeqCanvas seqcanvas, Sequence seq)
\r
{
\r
\r
public AppletPDBCanvas(jalview.appletgui.SeqCanvas seqcanvas, Sequence seq)
\r
{
\r
@@
-117,7
+119,7
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
((PDBChain) pdb.chains.elementAt(i)).sequence, "pep");
\r
as.calcScoreMatrix();
\r
as.traceAlignment();
\r
((PDBChain) pdb.chains.elementAt(i)).sequence, "pep");
\r
as.calcScoreMatrix();
\r
as.traceAlignment();
\r
- PrintStream ps = new PrintStream(System.out)
\r
+ PrintStream ps = new PrintStream(System.out)
\r
{
\r
public void print(String x) {
\r
mappingDetails.append(x);
\r
{
\r
public void print(String x) {
\r
mappingDetails.append(x);
\r
@@
-186,6
+188,7
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
Vector visiblebonds;
\r
void setupBonds()
\r
{
\r
Vector visiblebonds;
\r
void setupBonds()
\r
{
\r
+ seqColoursReady = false;
\r
// Sort the bonds by z coord
\r
visiblebonds = new Vector();
\r
\r
// Sort the bonds by z coord
\r
visiblebonds = new Vector();
\r
\r
@@
-202,6
+205,7
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
}
\r
}
\r
updateSeqColours();
\r
}
\r
}
\r
updateSeqColours();
\r
+ seqColoursReady = true;
\r
redrawneeded = true;
\r
repaint();
\r
}
\r
redrawneeded = true;
\r
repaint();
\r
}
\r
@@
-360,7
+364,8
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
g.drawString("Error loading PDB data!!", 50, getSize().height/2);
\r
return;
\r
}
\r
g.drawString("Error loading PDB data!!", 50, getSize().height/2);
\r
return;
\r
}
\r
- else if(visiblebonds==null)
\r
+
\r
+ if( !seqColoursReady )
\r
{
\r
g.setColor(Color.black);
\r
g.setFont(new Font("Verdana", Font.BOLD, 14));
\r
{
\r
g.setColor(Color.black);
\r
g.setFont(new Font("Verdana", Font.BOLD, 14));
\r
@@
-414,7
+419,13
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
drawLabels(ig);
\r
}
\r
\r
drawLabels(ig);
\r
}
\r
\r
-
\r
+ void setColours(jalview.schemes.ColourSchemeI cs)
\r
+ {
\r
+ bysequence = false;
\r
+ pdb.setColours(cs);
\r
+ redrawneeded = true;
\r
+ repaint();
\r
+ }
\r
public void updateSeqColours()
\r
{
\r
if (pdbAction)
\r
public void updateSeqColours()
\r
{
\r
if (pdbAction)
\r
@@
-469,6
+480,18
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
// Applet and Application specific sequence renderers to be used
\r
void colourBySequence(PDBChain chain)
\r
{
\r
// Applet and Application specific sequence renderers to be used
\r
void colourBySequence(PDBChain chain)
\r
{
\r
+ boolean showFeatures = false;
\r
+
\r
+ if(seqcanvas.getViewport().getShowSequenceFeatures())
\r
+ {
\r
+ if(fr==null)
\r
+ {
\r
+ fr = new jalview.appletgui.FeatureRenderer(seqcanvas.getViewport());
\r
+ }
\r
+ fr.transferSettings( seqcanvas.getFeatureRenderer());
\r
+ showFeatures = true;
\r
+ }
\r
+
\r
for (int i = 0; i < chain.bonds.size(); i++)
\r
{
\r
Bond tmp = (Bond) chain.bonds.elementAt(i);
\r
for (int i = 0; i < chain.bonds.size(); i++)
\r
{
\r
Bond tmp = (Bond) chain.bonds.elementAt(i);
\r
@@
-488,8
+511,8
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
tmp.startCol = seqcanvas.getSequenceRenderer().
\r
getResidueBoxColour( sequence, index);
\r
\r
tmp.startCol = seqcanvas.getSequenceRenderer().
\r
getResidueBoxColour( sequence, index);
\r
\r
- // tmp.startCol = seqcanvas.getFeatureRenderer().
\r
- // findFeatureColour(tmp.startCol, sequence, index);
\r
+ if(showFeatures)
\r
+ tmp.startCol = fr.findFeatureColour(tmp.startCol, sequence, index);
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-499,18
+522,23
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
{
\r
tmp.endCol = seqcanvas.getSequenceRenderer().
\r
getResidueBoxColour( sequence, index);
\r
{
\r
tmp.endCol = seqcanvas.getSequenceRenderer().
\r
getResidueBoxColour( sequence, index);
\r
- // tmp.endCol = seqcanvas.getFeatureRenderer().
\r
- // findFeatureColour(tmp.endCol, sequence, index);
\r
+
\r
+ if(showFeatures)
\r
+ tmp.endCol = fr.findFeatureColour(tmp.endCol, sequence, index);
\r
}
\r
}
\r
}
\r
\r
\r
}
\r
}
\r
}
\r
\r
\r
+ Zsort zsort;
\r
public void drawScene(Graphics g)
\r
{
\r
public void drawScene(Graphics g)
\r
{
\r
+ if (zbuffer)
\r
+ {
\r
+ if(zsort ==null)
\r
+ zsort = new Zsort();
\r
\r
\r
- if (zbuffer) {
\r
- Zsort.Zsort(visiblebonds);
\r
+ zsort.Zsort(visiblebonds);
\r
}
\r
\r
\r
}
\r
\r
\r
@@
-706,35
+734,24
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
\r
void highlightSeqcanvas(int pos)
\r
{
\r
\r
void highlightSeqcanvas(int pos)
\r
{
\r
- int index = seqcanvas.getViewport().getAlignment().findIndex(sequence);
\r
-
\r
- int size = pos==-1?0:3;
\r
-
\r
- if(highlightRes!=null)
\r
- size += highlightRes.size()*3;
\r
-
\r
- int [] array = new int[size];
\r
- int i=0;
\r
+ SearchResults searchResults = new SearchResults();
\r
if(highlightRes!=null)
\r
{
\r
if(highlightRes!=null)
\r
{
\r
- for (i = 0; i < highlightRes.size(); i++)
\r
+ for (int i = 0; i < highlightRes.size(); i++)
\r
{
\r
int a = Integer.parseInt(highlightRes.elementAt(
\r
i).toString())+1;
\r
{
\r
int a = Integer.parseInt(highlightRes.elementAt(
\r
i).toString())+1;
\r
- array[i * 3] = index;
\r
- array[ (i * 3) + 1] = a;
\r
- array[ (i * 3) + 2] = a;
\r
+
\r
+ searchResults.addResult(sequence, a, a);
\r
}
\r
}
\r
\r
if(pos!=-1)
\r
{
\r
}
\r
}
\r
\r
if(pos!=-1)
\r
{
\r
- array[i * 3] = index;
\r
- array[i * 3 + 1] = pos+1;
\r
- array[i * 3 + 2] = pos+1;
\r
+ searchResults.addResult(sequence, pos+1, pos+1);
\r
}
\r
\r
}
\r
\r
- seqcanvas.highlightSearchResults(array);
\r
+ seqcanvas.highlightSearchResults(searchResults);
\r
}
\r
\r
\r
}
\r
\r
\r
@@
-925,6
+942,8
@@
public class AppletPDBCanvas extends Panel implements MouseListener, MouseMotion
\r
public void highlightRes(int ii)
\r
{
\r
\r
public void highlightRes(int ii)
\r
{
\r
+ if(!seqColoursReady)
\r
+ return;
\r
\r
if (highlightRes != null
\r
&& highlightRes.contains((ii-1) + ""))
\r
\r
if (highlightRes != null
\r
&& highlightRes.contains((ii-1) + ""))
\r