JAL-2344 use ".cif" for saved mmCIF file (and refactor fetch as file)
[jalview.git] / src / jalview / ws / dbsources / Rfam.java
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 jalview.datamodel.DBRefSource;
24
25 import com.stevesoft.pat.Regex;
26
27 /**
28  * Contains methods for fetching sequences from Rfam database
29  * 
30  * @author Lauren Michelle Lui
31  */
32 abstract public class Rfam extends Xfam
33 {
34
35   public Rfam()
36   {
37     super();
38   }
39
40   /*
41    * (non-Javadoc)
42    * 
43    * @see jalview.ws.DbSourceProxy#getAccessionSeparator() Left here for
44    * consistency with Pfam class
45    */
46   @Override
47   public String getAccessionSeparator()
48   {
49     // TODO Auto-generated method stub
50     return null;
51   }
52
53   /*
54    * (non-Javadoc)
55    * 
56    * @see jalview.ws.DbSourceProxy#getAccessionValidator() * Left here for
57    */
58   @Override
59   public Regex getAccessionValidator()
60   {
61     // TODO Auto-generated method stub
62     return null;
63   }
64
65   /*
66    * (non-Javadoc)
67    * 
68    * Left here for consistency with Pfam class
69    * 
70    * @see jalview.ws.DbSourceProxy#getDbSource() public String getDbSource() { *
71    * this doesn't work - DbSource is key for the hash of DbSourceProxy instances
72    * - 1:many mapping for DbSource to proxy will be lost. * suggest : RFAM is an
73    * 'alignment' source - means proxy is higher level than a sequence source.
74    * return jalview.datamodel.DBRefSource.RFAM; }
75    */
76
77   /*
78    * (non-Javadoc)
79    * 
80    * @see jalview.ws.DbSourceProxy#getDbVersion()
81    */
82   @Override
83   public String getDbVersion()
84   {
85     // TODO Auto-generated method stub
86     return null;
87   }
88
89   /**
90    * Returns base URL for selected Rfam alignment type
91    * 
92    * @return RFAM URL stub for this DbSource
93    */
94   @Override
95   protected abstract String getXFAMURL();
96
97   /*
98    * (non-Javadoc)
99    * 
100    * @see jalview.ws.DbSourceProxy#isValidReference(java.lang.String)
101    */
102   @Override
103   public boolean isValidReference(String accession)
104   {
105     return accession.indexOf("RF") == 0;
106   }
107
108   /*
109    * (non-Javadoc)
110    * 
111    * @see jalview.ws.dbsources.Xfam#getXfamSource()
112    */
113   @Override
114   public String getXfamSource()
115   {
116     return DBRefSource.RFAM;
117   }
118
119 }