From c7d40b39964d85288d6ca965414d38d40cc1cbb2 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Wed, 18 Feb 2009 16:52:56 +0000 Subject: [PATCH] changes for test suite and put DNAPlotter panel in a scrollpane git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@9824 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- .../digest/CircularGenomeController.java | 28 ++++++++++++++----- .../sanger/artemis/circular/digest/Utils.java | 11 ++++---- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/uk/ac/sanger/artemis/circular/digest/CircularGenomeController.java b/uk/ac/sanger/artemis/circular/digest/CircularGenomeController.java index f7e854f25..a3b94a649 100644 --- a/uk/ac/sanger/artemis/circular/digest/CircularGenomeController.java +++ b/uk/ac/sanger/artemis/circular/digest/CircularGenomeController.java @@ -40,9 +40,11 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import java.awt.event.MouseMotionListener; import java.io.File; +import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.util.List; +import java.util.Vector; import javax.swing.JFrame; import javax.swing.JOptionPane; @@ -63,10 +65,12 @@ public class CircularGenomeController * Create in-silico PFGE from a restriction enzyme digest and draw * alongside DNAPlotter */ - protected void setup(CircularGenomeCommandBean cgcb, String fileName) throws Exception + protected void setup(CircularGenomeCommandBean cgcb, List<String> fileNames) + throws Exception { try { + String fileName = fileNames.get(0); EntryGroup entryGroup = getEntryGroupFromFile(fileName); if(fileName == null) { @@ -114,7 +118,8 @@ public class CircularGenomeController } p.waitFor(); - final ReportDetails rd = Utils.findCutSitesFromEmbossReport(output.getCanonicalPath()); + final ReportDetails rd = Utils.findCutSitesFromEmbossReport( + new FileReader(output.getCanonicalPath())); if (rd.cutSites.size() == 0) JOptionPane.showMessageDialog(null, @@ -173,8 +178,10 @@ public class CircularGenomeController Dimension d = f.getToolkit().getScreenSize(); JPanel mainPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0)); + JScrollPane jspDNA = new JScrollPane(dna); + mainPanel.add(inSilicoGelPanel); - mainPanel.add(dna); + mainPanel.add(jspDNA); JScrollPane jsp = new JScrollPane(mainPanel); jsp.getViewport().setBackground(Color.white); @@ -288,21 +295,28 @@ public class CircularGenomeController CircularGenomeController controller = new CircularGenomeController(); try { - String fileName = null; + List fileNames = null; if(args != null && args.length > 0) { if(args.length == 1) - fileName = args[0]; + { + fileNames = new Vector(); + fileNames.add(args[0]); + } for(int i=0; i<args.length; i++) { if(args[i].startsWith("-enz")) command.setEnzymeName(args[i+1]); else if(args[i].startsWith("-seq")) - fileName = args[i+1]; + { + if(fileNames == null) + fileNames = new Vector(); + fileNames.add(args[i+1]); + } } } - controller.setup(command, fileName); + controller.setup(command, fileNames); } catch (Exception e) { diff --git a/uk/ac/sanger/artemis/circular/digest/Utils.java b/uk/ac/sanger/artemis/circular/digest/Utils.java index fd19e72fd..fb4addab7 100644 --- a/uk/ac/sanger/artemis/circular/digest/Utils.java +++ b/uk/ac/sanger/artemis/circular/digest/Utils.java @@ -30,8 +30,8 @@ import uk.ac.sanger.artemis.io.QualifierVector; import uk.ac.sanger.artemis.sequence.MarkerRange; import java.io.BufferedReader; -import java.io.FileReader; import java.io.IOException; +import java.io.Reader; import java.util.Hashtable; import java.util.Iterator; import java.util.List; @@ -41,16 +41,17 @@ public class Utils { //private static final Logger logger = Logger.getLogger(Utils.class); - public static ReportDetails findCutSitesFromEmbossReport(String fileName) + protected static ReportDetails findCutSitesFromEmbossReport(Reader reader) { EmbossTableParser etp = new EmbossTableParser(); ReportDetails ret = new ReportDetails(); try { - BufferedReader br = new BufferedReader(new FileReader(fileName)); + BufferedReader br = new BufferedReader(reader); ret.cutSites = etp.parse(br); ret.length = etp.getLength(); - } catch (IOException exp) + } + catch (IOException exp) { throw new RuntimeException("Couldn't read, or parse results"); } @@ -64,7 +65,7 @@ public class Utils * @param entryGroup * @return */ - public static DNADraw createDNADrawFromReportDetails(final ReportDetails rd, + protected static DNADraw createDNADrawFromReportDetails(final ReportDetails rd, final EntryGroup entryGroup) { DNADraw dna = new DNADraw(); -- GitLab