- * Appends command line arguments to the given list, to specify input and output
- * files for the search, and any additional options that may have been passed
- * from the parameters dialog
- *
- * @param args
- * @param searchOutputFile
- * @param hitsAlignmentFile
- * @param seqFile
- * @throws IOException
- */
- protected void buildArguments(List<String> args, File searchOutputFile,
- File hitsAlignmentFile, File seqFile) throws IOException
- {
- args.add("-o");
- args.add(getFilePath(searchOutputFile, true));
- args.add("-A");
- args.add(getFilePath(hitsAlignmentFile, true));
-
- File databaseFile = null;
-
- boolean useEvalueCutoff = false;
- boolean useScoreCutoff = false;
- String seqEvalueCutoff = null;
- String domEvalueCutoff = null;
- String seqScoreCutoff = null;
- String domScoreCutoff = null;
- databaseName = "Alignment";
-
- if (params != null)
- {
- for (ArgumentI arg : params)
- {
- String name = arg.getName();
-
- if (MessageManager.getString(REPORTING_CUTOFF_KEY)
- .equals(name))
- {
- if (MessageManager.getString(CUTOFF_EVALUE)
- .equals(arg.getValue()))
- {
- useEvalueCutoff = true;
- }
- else if (MessageManager.getString(CUTOFF_SCORE)
- .equals(arg.getValue()))
- {
- useScoreCutoff = true;
- }
- }
- else if (MessageManager.getString(SEQ_EVALUE_KEY).equals(name))
- {
- seqEvalueCutoff = arg.getValue();
- }
- else if (MessageManager.getString(SEQ_SCORE_KEY).equals(name))
- {
- seqScoreCutoff = arg.getValue();
- }
- else if (MessageManager.getString(DOM_EVALUE_KEY).equals(name))
- {
- domEvalueCutoff = arg.getValue();
- }
- else if (MessageManager.getString(DOM_SCORE_KEY).equals(name))
- {
- domScoreCutoff = arg.getValue();
- }
- else if (MessageManager.getString(DATABASE_KEY).equals(name))
- {
- databaseFile = new File(arg.getValue());
- if (!arg.getValue().isEmpty())
- {
- searchAlignment = false;
- }
- }
- }
- }
-
- if (useEvalueCutoff)
- {
- args.add("-E");
- args.add(seqEvalueCutoff);
- args.add("--domE");
- args.add(domEvalueCutoff);
- }
- else if (useScoreCutoff)
- {
- args.add("-T");
- args.add(seqScoreCutoff);
- args.add("--domT");
- args.add(domScoreCutoff);
- }
-
- // if (!dbFound || MessageManager.getString(THIS_ALIGNMENT_KEY)
- // .equals(dbPath))
- if (searchAlignment)
- {
- /*
- * no external database specified for search, so
- * export current alignment as 'database' to search
- */
- databaseFile = FileUtils.createTempFile("database", ".sto");
- AlignmentI al = af.getViewport().getAlignment();
- AlignmentI copy = new Alignment(al);
-
- deleteHmmSequences(copy);
-
- if (searchAlignment)
- {
- sequencesHash = stashSequences(copy.getSequencesArray());
- }
-
- exportStockholm(copy.getSequencesArray(), databaseFile, null);
- }
-
- args.add(getFilePath(seqFile, true));
- args.add(getFilePath(databaseFile, true));
- }
-
- /**