diff --git a/uk/ac/sanger/artemis/components/EntryEdit.java b/uk/ac/sanger/artemis/components/EntryEdit.java index 1271d6dad98c1a4115c71816c3e43ccf02258dba..d83930bdfc724c137afca844648353520628f679 100644 --- a/uk/ac/sanger/artemis/components/EntryEdit.java +++ b/uk/ac/sanger/artemis/components/EntryEdit.java @@ -481,6 +481,15 @@ public class EntryEdit extends JFrame jsp_feature_list.getVerticalScrollBar().setUnitIncrement(feature_list.getLineHeight()); Utilities.centreFrame(this); + + if(System.getProperty("bam") != null) + { + String ngs[] = System.getProperty("bam").split("[\\s,]"); + FileSelectionDialog fileChooser = new FileSelectionDialog(ngs); + List<String> listBams = fileChooser.getFiles(".*\\.bam$"); + List<String> vcfFiles = fileChooser.getFiles(".*\\.vcf(\\.gz)*$"); + loadBamAndVcf(listBams, vcfFiles); + } } private Box setExpanderButton(final JButton butt) @@ -1306,58 +1315,12 @@ public class EntryEdit extends JFrame { FileSelectionDialog fileChooser = new FileSelectionDialog( null, false, "BAM / VCF View", "BAM / VCF"); - List<String> listBams = fileChooser.getFiles(".*\\.bam$"); - logger4j.debug("No. BAM FILES="+listBams.size()); - - if(listBams.size() > 0) - { - bamPanel.removeAll(); - try - { - jamView = new BamView(listBams, null, 2000); - } - catch (Exception ex) - { - JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", - JOptionPane.ERROR_MESSAGE); - return; - } - - jamView.setShowScale(false); - jamView.setBases(getEntryGroup().getBases()); - jamView.addJamToPanel(bamPanel, null, true, feature_display); - jamView.getJspView().setHorizontalScrollBarPolicy( - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); - jamView.removeBorder(); - jamView.setDisplay(feature_display.getFirstVisibleForwardBase(), - feature_display.getLastVisibleForwardBase(), null); - bamPanel.revalidate(); - jamView.getJspView().getVerticalScrollBar().setValue( - jamView.getJspView().getVerticalScrollBar().getMaximum()); - feature_display.addDisplayAdjustmentListener(jamView); - feature_display.getSelection().addSelectionChangeListener(jamView); - - setNGDivider(); - } - List<String> vcfFiles = fileChooser.getFiles(".*\\.vcf(\\.gz)*$"); - logger4j.debug("No. VCF FILES="+vcfFiles.size()); - if (vcfFiles.size() > 0) - { - vcfPanel.removeAll(); - vcfView = new VCFview(null, vcfPanel, vcfFiles, - feature_display.getMaxVisibleBases(), 1, null, null, - feature_display); - - feature_display.addDisplayAdjustmentListener(vcfView); - feature_display.getSelection().addSelectionChangeListener(vcfView); - setNGDivider(); - } + loadBamAndVcf(listBams, vcfFiles); } }); - file_menu.add(read_bam_file); - + file_menu.add(read_bam_file); file_menu.addSeparator(); @@ -1852,6 +1815,55 @@ public class EntryEdit extends JFrame file_menu.add(close); } + + private void loadBamAndVcf(List<String> listBams, List<String> vcfFiles) + { + logger4j.debug("No. BAM FILES="+listBams.size()); + + if(listBams.size() > 0) + { + bamPanel.removeAll(); + try + { + jamView = new BamView(listBams, null, 2000); + } + catch (Exception ex) + { + JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", + JOptionPane.ERROR_MESSAGE); + return; + } + + jamView.setShowScale(false); + jamView.setBases(getEntryGroup().getBases()); + jamView.addJamToPanel(bamPanel, null, true, feature_display); + jamView.getJspView().setHorizontalScrollBarPolicy( + JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + jamView.removeBorder(); + jamView.setDisplay(feature_display.getFirstVisibleForwardBase(), + feature_display.getLastVisibleForwardBase(), null); + bamPanel.revalidate(); + jamView.getJspView().getVerticalScrollBar().setValue( + jamView.getJspView().getVerticalScrollBar().getMaximum()); + feature_display.addDisplayAdjustmentListener(jamView); + feature_display.getSelection().addSelectionChangeListener(jamView); + + setNGDivider(); + } + + logger4j.debug("No. VCF FILES="+vcfFiles.size()); + if (vcfFiles.size() > 0) + { + vcfPanel.removeAll(); + vcfView = new VCFview(null, vcfPanel, vcfFiles, + feature_display.getMaxVisibleBases(), 1, null, null, + feature_display); + + feature_display.addDisplayAdjustmentListener(vcfView); + feature_display.getSelection().addSelectionChangeListener(vcfView); + setNGDivider(); + } + } /** * Handle the split panes divider positions for BamView and VcfView.