JAL-2629 formatting only
[jalview.git] / src / jalview / hmmer / HMMERParamStore.java
1 package jalview.hmmer;
2
3 import jalview.bin.Cache;
4 import jalview.gui.Preferences;
5 import jalview.util.MessageManager;
6 import jalview.ws.params.ArgumentI;
7 import jalview.ws.params.ParamDatastoreI;
8 import jalview.ws.params.WsParamSetI;
9 import jalview.ws.params.simple.BooleanOption;
10 import jalview.ws.params.simple.IntegerParameter;
11 import jalview.ws.params.simple.LogarithmicParameter;
12 import jalview.ws.params.simple.Option;
13 import jalview.ws.params.simple.StringParameter;
14
15 import java.io.IOException;
16 import java.util.ArrayList;
17 import java.util.Collection;
18 import java.util.List;
19 import java.util.Scanner;
20
21 public class HMMERParamStore implements ParamDatastoreI
22 {
23
24   String name;
25
26   List<WsParamSetI> presets = new ArrayList<>();
27
28   public HMMERParamStore(String name)
29   {
30     this.name = name;
31   }
32
33   @Override
34   public List<WsParamSetI> getPresets()
35   {
36     // TODO Auto-generated method stub
37     return presets;
38   }
39
40   @Override
41   public WsParamSetI getPreset(String name)
42   {
43     // TODO Auto-generated method stub
44     return null;
45   }
46
47   @Override
48   public List<ArgumentI> getServiceParameters()
49   {
50     List<ArgumentI> args = new ArrayList<>();
51     if ("hmmsearch".equals(name))
52     {
53       getHMMSearchParams(args);
54     }
55     if ("hmmalign".equals(name))
56     {
57       getHMMAlignParams(args);
58
59     }
60     if ("hmmbuild".equals(name))
61     {
62       getHMMBuildParams(args);
63
64     }
65     return args;
66   }
67
68   private void getHMMSearchParams(List<ArgumentI> args)
69   {
70     args.add(new IntegerParameter(
71             MessageManager.getString("label.number_of_results"),
72             MessageManager.getString("label.number_of_results_desc"), true,
73             100, 0, 100000));
74     String names = Cache.getProperty(Preferences.HMMSEARCH_DBS);
75     if (names != null && !names.isEmpty())
76     {
77       Collection<String> databases = new ArrayList<>();
78       databases.add(MessageManager.getString("label.this_alignment"));
79       Scanner nameScanner = new Scanner(names);
80
81       if (nameScanner.hasNext())
82       {
83         while (nameScanner.hasNext())
84         {
85           String next = nameScanner.next();
86           if (next == "null")
87           {
88             Cache.setProperty(Preferences.HMMSEARCH_DBS, "");
89             Cache.setProperty(Preferences.HMMSEARCH_DB_PATHS, "");
90           }
91           else
92           {
93             databases.add(next);
94           }
95         }
96       }
97       nameScanner.close();
98       args.add(new Option(MessageManager.getString("label.database"),
99               MessageManager.getString("label.database_for_hmmsearch"),
100               true, MessageManager.getString("label.this_alignment"),
101               MessageManager.getString("label.this_alignment"), databases,
102               null));
103     }
104     args.add(new BooleanOption(
105             MessageManager.getString("label.auto_align_seqs"),
106             MessageManager.getString("label.auto_align_seqs_desc"), false,
107             false, true, null));
108     args.add(new BooleanOption(
109             MessageManager.getString("label.use_accessions"),
110             MessageManager.getString("label.use_accessions_desc"), false,
111             false, true, null));
112     args.add(new BooleanOption(
113             MessageManager.getString("label.trim_termini"),
114             MessageManager.getString("label.trim_termini_desc"), false,
115             false, true, null));
116     args.add(new LogarithmicParameter(
117             MessageManager.getString("label.seq_e_value"),
118             MessageManager.getString("label.seq_e_value_desc"), false, -3d,
119             -37.92977945, 1d, 10d));
120     /*
121     args.add(new DoubleParameter(
122             MessageManager.getString("label.seq_score"),
123             MessageManager.getString("label.seq_score_desc"), false,
124             0d, 0d, 10000d));
125        */
126     args.add(new LogarithmicParameter(
127             MessageManager.getString("label.dom_e_value_desc"),
128             MessageManager.getString("label.dom_e_value_desc"), false, -3d,
129             -37.92977945, 1d, 10d));
130     /*
131     args.add(new DoubleParameter(
132             MessageManager.getString("label.dom_score"),
133             MessageManager.getString("label.dom_score_desc"), false, 0d,
134             0d,
135             10000d));
136             */
137   }
138
139   private void getHMMAlignParams(List<ArgumentI> args)
140   {
141     args.add(new BooleanOption(
142             MessageManager.getString("label.trim_termini"),
143             MessageManager.getString(
144                     "label.trim_termini = Trim Non-Matching Termini_desc"),
145             false, false, true, null));
146   }
147
148   private void getHMMBuildParams(List<ArgumentI> args)
149   {
150     args.add(new StringParameter(MessageManager.getString("label.hmm_name"),
151             MessageManager.getString("label.hmm_name_desc"), true, ""));
152     args.add(new BooleanOption(
153             MessageManager.getString("label.use_reference"),
154             MessageManager.getString("label.use_reference_desc"), true,
155             true, true, null));
156
157     Collection<String> options = new ArrayList<>();
158     options.add(MessageManager.getString("label.alignment"));
159     options.add(MessageManager.getString("label.groups_and_alignment"));
160     options.add(MessageManager.getString("label.groups"));
161     options.add(MessageManager.getString("label.selected_group"));
162
163     args.add(new Option(MessageManager.getString("label.hmmbuild_for"),
164             MessageManager.getString("label.hmmbuild_for_desc"), true,
165             MessageManager.getString("label.alignment"),
166             MessageManager.getString("label.alignment"), options, null));
167   }
168
169   @Override
170   public boolean presetExists(String name)
171   {
172     // TODO Auto-generated method stub
173     return false;
174   }
175
176   @Override
177   public void deletePreset(String name)
178   {
179     // TODO Auto-generated method stub
180
181   }
182
183   @Override
184   public void storePreset(String presetName, String text,
185           List<ArgumentI> jobParams)
186   {
187     // TODO Auto-generated method stub
188
189   }
190
191   @Override
192   public void updatePreset(String oldName, String presetName, String text,
193           List<ArgumentI> jobParams)
194   {
195     // TODO Auto-generated method stub
196
197   }
198
199   @Override
200   public WsParamSetI parseServiceParameterFile(String name,
201           String description, String[] serviceURL, String parameters)
202           throws IOException
203   {
204     // TODO Auto-generated method stub
205     return null;
206   }
207
208   @Override
209   public String generateServiceParameterFile(WsParamSetI pset)
210           throws IOException
211   {
212     // TODO Auto-generated method stub
213     return null;
214   }
215
216 }