4 import jalview.bin.Cache;
5 import jalview.gui.Preferences;
6 import jalview.util.MessageManager;
7 import jalview.ws.params.ArgumentI;
8 import jalview.ws.params.ParamDatastoreI;
9 import jalview.ws.params.ValueConstrainI;
10 import jalview.ws.params.WsParamSetI;
11 import jalview.ws.params.simple.BooleanOption;
12 import jalview.ws.params.simple.IntegerParameter;
13 import jalview.ws.params.simple.LogarithmicParameter;
14 import jalview.ws.params.simple.Option;
15 import jalview.ws.params.simple.StringParameter;
17 import java.io.IOException;
18 import java.util.ArrayList;
19 import java.util.Collection;
20 import java.util.List;
21 import java.util.Scanner;
24 public class HMMERParamStore implements ParamDatastoreI
29 List<WsParamSetI> presets = new ArrayList<>();
31 public HMMERParamStore(String name)
37 public List<WsParamSetI> getPresets()
39 // TODO Auto-generated method stub
44 public WsParamSetI getPreset(String name)
46 // TODO Auto-generated method stub
51 public List<ArgumentI> getServiceParameters()
53 List<ArgumentI> args = new ArrayList<>();
54 if ("hmmsearch".equals(name))
56 getHMMSearchParams(args);
58 if ("hmmalign".equals(name))
60 getHMMAlignParams(args);
63 if ("hmmbuild".equals(name))
65 getHMMBuildParams(args);
71 private void getHMMSearchParams(List<ArgumentI> args)
73 args.add(new IntegerParameter(
74 MessageManager.getString("label.number_of_results"),
75 MessageManager.getString("label.number_of_results_desc"), true,
77 String names = Cache.getProperty(Preferences.HMMSEARCH_DBS);
78 if (names != null && !names.isEmpty())
80 Collection<String> databases = new ArrayList<>();
81 databases.add(MessageManager.getString("label.this_alignment"));
82 Scanner nameScanner = new Scanner(names);
84 if (nameScanner.hasNext())
86 while (nameScanner.hasNext())
88 String next = nameScanner.next();
91 Cache.setProperty(Preferences.HMMSEARCH_DBS, "");
92 Cache.setProperty(Preferences.HMMSEARCH_DB_PATHS, "");
101 args.add(new Option(MessageManager.getString("label.database"),
102 MessageManager.getString("label.database_for_hmmsearch"),
103 true, MessageManager.getString("label.this_alignment"),
104 MessageManager.getString("label.this_alignment"), databases,
107 args.add(new BooleanOption(
108 MessageManager.getString("label.auto_align_seqs"),
109 MessageManager.getString("label.auto_align_seqs_desc"), false,
111 args.add(new BooleanOption(
112 MessageManager.getString("label.use_accessions"),
113 MessageManager.getString("label.use_accessions_desc"), false,
115 args.add(new BooleanOption(
116 MessageManager.getString("label.trim_termini"),
117 MessageManager.getString("label.trim_termini_desc"), false,
119 args.add(new LogarithmicParameter(
120 MessageManager.getString("label.seq_e_value"),
121 MessageManager.getString("label.seq_e_value_desc"), false,
122 -3d, -37.92977945, 1d, 10d));
124 args.add(new DoubleParameter(
125 MessageManager.getString("label.seq_score"),
126 MessageManager.getString("label.seq_score_desc"), false,
129 args.add(new LogarithmicParameter(
130 MessageManager.getString("label.dom_e_value_desc"),
131 MessageManager.getString("label.dom_e_value_desc"), false,
132 -3d, -37.92977945, 1d, 10d));
134 args.add(new DoubleParameter(
135 MessageManager.getString("label.dom_score"),
136 MessageManager.getString("label.dom_score_desc"), false, 0d,
143 private void getHMMAlignParams(List<ArgumentI> args)
145 args.add(new BooleanOption(
146 MessageManager.getString("label.trim_termini"),
147 MessageManager.getString(
148 "label.trim_termini = Trim Non-Matching Termini_desc"),
149 false, false, true, null));
152 private void getHMMBuildParams(List<ArgumentI> args)
154 args.add(new StringParameter(MessageManager.getString("label.hmm_name"),
155 MessageManager.getString("label.hmm_name_desc"), true, ""));
156 args.add(new BooleanOption(
157 MessageManager.getString("label.use_reference"),
158 MessageManager.getString("label.use_reference_desc"), true,
162 private class StringValueConstrain implements ValueConstrainI
166 public ValueType getType()
168 return ValueType.String;
172 public Number getMax()
178 public Number getMin()
186 public boolean presetExists(String name)
188 // TODO Auto-generated method stub
193 public void deletePreset(String name)
195 // TODO Auto-generated method stub
200 public void storePreset(String presetName, String text,
201 List<ArgumentI> jobParams)
203 // TODO Auto-generated method stub
208 public void updatePreset(String oldName, String presetName, String text,
209 List<ArgumentI> jobParams)
211 // TODO Auto-generated method stub
216 public WsParamSetI parseServiceParameterFile(String name,
217 String description, String[] serviceURL, String parameters)
220 // TODO Auto-generated method stub
225 public String generateServiceParameterFile(WsParamSetI pset)
228 // TODO Auto-generated method stub