fba921158ebc20efe3f4ee077e412341cbfc46ad
[jalview.git] / src / jalview / datamodel / DBRefSource.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.datamodel;
22
23 /**
24  * Defines internal constants for unambiguous annotation of DbRefEntry source
25  * strings and describing the data retrieved from external database sources (see
26  * jalview.ws.DbSourcProxy) <br/>
27  * TODO: replace with ontology to allow recognition of particular attributes
28  * (e.g. protein coding, alignment (ortholog db, paralog db, domain db),
29  * genomic, transcriptomic, 3D structure providing (PDB, MODBASE, etc) ..).
30  * 
31  * @author JimP
32  * 
33  */
34 public class DBRefSource
35 {
36   /**
37    * UNIPROT Accession Number
38    */
39   public static String UNIPROT = "UNIPROT";
40
41   /**
42    * UNIPROT Entry Name
43    */
44   public static String UP_NAME = "UNIPROT_NAME".toUpperCase();
45
46   /**
47    * Uniprot Knowledgebase/TrEMBL as served from EMBL protein products.
48    */
49   public static final String UNIPROTKB = "UniProtKB/TrEMBL".toUpperCase();
50
51   public static final String EMBLCDSProduct = "EMBLCDSProtein"
52           .toUpperCase();
53
54   /**
55    * PDB Entry Code
56    */
57   public static String PDB = "PDB";
58
59   /**
60    * EMBL ID
61    */
62   public static String EMBL = "EMBL";
63
64   /**
65    * EMBLCDS ID
66    */
67   public static String EMBLCDS = "EMBLCDS";
68
69   /**
70    * PFAM ID
71    */
72   public static String PFAM = "PFAM";
73
74   /**
75    * RFAM ID
76    */
77   public static String RFAM = "RFAM";
78
79   /**
80    * GeneDB ID
81    */
82   public static final String GENEDB = "GeneDB".toUpperCase();
83
84   /**
85    * Ensembl
86    */
87   public static final String ENSEMBL = "ENSEMBL";
88
89   public static final String ENSEMBLGENOMES = "ENSEMBLGENOMES";
90
91   /**
92    * List of databases whose sequences might have coding regions annotated
93    */
94   public static final String[] DNACODINGDBS = { EMBL, EMBLCDS, GENEDB,
95       ENSEMBL };
96
97   public static final String[] CODINGDBS = { EMBLCDS, GENEDB, ENSEMBL };
98
99   public static final String[] PROTEINDBS = { UNIPROT, PDB, UNIPROTKB,
100       EMBLCDSProduct, ENSEMBL }; // Ensembl ENSP* entries are protein
101 }