Clover icon

Coverage Report

  1. Project Clover database Mon Nov 11 2024 20:42:03 GMT
  2. Package jalview.ws.dbsources

File Pfam.java

 

Coverage histogram

../../../img/srcFileCovDistChart5.png
42% of files have more coverage

Code metrics

0
13
10
1
156
65
10
0.77
1.3
10
1

Classes

Class Line # Actions
Pfam 39 13 10
0.4782608747.8%
 

Contributing tests

This file is covered by 8 tests. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.ws.dbsources;
22   
23    import java.util.Locale;
24   
25    import com.stevesoft.pat.Regex;
26   
27    import jalview.bin.Cache;
28    import jalview.datamodel.DBRefSource;
29    import jalview.util.Platform;
30   
31    /**
32    * TODO: later PFAM is a complex datasource - it could return a tree in addition
33    * to an alignment TODO: create interface to pass alignment properties and tree
34    * back to sequence fetcher
35    *
36    * @author JimP
37    *
38    */
 
39    abstract public class Pfam extends Xfam
40    {
41    public static final String FULL = "full", RP35 = "rp35", RP15 = "rp15",
42    RP75 = "rp75", RP55 = "rp55", SEED = "seed", UNIPROT = "uniprot";
43   
 
44  4 toggle public String getPfamDownloadURL(String id, String alType)
45    {
46  4 String url = Cache.getDefault(PFAM_BASEURL_KEY, DEFAULT_PFAM_BASEURL);
47  4 url = url.replace("$PFAMID$", id);
48  4 url = url.replace("$ALTYPE$", alType);
49  4 return url;
50    }
51   
52    static final String PFAM_BASEURL_KEY = "PFAM_INTERPRO_URL_TEMPLATE";
53   
54    protected String alignmentType;
55   
56    /**
57    * docs are http://www.ebi.ac.uk/interpro/api/
58    */
59    private static final String DEFAULT_PFAM_BASEURL = "https://www.ebi.ac.uk/interpro/api/entry/pfam/$PFAMID$/?annotation=alignment:$ALTYPE$";
60   
 
61  7 toggle static
62    {
63  7 Platform.addJ2SDirectDatabaseCall(DEFAULT_PFAM_BASEURL);
64    }
65   
 
66  36 toggle public Pfam()
67    {
68  36 super();
69    }
70   
 
71  4 toggle @Override
72    String getURL(String queries)
73    {
74  4 return getPfamDownloadURL(queries.trim().toUpperCase(Locale.ROOT),
75    alignmentType);
76    }
77   
78    /*
79    * (non-Javadoc)
80    *
81    * @see jalview.ws.DbSourceProxy#getAccessionSeparator()
82    */
 
83  0 toggle @Override
84    public String getAccessionSeparator()
85    {
86  0 return null;
87    }
88   
89    /*
90    * (non-Javadoc)
91    *
92    * @see jalview.ws.DbSourceProxy#getAccessionValidator()
93    */
 
94  0 toggle @Override
95    public Regex getAccessionValidator()
96    {
97  0 return null;
98    }
99   
100    /*
101    * (non-Javadoc)
102    *
103    * @see jalview.ws.DbSourceProxy#getDbSource() public String getDbSource() { *
104    * this doesn't work - DbSource is key for the hash of DbSourceProxy instances
105    * - 1:many mapping for DbSource to proxy will be lost. * suggest : PFAM is an
106    * 'alignment' source - means proxy is higher level than a sequence source.
107    * return jalview.datamodel.DBRefSource.PFAM; }
108    */
109   
110    /*
111    * (non-Javadoc)
112    *
113    * @see jalview.ws.DbSourceProxy#getDbSourceProperties() public Hashtable
114    * getDbSourceProperties() {
115    *
116    * return null; }
117    */
118   
119    /*
120    * (non-Javadoc)
121    *
122    * @see jalview.ws.DbSourceProxy#getDbVersion()
123    */
 
124  0 toggle @Override
125    public String getDbVersion()
126    {
127  0 return null;
128    }
129   
 
130  0 toggle @Override
131    protected String getURLPrefix()
132    {
133  0 return Cache.getDefault(PFAM_BASEURL_KEY, DEFAULT_PFAM_BASEURL);
134    }
135   
136    /*
137    * (non-Javadoc)
138    *
139    * @see jalview.ws.DbSourceProxy#isValidReference(java.lang.String)
140    */
 
141  0 toggle @Override
142    public boolean isValidReference(String accession)
143    {
144  0 return accession.indexOf("PF") == 0;
145    }
146   
147    /*
148    * public String getDbName() { return "PFAM"; // getDbSource(); }
149    */
150   
 
151  0 toggle @Override
152    public String getXfamSource()
153    {
154  0 return DBRefSource.PFAM;
155    }
156    }