Clover icon

Coverage Report

  1. Project Clover database Tue Mar 10 2026 14:58:44 GMT
  2. Package jalview.ws2.client.ebi

File ParamStores.java

 

Coverage histogram

../../../../img/srcFileCovDistChart0.png
0% of files have more coverage

Code metrics

0
193
3
1
285
265
5
0.03
64.33
3
1.67

Classes

Class Line # Actions
ParamStores 15 193 5
0.00%
 

Contributing tests

No tests hitting this source file were found.

Source view

1    package jalview.ws2.client.ebi;
2   
3    import jalview.ws.params.ArgumentI;
4    import jalview.ws.params.ParamDatastoreI;
5    import jalview.ws.params.ParamManager;
6    import jalview.ws.params.simple.*;
7    import jalview.ws2.params.SimpleParamDatastore;
8   
9    import java.net.MalformedURLException;
10    import java.net.URL;
11    import java.util.ArrayList;
12    import java.util.Collections;
13    import java.util.List;
14   
 
15    class ParamStores
16    {
17    static final List<ArgumentI> phmmerParameters;
18   
19    /**
20    * Set up phmmer parameters list.
21    */
 
22  0 toggle static
23    {
24  0 var parameters = new ArrayList<ArgumentI>();
25  0 URL baseURL;
26  0 try
27    {
28  0 baseURL = new URL( "https://www.ebi.ac.uk/Tools/services/rest/hmmer3_phmmer/");
29    } catch (MalformedURLException e)
30    {
31  0 throw new ExceptionInInitializerError(e);
32    }
33    {
34  0 var builder = StringParameter.newBuilder();
35  0 builder.setName("cut-offs");
36  0 builder.setLabel("Cut-offs");
37  0 builder.setDescription("Set the method of controlling which target sequences match your query.");
38  0 builder.setRequired(true);
39  0 builder.setValue("E");
40  0 builder.setDefaultValue("E");
41  0 builder.setPossibleValues(List.of("E", "T"));
42  0 builder.setDisplayValues(List.of("E-values", "Bit scores"));
43  0 parameters.add(builder.build());
44    }
45    {
46  0 var builder = DoubleParameter.newBuilder();
47  0 builder.setName("incE");
48  0 builder.setLabel("Significance E-values[Sequence]");
49  0 builder.setDescription("Significance E-values[Sequence]");
50  0 builder.setRequired(false);
51  0 builder.setValue(0.01);
52  0 builder.setDefaultValue(0.01);
53  0 builder.setMin(0.);
54  0 builder.setMax(10.);
55  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incE"));
56  0 parameters.add(builder.build());
57    }
58    {
59  0 var builder = DoubleParameter.newBuilder();
60  0 builder.setName("incdomE");
61  0 builder.setLabel("Significance E-values[Hit]");
62  0 builder.setDescription("Significance E-values[Hit]");
63  0 builder.setRequired(false);
64  0 builder.setValue(0.03);
65  0 builder.setDefaultValue(0.03);
66  0 builder.setMin(0.);
67  0 builder.setMax(10.);
68  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incdomE"));
69  0 parameters.add(builder.build());
70    }
71    {
72  0 var builder = DoubleParameter.newBuilder();
73  0 builder.setName("E");
74  0 builder.setLabel("Report E-values[Sequence]");
75  0 builder.setDescription("Report E-values[Sequence]");
76  0 builder.setRequired(false);
77  0 builder.setValue(1.0);
78  0 builder.setDefaultValue(1.0);
79  0 builder.setMin(0.);
80  0 builder.setMax(10.);
81  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/E"));
82  0 parameters.add(builder.build());
83    }
84    {
85  0 var builder = DoubleParameter.newBuilder();
86  0 builder.setName("domE");
87  0 builder.setLabel("Report E-values[Hit]");
88  0 builder.setDescription("Report E-values[Hit]");
89  0 builder.setRequired(false);
90  0 builder.setValue(1.0);
91  0 builder.setDefaultValue(1.0);
92  0 builder.setMin(0.);
93  0 builder.setMax(10.);
94  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/domE"));
95  0 parameters.add(builder.build());
96    }
97    {
98  0 var builder = DoubleParameter.newBuilder();
99  0 builder.setName("incT");
100  0 builder.setLabel("Significance bit scores[Sequence]");
101  0 builder.setDescription("Significance bit scores[Sequence]");
102  0 builder.setRequired(false);
103  0 builder.setValue(25.0);
104  0 builder.setDefaultValue(25.0);
105  0 builder.setMin(0.);
106  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incT"));
107  0 parameters.add(builder.build());
108    }
109    {
110  0 var builder = DoubleParameter.newBuilder();
111  0 builder.setName("incdomT");
112  0 builder.setLabel("Significance bit scores[Hit]");
113  0 builder.setDescription("Significance bit scores[Hit]");
114  0 builder.setRequired(false);
115  0 builder.setValue(22.0);
116  0 builder.setDefaultValue(22.0);
117  0 builder.setMin(0.);
118  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incdomT"));
119  0 parameters.add(builder.build());
120    }
121    {
122  0 var builder = DoubleParameter.newBuilder();
123  0 builder.setName("T");
124  0 builder.setLabel("Report bit scores[Sequence]");
125  0 builder.setDescription("Report bit scores[Sequence]");
126  0 builder.setRequired(false);
127  0 builder.setValue(7.0);
128  0 builder.setDefaultValue(7.0);
129  0 builder.setMin(0.);
130  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/T"));
131  0 parameters.add(builder.build());
132    }
133    {
134  0 var builder = DoubleParameter.newBuilder();
135  0 builder.setName("domT");
136  0 builder.setLabel("Report bit scores[Hit]");
137  0 builder.setDescription("Report bit scores[Hit]");
138  0 builder.setRequired(false);
139  0 builder.setValue(5.0);
140  0 builder.setDefaultValue(5.0);
141  0 builder.setMin(0.);
142  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/domT"));
143  0 parameters.add(builder.build());
144    }
145    {
146  0 var builder = DoubleParameter.newBuilder();
147  0 builder.setName("popen");
148  0 builder.setLabel("Gap Penalties[open]");
149  0 builder.setDescription("Gap Penalties[open]");
150  0 builder.setRequired(false);
151  0 builder.setValue(0.02);
152  0 builder.setDefaultValue(0.02);
153  0 builder.setMin(0.);
154  0 builder.setMax(0.5);
155  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/popen"));
156  0 parameters.add(builder.build());
157    }
158    {
159  0 var builder = DoubleParameter.newBuilder();
160  0 builder.setName("pextend");
161  0 builder.setLabel("Gap Penalties[extend]");
162  0 builder.setDescription("Gap Penalties[extend]");
163  0 builder.setRequired(false);
164  0 builder.setValue(0.4);
165  0 builder.setDefaultValue(0.4);
166  0 builder.setMin(0.);
167  0 builder.setMax(1.);
168  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/pextend"));
169  0 parameters.add(builder.build());
170    }
171    {
172  0 var builder = StringParameter.newBuilder();
173  0 builder.setName("mx");
174  0 builder.setLabel("Gap Penalties[Substitution scoring matrix]");
175  0 builder.setDescription("Gap Penalties[Substitution scoring matrix]");
176  0 builder.setRequired(false);
177  0 builder.setValue("BLOSUM62");
178  0 builder.setDefaultValue("BLOSUM62");
179  0 builder.setPossibleValues(List.of("BLOSUM45", "BLOSUM62", "BLOSUM90", "PAM30", "PAM70"));
180  0 builder.setDisplayValues(List.of("BLOSUM45", "BLOSUM62", "BLOSUM90", "PAM30", "PAM70"));
181  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/mx"));
182  0 parameters.add(builder.build());
183    }
184    {
185  0 var builder = BooleanOption.newBuilder();
186  0 builder.setName("nobias");
187  0 builder.setLabel("No bias filter");
188  0 builder.setDescription(
189    "The '--nobias' option turns off (bypasses) the biased composition filter which is on by default.");
190  0 builder.setRequired(false);
191  0 builder.setValue(false);
192  0 builder.setDefaultValue(false);
193  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/nobias"));
194  0 parameters.add(builder.build());
195    }
196    {
197  0 var builder = BooleanOption.newBuilder();
198  0 builder.setName("compressedout");
199  0 builder.setLabel("Compressed Output");
200  0 builder.setDescription(
201    "By default it runs hmm2c plus post-processing (default output), whereas with compressedout, it gets compressed output only.");
202  0 builder.setRequired(false);
203  0 builder.setValue(false);
204  0 builder.setDefaultValue(false);
205  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/compressedout"));
206  0 parameters.add(builder.build());
207    }
208    {
209  0 var builder = BooleanOption.newBuilder();
210  0 builder.setName("alignView");
211  0 builder.setLabel("Output Alignment");
212  0 builder.setDescription("Output alignment in result");
213  0 builder.setRequired(false);
214  0 builder.setValue(true);
215  0 builder.setDefaultValue(true);
216  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/alignView"));
217  0 parameters.add(builder.build());
218    }
219    {
220  0 var builder = StringParameter.newBuilder();
221  0 builder.setName("database");
222  0 builder.setLabel("Sequence Database");
223  0 builder.setDescription("Sequence Database Selection");
224  0 builder.setRequired(true);
225  0 builder.setValue("uniprotkb");
226  0 builder.setDefaultValue("uniprotkb");
227  0 builder.setPossibleValues(List.of("swissprot", "uniprotrefprot", "uniprotkb", "pdb", "rp75", "rp55", "rp35", "rp15", "ensembl", "merops", "qfo", "chembl"));
228  0 builder.setDisplayValues(List.of("SwissProt", "Reference Proteomes", "UniProtKB", "PDB", "rp75", "rp55", "rp35", "rp15", "Ensembl", "MEROPS", "Quest for Orthologs", "ChEMBL"));
229  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/database"));
230  0 parameters.add(builder.build());
231    }
232    {
233  0 var builder = DoubleParameter.newBuilder();
234  0 builder.setName("evalue");
235  0 builder.setLabel("Expectation Value Threshold");
236  0 builder.setDescription(
237    "Expectation value cut-off for reporting target profiles in the per-target output.");
238  0 builder.setRequired(false);
239  0 builder.setValue(0.01);
240  0 builder.setDefaultValue(0.01);
241  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/evalue"));
242  0 parameters.add(builder.build());
243    }
244    // {
245    // var builder = StringParameter.newBuilder();
246    // builder.setName("sequence");
247    // builder.setLabel("Input Sequence");
248    // builder.setDescription(
249    // "The input sequence can be entered directly into this form. The sequence can be be in FASTA or UniProtKB/Swiss-Prot format. A partially formatted sequence is not accepted. Adding a return to the end of the sequence may help certain applications understand the input. Note that directly using data from word processors may yield unpredictable results as hidden/control characters may be present.");
250    // builder.setRequired(false);
251    //
252    // builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/sequence"));
253    // parameters.add(builder.build());
254    // }
255    {
256  0 var builder = IntegerParameter.newBuilder();
257  0 builder.setName("nhits");
258  0 builder.setLabel("Number of Hits Displayed");
259  0 builder.setDescription("Number of hits to be displayed.");
260  0 builder.setRequired(false);
261  0 builder.setValue(100);
262  0 builder.setDefaultValue(100);
263  0 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/nhits"));
264  0 parameters.add(builder.build());
265    }
266  0 phmmerParameters = Collections.unmodifiableList(parameters);
267    }
268   
 
269  0 toggle private static URL resolveURL(URL base, String spec)
270    {
271  0 try
272    {
273  0 return new URL(base, spec);
274    } catch (MalformedURLException e)
275    {
276  0 throw new ExceptionInInitializerError(e);
277    }
278    }
279   
 
280  0 toggle public static ParamDatastoreI newPhmmerDatastore(URL url, ParamManager manager)
281    {
282  0 return new SimpleParamDatastore(url, phmmerParameters,
283    Collections.emptyList(), manager);
284    }
285    }