893ab415d7d2ffabf5f3932d9771d219322e27c7
[jalview.git] / src / jalview / ws / dbsources / EmblSource.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.AlignmentI;
24 import jalview.datamodel.DBRefSource;
25 import jalview.ws.seqfetcher.DbSourceProxy;
26
27 import com.stevesoft.pat.Regex;
28
29 /**
30  * @author JimP
31  * 
32  */
33 public class EmblSource extends EmblXmlSource implements DbSourceProxy
34 {
35
36   public EmblSource()
37   {
38     addDbSourceProperty(DBRefSource.DNASEQDB);
39     addDbSourceProperty(DBRefSource.CODINGSEQDB);
40   }
41
42   /*
43    * (non-Javadoc)
44    * 
45    * @see jalview.ws.DbSourceProxy#getAccessionSeparator()
46    */
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()
57    */
58   public Regex getAccessionValidator()
59   {
60     return new com.stevesoft.pat.Regex("^[A-Z]+[0-9]+");
61   }
62
63   /*
64    * (non-Javadoc)
65    * 
66    * @see jalview.ws.DbSourceProxy#getDbSource()
67    */
68   public String getDbSource()
69   {
70     return DBRefSource.EMBL;
71   }
72
73   /*
74    * (non-Javadoc)
75    * 
76    * @see jalview.ws.DbSourceProxy#getDbVersion()
77    */
78   public String getDbVersion()
79   {
80     // TODO Auto-generated method stub
81     return "0";
82   }
83
84   /*
85    * (non-Javadoc)
86    * 
87    * @see jalview.ws.DbSourceProxy#getSequenceRecords(java.lang.String[])
88    */
89   public AlignmentI getSequenceRecords(String queries) throws Exception
90   {
91     return getEmblSequenceRecords(DBRefSource.EMBL, queries);
92   }
93
94   /*
95    * (non-Javadoc)
96    * 
97    * @see jalview.ws.DbSourceProxy#isValidReference(java.lang.String)
98    */
99   public boolean isValidReference(String accession)
100   {
101     // most embl refs look like ..
102
103     return (accession == null || accession.length() < 2) ? false
104             : getAccessionValidator().search(accession);
105
106   }
107
108   /**
109    * return LHD_CHICK coding gene
110    */
111   public String getTestQuery()
112   {
113     return "X53828";
114   }
115
116   public String getDbName()
117   {
118     return "EMBL"; // getDbSource();
119   }
120
121   @Override
122   public int getTier()
123   {
124     return 0;
125   }
126 }