From 1dbe649695c2c5d4475dcf61e51ed24cddf16594 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Thu, 5 May 2005 13:25:49 +0000 Subject: [PATCH] pdb end seq and startseq determined here --- src/MCview/rotCanvas.java | 53 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/src/MCview/rotCanvas.java b/src/MCview/rotCanvas.java index 5df8d9f..9b822f3 100755 --- a/src/MCview/rotCanvas.java +++ b/src/MCview/rotCanvas.java @@ -5,6 +5,8 @@ import java.awt.event.*; import java.util.*; import java.io.*; import javax.swing.*; +import jalview.analysis.AlignSeq; +import jalview.datamodel.*; public class rotCanvas extends JPanel implements KeyListener, MouseListener, @@ -53,7 +55,53 @@ public class rotCanvas extends JPanel implements KeyListener, Font font = new Font("Helvetica",Font.PLAIN,10); - public rotCanvas(PDBfile pdb) throws IOException { + public rotCanvas(PDBfile pdb, Sequence sequence, jalview.gui.AlignViewport av) throws IOException { + + int max = -10; + int maxchain = -1; + int pdbstart=0, pdbend=0, seqstart =0, seqend=0; + + + for (int i=0; i < pdb.chains.size(); i++) { + // Now lets compare the sequences to get + // the start and end points. + + java.util.StringTokenizer str = new java.util.StringTokenizer(sequence.getSequence(), "."); + String newString = ""; + + while (str.hasMoreTokens()) { + newString += str.nextToken(); + } + // Align the sequence to the pdb + AlignSeq as = new AlignSeq(sequence,((PDBChain)pdb.chains.elementAt(i)).sequence,"pep"); + as.calcScoreMatrix(); + as.traceAlignment(); + as.printAlignment(); + + if (as.maxscore > max) { + max = as.maxscore; + maxchain = i; + + pdbstart = as.seq2start; + pdbend = as.seq2end; + seqstart = as.seq1start - 1 ; + seqend = as.seq1end -1; + } + + System.out.println("PDB start/end " + pdbstart + " " + pdbend); + System.out.println("SEQ start/end " + seqstart + " " + seqend); + } + + + ( (PDBChain)pdb.chains.elementAt(maxchain)).pdbstart = pdbstart; + ( (PDBChain)pdb.chains.elementAt(maxchain)).pdbend = pdbend; + ( (PDBChain)pdb.chains.elementAt(maxchain)).seqstart = seqstart; + ( (PDBChain)pdb.chains.elementAt(maxchain)).seqend = seqend; + ( (PDBChain) pdb.chains.elementAt(maxchain)).isVisible = true; + ( (PDBChain) pdb.chains.elementAt(maxchain)).sequence = sequence; + ( (PDBChain)pdb.chains.elementAt(maxchain)).colourBySequence(av, sequence); + + this.pdb = pdb; this.prefsize = new Dimension( getWidth(), getHeight()); @@ -231,7 +279,7 @@ public class rotCanvas extends JPanel implements KeyListener, centre[2] = ztot / (2 * (float)bsize); } - public void paintComponent(Graphics g) { + public void paint(Graphics g) { //Only create the image at the beginning - //this saves much memory usage if ((img == null) || (prefsize.width != getWidth()) || (prefsize.height != getHeight())) { @@ -473,7 +521,6 @@ public class rotCanvas extends JPanel implements KeyListener, if(fatom!=null) { this.setToolTipText(fatom.resName); - System.out.println(fatom.resName); } else this.setToolTipText(null); -- 1.7.10.2