+
+ return args;
+ }
+
+ /**
+ * Answers default parameters for hmmsearch, taking into account any
+ * configured as user preferences
+ *
+ * @param args
+ */
+ private void getHMMSearchParams(List<ArgumentI> args)
+ {
+ /*
+ * 'Options'
+ */
+ args.add(new BooleanOption(
+ MessageManager.getString(HMMSearch.AUTO_ALIGN_SEQS_KEY),
+ MessageManager.getString("label.auto_align_seqs_desc"), false,
+ false, false, null));
+ args.add(new BooleanOption(
+ MessageManager.getString(HMMSearch.USE_ACCESSIONS_KEY),
+ MessageManager.getString("label.use_accessions_desc"), false,
+ false, true, null));
+ args.add(new BooleanOption(
+ MessageManager.getString(HMMSearch.TRIM_TERMINI_KEY),
+ MessageManager.getString("label.trim_termini_desc"), false,
+ false, true, null));
+ args.add(new BooleanOption(
+ MessageManager.getString(HMMSearch.RETURN_N_NEW_SEQ),
+ MessageManager.getString("label.check_for_new_sequences_desc"),
+ false, false, false, null));
+
+ /*
+ * 'Parameters'
+ */
+ addChoiceOfHmm(args);
+
+ // addChoiceOfDatabase(args);
+
+ String thisAlignment = MessageManager
+ .getString(HMMSearch.THIS_ALIGNMENT_KEY);
+ String database = MessageManager.getString("label.database");
+ args.add(new FileParameter(database, "", false, "", ""));
+ args.add(new IntegerParameter(
+ MessageManager.getString(HMMSearch.NUMBER_OF_RESULTS_KEY),
+ MessageManager.getString("label.number_of_results_desc"), true,
+ 100, 0, 100000));
+ args.add(new RadioChoiceParameter(
+ MessageManager.getString(HMMSearch.REPORTING_CUTOFF_KEY), null,
+ Arrays.asList(MessageManager.getString(HMMSearch.CUTOFF_EVALUE),
+ MessageManager.getString(HMMSearch.CUTOFF_SCORE)),
+ MessageManager.getString(HMMSearch.CUTOFF_EVALUE)));
+ args.add(new LogarithmicParameter(
+ MessageManager.getString(HMMSearch.REPORTING_SEQ_EVALUE_KEY),
+ MessageManager.getString("label.reporting_seq_e_value_desc"),
+ false, 1D,
+ 1E-100, 10D));
+ args.add(new LogarithmicParameter(
+ MessageManager.getString(HMMSearch.REPORTING_DOM_EVALUE_KEY),
+ MessageManager.getString("label.reporting_dom_e_value_desc"),
+ false, 1D,
+ 1E-100, 10D));
+ args.add(
+ new DoubleParameter(
+ MessageManager
+ .getString(HMMSearch.REPORTING_SEQ_SCORE_KEY),
+ MessageManager.getString(
+ "label.reporting_seq_score_desc"),
+ false,
+ 0d, 0d, 1000d));
+ args.add(
+ new DoubleParameter(
+ MessageManager
+ .getString(HMMSearch.REPORTING_DOM_SCORE_KEY),
+ MessageManager.getString(
+ "label.reporting_dom_score_desc"),
+ false,
+ 0d, 0d, 1000d));
+ args.add(new RadioChoiceParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_THRESHOLD_KEY),
+ null,
+ Arrays.asList(MessageManager.getString(HMMSearch.CUTOFF_EVALUE),
+ MessageManager.getString(HMMSearch.CUTOFF_SCORE)),
+ MessageManager.getString(HMMSearch.CUTOFF_EVALUE)));
+ args.add(new LogarithmicParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_SEQ_EVALUE_KEY),
+ MessageManager.getString("label.inclusion_seq_e_value_desc"),
+ false, 1D,
+ 1E-100, 10D));
+ args.add(new LogarithmicParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_DOM_EVALUE_KEY),
+ MessageManager.getString("label.inclusion_dom_e_value_desc"),
+ false, 1D,
+ 1E-100, 10D));
+ args.add(new DoubleParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_SEQ_SCORE_KEY),
+ MessageManager.getString("label.inclusion_seq_score_desc"),
+ false, 0d, 0d,
+ 1000d));
+ args.add(new DoubleParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_DOM_SCORE_KEY),
+ MessageManager.getString("label.inclusion_dom_score_desc"),
+ false, 0d, 0d,
+ 1000d));
+ }
+
+ /**
+ * Answers default parameters for jackhmmer, taking into account any configured
+ * as user preferences
+ *
+ * @param args
+ */
+ private void getJackhmmerParams(List<ArgumentI> args)
+ {
+
+ /*
+ * 'Parameters'
+ */
+ addChoiceOfSequence(args);
+
+ // addChoiceOfDatabase(args);
+
+ String database = MessageManager.getString("label.database");
+ args.add(new FileParameter(database, "", false, "", ""));
+ args.add(new RadioChoiceParameter(
+ MessageManager.getString(JackHMMER.REPORTING_CUTOFF_KEY), null,
+ Arrays.asList(MessageManager.getString(JackHMMER.CUTOFF_NONE),
+ MessageManager.getString(JackHMMER.CUTOFF_EVALUE),
+ MessageManager.getString(JackHMMER.CUTOFF_SCORE)),
+ MessageManager.getString(JackHMMER.CUTOFF_EVALUE)));
+ args.add(new LogarithmicParameter(
+ MessageManager.getString(JackHMMER.REPORTING_SEQ_EVALUE_KEY),
+ MessageManager.getString("label.reporting_seq_e_value_desc"),
+ false, 1D,
+ 1E-38, 10D));
+ args.add(new LogarithmicParameter(
+ MessageManager.getString(JackHMMER.REPORTING_DOM_EVALUE_KEY),
+ MessageManager.getString(
+ "label.reporting_seq_dom_e_value_desc"),
+ false, 1D,
+ 1E-38, 10D));
+ args.add(new DoubleParameter(
+ MessageManager.getString(JackHMMER.REPORTING_SEQ_SCORE_KEY),
+ MessageManager.getString("label.reporting_seq_seq_score_desc"),
+ false, 0d, 0d,
+ 1000d));
+ args.add(new DoubleParameter(
+ MessageManager.getString(JackHMMER.REPORTING_DOM_SCORE_KEY),
+ MessageManager.getString("label.reporting_seq_dom_score_desc"),
+ false, 0d, 0d,
+ 1000d));
+ args.add(new RadioChoiceParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_THRESHOLD_KEY),
+ null,
+ Arrays.asList(MessageManager.getString(HMMSearch.CUTOFF_EVALUE),
+ MessageManager.getString(HMMSearch.CUTOFF_SCORE)),
+ MessageManager.getString(HmmerCommand.CUTOFF_EVALUE)));
+ args.add(new LogarithmicParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_SEQ_EVALUE_KEY),
+ MessageManager.getString("label.inclusion_seq_e_value_desc"),
+ false, 1D, 1E-100, 10D));
+ args.add(new LogarithmicParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_DOM_EVALUE_KEY),
+ MessageManager.getString("label.inclusion_dom_e_value_desc"),
+ false, 1D, 1E-100, 10D));
+ args.add(new DoubleParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_SEQ_SCORE_KEY),
+ MessageManager.getString("label.inclusion_seq_score_desc"),
+ false, 0d, 0d, 1000d));
+ args.add(new DoubleParameter(
+ MessageManager.getString(HMMSearch.INCLUSION_DOM_SCORE_KEY),
+ MessageManager.getString("label.inclusion_dom_score_desc"),
+ false, 0d, 0d, 1000d));
+ }
+
+ /**
+ * Constructs a choice parameter for database to search; always includes 'this
+ * alignment', and also includes any databases held under user preferences key
+ * "HMMSEARCH_DBS" as a comma-delimited list
+ *
+ * @param args
+ */
+ protected void addChoiceOfDatabase(List<ArgumentI> args)
+ {
+ String names = Cache.getProperty(Preferences.HMMSEARCH_DBS);
+ if (names == null || names.isEmpty())