From 99d232760cad85a580551c576cf7705726c28568 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Sat, 3 Oct 2009 13:23:32 +0000 Subject: [PATCH] rename JamView and fix zooming-in when running bam viewer outside artemis interface git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@11937 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- .../alignment/{JamView.java => BamView.java} | 37 ++++++++++--------- .../components/alignment/CoveragePanel.java | 4 +- .../alignment/PairedReadComparator.java | 2 +- 3 files changed, 22 insertions(+), 21 deletions(-) rename uk/ac/sanger/artemis/components/alignment/{JamView.java => BamView.java} (98%) diff --git a/uk/ac/sanger/artemis/components/alignment/JamView.java b/uk/ac/sanger/artemis/components/alignment/BamView.java similarity index 98% rename from uk/ac/sanger/artemis/components/alignment/JamView.java rename to uk/ac/sanger/artemis/components/alignment/BamView.java index 5556e681d..6329e244b 100644 --- a/uk/ac/sanger/artemis/components/alignment/JamView.java +++ b/uk/ac/sanger/artemis/components/alignment/BamView.java @@ -112,7 +112,7 @@ import uk.ac.sanger.artemis.util.Document; import uk.ac.sanger.artemis.util.DocumentFactory; import uk.ac.sanger.artemis.util.OutOfRangeException; -public class JamView extends JPanel +public class BamView extends JPanel implements Scrollable, DisplayAdjustmentListener, SelectionChangeListener { private static final long serialVersionUID = 1L; @@ -171,7 +171,7 @@ public class JamView extends JPanel private JPopupMenu popup; - public JamView(String bam, + public BamView(String bam, String reference, int nbasesInView) { @@ -478,7 +478,7 @@ public class JamView extends JPanel try { readFromBamPicard(start, end); - if(!isStackView || pixPerBase*3 >= ALIGNMENT_PIX_PER_BASE) + if(!isStackView || pixPerBase*1.08f >= ALIGNMENT_PIX_PER_BASE) Collections.sort(readsInView, new SAMRecordComparator()); setCursor(cdone); @@ -492,7 +492,7 @@ public class JamView extends JPanel laststart = start; lastend = end; - if(pixPerBase*3 >= ALIGNMENT_PIX_PER_BASE) + if(pixPerBase*1.08f >= ALIGNMENT_PIX_PER_BASE) drawBaseAlignment(g2, seqLength, pixPerBase, start, end); else { @@ -521,7 +521,7 @@ public class JamView extends JPanel private int getMaxBasesInPanel(int seqLength) { if(feature_display == null) - return seqLength+nbasesInView/2; + return seqLength+nbasesInView/3; else return seqLength+nbasesInView; } @@ -564,8 +564,6 @@ public class JamView extends JPanel refSeq = bases.getSubSequence(new Range(refSeqStart, seqEnd), Bases.FORWARD).toUpperCase(); - System.out.println(refSeqStart +" "+ seqEnd+" "+refSeq); - g2.setColor(lightGrey); g2.fillRect(0, ypos-11, getPreferredSize().width, 11); drawSelectionRange(g2, pixPerBase, start, end); @@ -1335,7 +1333,7 @@ public class JamView extends JPanel { laststart = -1; lastend = -1; - setZoomLevel(JamView.this.nbasesInView); + setZoomLevel(BamView.this.nbasesInView); } }); topPanel.add(combo); @@ -1356,7 +1354,7 @@ public class JamView extends JPanel } catch (NumberFormatException nfe) { - JOptionPane.showMessageDialog(JamView.this, + JOptionPane.showMessageDialog(BamView.this, "Expecting a base number!", "Number Format", JOptionPane.WARNING_MESSAGE); } @@ -1372,7 +1370,7 @@ public class JamView extends JPanel { public void actionPerformed(ActionEvent e) { - setZoomLevel((int) (JamView.this.nbasesInView * 1.1)); + setZoomLevel((int) (BamView.this.nbasesInView * 1.1)); } }); topPanel.add(zoomIn); @@ -1385,7 +1383,7 @@ public class JamView extends JPanel { if (showBaseAlignment) return; - setZoomLevel((int) (JamView.this.nbasesInView * .9)); + setZoomLevel((int) (BamView.this.nbasesInView * .9)); } }); topPanel.add(zoomOut); @@ -1416,6 +1414,7 @@ public class JamView extends JPanel { scrollBar = new JScrollBar(JScrollBar.HORIZONTAL, 1, nbasesInView, 1, getMaxBasesInPanel(getSequenceLength())); + scrollBar.setUnitIncrement(nbasesInView/20); scrollBar.addAdjustmentListener(new AdjustmentListener() { public void adjustmentValueChanged(AdjustmentEvent e) @@ -1442,12 +1441,12 @@ public class JamView extends JPanel switch (event.getKeyCode()) { case KeyEvent.VK_UP: - setZoomLevel((int) (JamView.this.nbasesInView * 1.1)); + setZoomLevel((int) (BamView.this.nbasesInView * 1.1)); break; case KeyEvent.VK_DOWN: if (showBaseAlignment) break; - setZoomLevel((int) (JamView.this.nbasesInView * .9)); + setZoomLevel((int) (BamView.this.nbasesInView * .9)); break; default: break; @@ -1601,10 +1600,9 @@ public class JamView extends JPanel { int startValue = getBaseAtStartOfView(); this.nbasesInView = nbasesInView; - float pixPerBase = getPixPerBaseByWidth(); - if(pixPerBase*3 > ALIGNMENT_PIX_PER_BASE) + if(pixPerBase*1.08f >= ALIGNMENT_PIX_PER_BASE) { pixPerBase = ALIGNMENT_PIX_PER_BASE; this.nbasesInView = (int)(getPreferredSize().getWidth()/pixPerBase); @@ -1621,8 +1619,11 @@ public class JamView extends JPanel } if(scrollBar != null) + { scrollBar.setValues(startValue, nbasesInView, 1, getMaxBasesInPanel(getSequenceLength())); + scrollBar.setUnitIncrement(nbasesInView/20); + } } @@ -1653,7 +1654,7 @@ public class JamView extends JPanel pixPerBase = feature_display.getWidth()/(float)(end-start+1); } - if(pixPerBase*3 > ALIGNMENT_PIX_PER_BASE) + if(pixPerBase*1.08f >= ALIGNMENT_PIX_PER_BASE) { pixPerBase = ALIGNMENT_PIX_PER_BASE; jspView.getVerticalScrollBar().setValue(0); @@ -1934,7 +1935,7 @@ public class JamView extends JPanel { public void mouseClicked(MouseEvent e) { - JamView.this.requestFocus(); + BamView.this.requestFocus(); handleCanvasMouseDragOrClick(e); } @@ -1999,7 +2000,7 @@ public class JamView extends JPanel } } - final JamView view = new JamView(bam, reference, nbasesInView); + final BamView view = new BamView(bam, reference, nbasesInView); JFrame frame = new JFrame("JAM"); // translucent diff --git a/uk/ac/sanger/artemis/components/alignment/CoveragePanel.java b/uk/ac/sanger/artemis/components/alignment/CoveragePanel.java index 46a488a58..42875b732 100644 --- a/uk/ac/sanger/artemis/components/alignment/CoveragePanel.java +++ b/uk/ac/sanger/artemis/components/alignment/CoveragePanel.java @@ -43,9 +43,9 @@ import net.sf.samtools.SAMRecord; private int end; private float pixPerBase; private Color lightBlue = new Color(30,144,255); - private JamView jamView; + private BamView jamView; - public CoveragePanel(JamView jamView) + public CoveragePanel(BamView jamView) { super(); setBackground(Color.white); diff --git a/uk/ac/sanger/artemis/components/alignment/PairedReadComparator.java b/uk/ac/sanger/artemis/components/alignment/PairedReadComparator.java index 1b652b1b8..b8c655b3c 100644 --- a/uk/ac/sanger/artemis/components/alignment/PairedReadComparator.java +++ b/uk/ac/sanger/artemis/components/alignment/PairedReadComparator.java @@ -26,7 +26,7 @@ package uk.ac.sanger.artemis.components.alignment; import java.util.Comparator; -import uk.ac.sanger.artemis.components.alignment.JamView.PairedRead; +import uk.ac.sanger.artemis.components.alignment.BamView.PairedRead; class PairedReadComparator implements Comparator<Object> -- GitLab