X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2FMCview%2FPDBCanvas.java;h=3b12ee9f88f7ca23e8ca667dcc717cb11c41d76c;hb=c0b7a760fe1ced5fe25ee3c3fd272e03f7526fa2;hp=fdd673bb591ab486faaa97e7db1dd33bb3482cd4;hpb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;p=jalview.git diff --git a/src/MCview/PDBCanvas.java b/src/MCview/PDBCanvas.java index fdd673b..3b12ee9 100644 --- a/src/MCview/PDBCanvas.java +++ b/src/MCview/PDBCanvas.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -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; @@ -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,11 +153,12 @@ 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.id); + pdbentry.setFile("INLINE" + pdb.getId()); } } catch (Exception ex) @@ -168,7 +172,7 @@ public class PDBCanvas extends JPanel implements MouseListener, errorMessage = "Error loading file: " + pdbentry.getId(); return; } - pdbentry.setId(pdb.id); + pdbentry.setId(pdb.getId()); ssm.addStructureViewerListener(this); @@ -184,28 +188,32 @@ public class PDBCanvas extends JPanel implements MouseListener, // JUST DEAL WITH ONE SEQUENCE FOR NOW SequenceI sequence = seq[0]; - for (int i = 0; i < pdb.chains.size(); i++) + for (int i = 0; i < pdb.getChains().size(); i++) { - mappingDetails.append("\n\nPDB Sequence is :\nSequence = " - + pdb.chains.elementAt(i).sequence.getSequenceAsString()); + mappingDetails + .append("\n\nPDB Sequence is :\nSequence = " + + pdb.getChains().elementAt(i).sequence + .getSequenceAsString()); mappingDetails.append("\nNo of residues = " - + pdb.chains.elementAt(i).residues.size() + "\n\n"); + + pdb.getChains().elementAt(i).residues.size() + "\n\n"); // Now lets compare the sequences to get // the start and end points. // Align the sequence to the pdb AlignSeq as = new AlignSeq(sequence, - pdb.chains.elementAt(i).sequence, "pep"); + pdb.getChains().elementAt(i).sequence, "pep"); as.calcScoreMatrix(); as.traceAlignment(); PrintStream ps = new PrintStream(System.out) { + @Override public void print(String x) { mappingDetails.append(x); } + @Override public void println() { mappingDetails.append("\n"); @@ -229,7 +237,7 @@ public class PDBCanvas extends JPanel implements MouseListener, mappingDetails.append("\nSEQ start/end " + seqstart + " " + seqend); } - mainchain = pdb.chains.elementAt(maxchain); + mainchain = pdb.getChains().elementAt(maxchain); mainchain.pdbstart = pdbstart; mainchain.pdbend = pdbend; @@ -245,6 +253,7 @@ public class PDBCanvas extends JPanel implements MouseListener, addKeyListener(new KeyAdapter() { + @Override public void keyPressed(KeyEvent evt) { keyPressed(evt); @@ -271,7 +280,7 @@ public class PDBCanvas extends JPanel implements MouseListener, // Sort the bonds by z coord visiblebonds = new Vector(); - for (PDBChain chain : pdb.chains) + for (PDBChain chain : pdb.getChains()) { if (chain.isVisible) { @@ -301,7 +310,7 @@ public class PDBCanvas extends JPanel implements MouseListener, min[1] = (float) 1e30; min[2] = (float) 1e30; - for (PDBChain chain : pdb.chains) + for (PDBChain chain : pdb.getChains()) { if (chain.isVisible) { @@ -432,7 +441,7 @@ public class PDBCanvas extends JPanel implements MouseListener, int bsize = 0; // Find centre coordinate - for (PDBChain chain : pdb.chains) + for (PDBChain chain : pdb.getChains()) { if (chain.isVisible) { @@ -452,6 +461,7 @@ public class PDBCanvas extends JPanel implements MouseListener, centre[2] = ztot / (2 * (float) bsize); } + @Override public void paintComponent(Graphics g) { super.paintComponent(g); @@ -538,12 +548,13 @@ public class PDBCanvas extends JPanel implements MouseListener, showFeatures = true; } + FeatureColourFinder finder = new FeatureColourFinder(fr); PDBChain chain; if (bysequence && pdb != null) { - for (int ii = 0; ii < pdb.chains.size(); ii++) + for (int ii = 0; ii < pdb.getChains().size(); ii++) { - chain = pdb.chains.elementAt(ii); + chain = pdb.getChains().elementAt(ii); for (int i = 0; i < chain.bonds.size(); i++) { @@ -565,23 +576,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); } } @@ -745,6 +748,7 @@ public class PDBCanvas extends JPanel implements MouseListener, } } + @Override public void mousePressed(MouseEvent e) { pdbAction = true; @@ -757,7 +761,7 @@ public class PDBCanvas extends JPanel implements MouseListener, repaint(); if (foundchain != -1) { - PDBChain chain = pdb.chains.elementAt(foundchain); + PDBChain chain = pdb.getChains().elementAt(foundchain); if (chain == mainchain) { if (fatom.alignmentMapping != -1) @@ -789,6 +793,7 @@ public class PDBCanvas extends JPanel implements MouseListener, dragging = false; } + @Override public void mouseMoved(MouseEvent e) { pdbAction = true; @@ -805,7 +810,7 @@ public class PDBCanvas extends JPanel implements MouseListener, PDBChain chain = null; if (foundchain != -1) { - chain = pdb.chains.elementAt(foundchain); + chain = pdb.getChains().elementAt(foundchain); if (chain == mainchain) { mouseOverStructure(fatom.resNumber, chain.id); @@ -824,18 +829,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(); @@ -857,7 +866,7 @@ public class PDBCanvas extends JPanel implements MouseListener, } // Alter the bonds - for (PDBChain chain : pdb.chains) + for (PDBChain chain : pdb.getChains()) { for (Bond tmpBond : chain.bonds) { @@ -885,6 +894,7 @@ public class PDBCanvas extends JPanel implements MouseListener, repaint(); } + @Override public void mouseReleased(MouseEvent evt) { dragging = false; @@ -894,7 +904,7 @@ public class PDBCanvas extends JPanel implements MouseListener, void drawLabels(Graphics g) { - for (PDBChain chain : pdb.chains) + for (PDBChain chain : pdb.getChains()) { if (chain.isVisible) { @@ -943,9 +953,9 @@ public class PDBCanvas extends JPanel implements MouseListener, foundchain = -1; - for (int ii = 0; ii < pdb.chains.size(); ii++) + for (int ii = 0; ii < pdb.getChains().size(); ii++) { - PDBChain chain = pdb.chains.elementAt(ii); + PDBChain chain = pdb.getChains().elementAt(ii); int truex; Bond tmpBond = null; @@ -990,7 +1000,7 @@ public class PDBCanvas extends JPanel implements MouseListener, if (fatom != null) // )&& chain.ds != null) { // dead code? value of chain is either overwritten or discarded - chain = pdb.chains.elementAt(foundchain); + chain = pdb.getChains().elementAt(foundchain); } } @@ -1053,9 +1063,9 @@ public class PDBCanvas extends JPanel implements MouseListener, public void setAllchainsVisible(boolean b) { - for (int ii = 0; ii < pdb.chains.size(); ii++) + for (int ii = 0; ii < pdb.getChains().size(); ii++) { - PDBChain chain = pdb.chains.elementAt(ii); + PDBChain chain = pdb.getChains().elementAt(ii); chain.isVisible = b; } mainchain.isVisible = true; @@ -1065,7 +1075,8 @@ public class PDBCanvas extends JPanel implements MouseListener, // //////////////////////////////// // /StructureListener - public String[] getPdbFile() + @Override + public String[] getStructureFiles() { return new String[] { pdbentry.getFile() }; } @@ -1169,6 +1180,7 @@ public class PDBCanvas extends JPanel implements MouseListener, // return new Color(viewer.getAtomArgb(atomIndex)); } + @Override public void updateColours(Object source) { colourBySequence();