From 8d3feacb69f915fe099654d80fba6b48d049f7dd Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Tue, 21 Apr 2009 13:09:32 +0000 Subject: [PATCH] allow restict output to be provided as an argument git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@10569 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- .../digest/CircularGenomeController.java | 59 +++++++++++++++---- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/uk/ac/sanger/artemis/circular/digest/CircularGenomeController.java b/uk/ac/sanger/artemis/circular/digest/CircularGenomeController.java index 7be4a0034..8171a2e54 100644 --- a/uk/ac/sanger/artemis/circular/digest/CircularGenomeController.java +++ b/uk/ac/sanger/artemis/circular/digest/CircularGenomeController.java @@ -86,8 +86,14 @@ public class CircularGenomeController /** * Create in-silico Pulse Field Gel Electrophoresis from a restriction enzyme * digest and draw alongside DNAPlotter + * @param enzymes + * @param sequenceFiles + * @param restrictOutputs + * @throws Exception */ - protected void setup(String enzymes, List<File> sequenceFiles) + protected void setup(String enzymes, + List<File> sequenceFiles, + List<File> restrictOutputs) throws Exception { // add each sequence file to a different entry group @@ -114,14 +120,18 @@ public class CircularGenomeController enzymes = promptForEnzymes(); // run restrict - List<File> restrictOutputs = new Vector<File>(sequenceFiles.size()); - for (int i = 0; i < sequenceFiles.size(); i++) + if(restrictOutputs == null) { - File sequenceFile = sequenceFiles.get(i); - File restrictOutput = File.createTempFile("restrict_" - + sequenceFile.getName(), ".txt"); - restrictOutputs.add(restrictOutput); - runEmbossRestrict(sequenceFile.getAbsolutePath(), enzymes, restrictOutput); + restrictOutputs = new Vector<File>(sequenceFiles.size()); + for (int i = 0; i < sequenceFiles.size(); i++) + { + File sequenceFile = sequenceFiles.get(i); + File restrictOutput = File.createTempFile("restrict_" + + sequenceFile.getName(), ".txt"); + restrictOutputs.add(restrictOutput); + runEmbossRestrict(sequenceFile.getAbsolutePath(), enzymes, + restrictOutput); + } } drawResults(restrictOutputs, entries, sequenceFiles, enzymes); } @@ -578,10 +588,21 @@ public class CircularGenomeController try { List<File> fileNames = null; + List<File> restrictOutputs = null; if (args != null && args.length > 0) { if (args.length == 1) { + if(args[0].startsWith("-h")) + { + System.out.println("-h\t\tshow help"); + System.out.println("-enz\t\tcomma separated list of digest enzymes (optional)"); + System.out.println("-seq\t\tspace separated list of sequences (optional)"); + System.out.println( + "-restrict\tspace separated lists of EMBOSS restrict output "+ + "in the same order as the sequences (optional)."); + System.exit(0); + } fileNames = new Vector<File>(); fileNames.add(new File(args[0])); } @@ -594,11 +615,29 @@ public class CircularGenomeController { if (fileNames == null) fileNames = new Vector<File>(); - fileNames.add(new File(args[i + 1])); + + for(int j = i + 1; j < args.length; j++) + { + if(args[j].startsWith("-")) + break; + fileNames.add(new File(args[j])); + } + } + else if (args[i].startsWith("-restrict")) + { + if (restrictOutputs == null) + restrictOutputs = new Vector<File>(); + + for(int j = i + 1; j < args.length; j++) + { + if(args[j].startsWith("-")) + break; + restrictOutputs.add(new File(args[j])); + } } } } - controller.setup(enzymes, fileNames); + controller.setup(enzymes, fileNames, restrictOutputs); } catch (Exception e) { -- GitLab