Clover icon

Coverage Report

  1. Project Clover database Thu Dec 4 2025 16:11:35 GMT
  2. Package jalview.ws2.client.jpred4

File JPred4WSDiscoverer.java

 

Coverage histogram

../../../../img/srcFileCovDistChart9.png
13% of files have more coverage

Code metrics

2
32
8
1
105
88
10
0.31
4
8
1.25

Classes

Class Line # Actions
JPred4WSDiscoverer 18 32 10
0.8809523688.1%
 

Contributing tests

This file is covered by 328 tests. .

Source view

1    package jalview.ws2.client.jpred4;
2   
3    import java.io.IOException;
4    import java.net.MalformedURLException;
5    import java.net.URL;
6    import java.util.Collections;
7    import java.util.List;
8   
9    import jalview.ws.params.ArgumentI;
10    import jalview.ws.params.ParamManager;
11    import jalview.ws2.actions.secstructpred.SecStructPredAction;
12    import jalview.ws2.api.WebService;
13    import jalview.ws2.client.api.AbstractWebServiceDiscoverer;
14    import jalview.ws2.client.ebi.JobDispatcherWSDiscoverer;
15    import jalview.ws2.params.SimpleParamDatastore;
16    import uk.ac.dundee.compbio.jpred.JPredClient;
17   
 
18    public class JPred4WSDiscoverer extends AbstractWebServiceDiscoverer
19    {
20    private static final URL DEFAULT_URL;
 
21  11 toggle static
22    {
23  11 try
24    {
25  11 DEFAULT_URL = new URL("https://www.compbio.dundee.ac.uk/jpred4/");
26    } catch (MalformedURLException e)
27    {
28  0 throw new ExceptionInInitializerError(e);
29    }
30    }
31   
32    private static JPred4WSDiscoverer instance = null;
33   
34    private static ParamManager paramManager = null;
35   
 
36  11 toggle private JPred4WSDiscoverer()
37    {
38    }
39   
 
40  9037 toggle public static JPred4WSDiscoverer getInstance()
41    {
42  9037 if (instance == null)
43  11 instance = new JPred4WSDiscoverer();
44  9037 return instance;
45    }
46   
 
47  0 toggle public static void setParamManager(ParamManager manager)
48    {
49  0 paramManager = manager;
50    }
51   
 
52  0 toggle @Override
53    public int getStatusForUrl(URL url)
54    {
55    // TODO: implement actual status check
56  0 return STATUS_OK;
57    }
58   
 
59  63 toggle @Override
60    public String getUrlsPropertyKey()
61    {
62  63 return null;
63    }
64   
 
65  63 toggle @Override
66    protected URL getDefaultUrl()
67    {
68  63 return DEFAULT_URL;
69    }
70   
 
71  63 toggle @Override
72    protected List<WebService<?>> fetchServices(URL url) throws IOException
73    {
74  63 JPredClient client = new JPredClient(url);
75  63 var wsBuilder = WebService.<SecStructPredAction> newBuilder();
76  63 wsBuilder.url(url);
77  63 wsBuilder.clientName("jpred4");
78  63 wsBuilder.category("Secondary structure prediction");
79  63 wsBuilder.name("jpred4");
80  63 wsBuilder.description("JPred4 Secondary Structure Prediction.");
81  63 wsBuilder.interactive(false);
82   
83  63 wsBuilder
84    .paramDatastore(new SimpleParamDatastore(url, Collections.emptyList(),
85    Collections.emptyList(), paramManager));
86  63 wsBuilder.actionClass(SecStructPredAction.class);
87  63 var webService = wsBuilder.build();
88   
89  63 var actionBuilder = SecStructPredAction.newBuilder(
90    new JPred4WSClient(client, false));
91  63 actionBuilder.webService(webService);
92  63 actionBuilder.msaMode(false);
93  63 actionBuilder.name("JPred4 (Single sequence)");
94  63 webService.addAction(actionBuilder.build());
95   
96  63 var actionBuilderMsa = SecStructPredAction.newBuilder(
97    new JPred4WSClient(client, true));
98  63 actionBuilderMsa.webService(webService);
99  63 actionBuilderMsa.msaMode(true);
100  63 actionBuilderMsa.name("JPred4 (MSA)");
101  63 webService.addAction(actionBuilderMsa.build());
102   
103  63 return List.of(webService);
104    }
105    }