X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2FMCview%2FPDBCanvas.java;h=ab172f2cb8744b7c44b0c02f5adedce21c236557;hb=5f38ef0b2ae1355b51fd79cfac56f261f4bd78a7;hp=dfe7c8f88bdacc0582d225ba01e08b18e0727977;hpb=6d7ab37f37b09174ec61fee301aed6057ef86605;p=jalview.git diff --git a/src/MCview/PDBCanvas.java b/src/MCview/PDBCanvas.java index dfe7c8f..ab172f2 100644 --- a/src/MCview/PDBCanvas.java +++ b/src/MCview/PDBCanvas.java @@ -26,6 +26,9 @@ import jalview.datamodel.SequenceI; import jalview.gui.AlignmentPanel; import jalview.gui.FeatureRenderer; import jalview.gui.SequenceRenderer; +import jalview.io.DataSourceType; +import jalview.io.StructureFile; +import jalview.renderer.seqfeatures.FeatureColourFinder; import jalview.structure.AtomSpec; import jalview.structure.StructureListener; import jalview.structure.StructureMapping; @@ -52,8 +55,8 @@ import java.util.Vector; import javax.swing.JPanel; import javax.swing.ToolTipManager; -public class PDBCanvas extends JPanel implements MouseListener, - MouseMotionListener, StructureListener +public class PDBCanvas extends JPanel + implements MouseListener, MouseMotionListener, StructureListener { boolean redrawneeded = true; @@ -65,7 +68,7 @@ public class PDBCanvas extends JPanel implements MouseListener, int my = 0; - public PDBfile pdb; + public StructureFile pdb; PDBEntry pdbentry; @@ -140,7 +143,7 @@ public class PDBCanvas extends JPanel implements MouseListener, String errorMessage; void init(PDBEntry pdbentry, SequenceI[] seq, String[] chains, - AlignmentPanel ap, String protocol) + AlignmentPanel ap, DataSourceType protocol) { this.ap = ap; this.pdbentry = pdbentry; @@ -150,9 +153,10 @@ public class PDBCanvas extends JPanel implements MouseListener, try { - pdb = ssm.setMapping(seq, chains, pdbentry.getFile(), protocol); + pdb = ssm.setMapping(seq, chains, pdbentry.getFile(), protocol, + ap.alignFrame); - if (protocol.equals(jalview.io.AppletFormatAdapter.PASTE)) + if (protocol.equals(jalview.io.DataSourceType.PASTE)) { pdbentry.setFile("INLINE" + pdb.getId()); } @@ -174,7 +178,7 @@ public class PDBCanvas extends JPanel implements MouseListener, colourBySequence(); - int max = -10; + float max = -10; int maxchain = -1; int pdbstart = 0; int pdbend = 0; @@ -188,7 +192,8 @@ public class PDBCanvas extends JPanel implements MouseListener, { mappingDetails.append("\n\nPDB Sequence is :\nSequence = " - + pdb.getChains().elementAt(i).sequence.getSequenceAsString()); + + pdb.getChains().elementAt(i).sequence + .getSequenceAsString()); mappingDetails.append("\nNo of residues = " + pdb.getChains().elementAt(i).residues.size() + "\n\n"); @@ -201,11 +206,13 @@ public class PDBCanvas extends JPanel implements MouseListener, as.traceAlignment(); PrintStream ps = new PrintStream(System.out) { + @Override public void print(String x) { mappingDetails.append(x); } + @Override public void println() { mappingDetails.append("\n"); @@ -245,6 +252,7 @@ public class PDBCanvas extends JPanel implements MouseListener, addKeyListener(new KeyAdapter() { + @Override public void keyPressed(KeyEvent evt) { keyPressed(evt); @@ -452,6 +460,7 @@ public class PDBCanvas extends JPanel implements MouseListener, centre[2] = ztot / (2 * (float) bsize); } + @Override public void paintComponent(Graphics g) { super.paintComponent(g); @@ -538,6 +547,7 @@ public class PDBCanvas extends JPanel implements MouseListener, showFeatures = true; } + FeatureColourFinder finder = new FeatureColourFinder(fr); PDBChain chain; if (bysequence && pdb != null) { @@ -565,23 +575,15 @@ public class PDBCanvas extends JPanel implements MouseListener, if (pos > 0) { pos = sequence[s].findIndex(pos); - tmp.startCol = sr.getResidueBoxColour(sequence[s], pos); - if (showFeatures) - { - tmp.startCol = fr.findFeatureColour(tmp.startCol, - sequence[s], pos); - } + tmp.startCol = sr.getResidueColour(sequence[s], pos, + finder); } pos = mapping[m].getSeqPos(tmp.at2.resNumber) - 1; if (pos > 0) { pos = sequence[s].findIndex(pos); - tmp.endCol = sr.getResidueBoxColour(sequence[s], pos); - if (showFeatures) - { - tmp.endCol = fr.findFeatureColour(tmp.endCol, - sequence[s], pos); - } + tmp.endCol = sr.getResidueColour(sequence[s], pos, + finder); } } @@ -611,11 +613,15 @@ public class PDBCanvas extends JPanel implements MouseListener, { tmpBond = visiblebonds.elementAt(i); - xstart = (int) (((tmpBond.start[0] - centre[0]) * scale) + (getWidth() / 2)); - ystart = (int) (((centre[1] - tmpBond.start[1]) * scale) + (getHeight() / 2)); + xstart = (int) (((tmpBond.start[0] - centre[0]) * scale) + + (getWidth() / 2)); + ystart = (int) (((centre[1] - tmpBond.start[1]) * scale) + + (getHeight() / 2)); - xend = (int) (((tmpBond.end[0] - centre[0]) * scale) + (getWidth() / 2)); - yend = (int) (((centre[1] - tmpBond.end[1]) * scale) + (getHeight() / 2)); + xend = (int) (((tmpBond.end[0] - centre[0]) * scale) + + (getWidth() / 2)); + yend = (int) (((centre[1] - tmpBond.end[1]) * scale) + + (getHeight() / 2)); xmid = (xend + xstart) / 2; ymid = (yend + ystart) / 2; @@ -679,8 +685,8 @@ public class PDBCanvas extends JPanel implements MouseListener, if (highlightBond1 != null && highlightBond1 == tmpBond) { - g.setColor(tmpBond.endCol.brighter().brighter().brighter() - .brighter()); + g.setColor( + tmpBond.endCol.brighter().brighter().brighter().brighter()); drawLine(g, xmid, ymid, xend, yend); } @@ -745,6 +751,7 @@ public class PDBCanvas extends JPanel implements MouseListener, } } + @Override public void mousePressed(MouseEvent e) { pdbAction = true; @@ -789,6 +796,7 @@ public class PDBCanvas extends JPanel implements MouseListener, dragging = false; } + @Override public void mouseMoved(MouseEvent e) { pdbAction = true; @@ -814,8 +822,8 @@ public class PDBCanvas extends JPanel implements MouseListener, if (fatom != null) { - this.setToolTipText(chain.id + ":" + fatom.resNumber + " " - + fatom.resName); + this.setToolTipText( + chain.id + ":" + fatom.resNumber + " " + fatom.resName); } else { @@ -824,18 +832,22 @@ public class PDBCanvas extends JPanel implements MouseListener, } } + @Override public void mouseClicked(MouseEvent e) { } + @Override public void mouseEntered(MouseEvent e) { } + @Override public void mouseExited(MouseEvent e) { } + @Override public void mouseDragged(MouseEvent evt) { int x = evt.getX(); @@ -885,6 +897,7 @@ public class PDBCanvas extends JPanel implements MouseListener, repaint(); } + @Override public void mouseReleased(MouseEvent evt) { dragging = false; @@ -920,16 +933,20 @@ public class PDBCanvas extends JPanel implements MouseListener, g.setColor(Color.red); if (n == 1) { - int xstart = (int) (((b.start[0] - centre[0]) * scale) + (getWidth() / 2)); - int ystart = (int) (((centre[1] - b.start[1]) * scale) + (getHeight() / 2)); + int xstart = (int) (((b.start[0] - centre[0]) * scale) + + (getWidth() / 2)); + int ystart = (int) (((centre[1] - b.start[1]) * scale) + + (getHeight() / 2)); g.drawString(b.at1.resName + "-" + b.at1.resNumber, xstart, ystart); } if (n == 2) { - int xstart = (int) (((b.end[0] - centre[0]) * scale) + (getWidth() / 2)); - int ystart = (int) (((centre[1] - b.end[1]) * scale) + (getHeight() / 2)); + int xstart = (int) (((b.end[0] - centre[0]) * scale) + + (getWidth() / 2)); + int ystart = (int) (((centre[1] - b.end[1]) * scale) + + (getHeight() / 2)); g.drawString(b.at2.resName + "-" + b.at2.resNumber, xstart, ystart); } @@ -955,11 +972,13 @@ public class PDBCanvas extends JPanel implements MouseListener, { tmpBond = bond; - truex = (int) (((tmpBond.start[0] - centre[0]) * scale) + (getWidth() / 2)); + truex = (int) (((tmpBond.start[0] - centre[0]) * scale) + + (getWidth() / 2)); if (Math.abs(truex - x) <= 2) { - int truey = (int) (((centre[1] - tmpBond.start[1]) * scale) + (getHeight() / 2)); + int truey = (int) (((centre[1] - tmpBond.start[1]) * scale) + + (getHeight() / 2)); if (Math.abs(truey - y) <= 2) { @@ -972,11 +991,13 @@ public class PDBCanvas extends JPanel implements MouseListener, // Still here? Maybe its the last bond - truex = (int) (((tmpBond.end[0] - centre[0]) * scale) + (getWidth() / 2)); + truex = (int) (((tmpBond.end[0] - centre[0]) * scale) + + (getWidth() / 2)); if (Math.abs(truex - x) <= 2) { - int truey = (int) (((tmpBond.end[1] - centre[1]) * scale) + (getHeight() / 2)); + int truey = (int) (((tmpBond.end[1] - centre[1]) * scale) + + (getHeight() / 2)); if (Math.abs(truey - y) <= 2) { @@ -1065,7 +1086,8 @@ public class PDBCanvas extends JPanel implements MouseListener, // //////////////////////////////// // /StructureListener - public String[] getPdbFile() + @Override + public String[] getStructureFiles() { return new String[] { pdbentry.getFile() }; } @@ -1169,6 +1191,7 @@ public class PDBCanvas extends JPanel implements MouseListener, // return new Color(viewer.getAtomArgb(atomIndex)); } + @Override public void updateColours(Object source) { colourBySequence();