Merge branch 'develop' of http://source.jalview.org/git/jalview into develop
[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    * mmCIF Entry Code
61    */
62   public static String MMCIF = "mmCIF";
63
64   /**
65    * EMBL ID
66    */
67   public static String EMBL = "EMBL";
68
69   /**
70    * EMBLCDS ID
71    */
72   public static String EMBLCDS = "EMBLCDS";
73
74   /**
75    * PFAM ID
76    */
77   public static String PFAM = "PFAM";
78
79   /**
80    * RFAM ID
81    */
82   public static String RFAM = "RFAM";
83
84   /**
85    * GeneDB ID
86    */
87   public static final String GENEDB = "GeneDB".toUpperCase();
88
89   /**
90    * Ensembl
91    */
92   public static final String ENSEMBL = "ENSEMBL";
93
94   public static final String ENSEMBLGENOMES = "ENSEMBLGENOMES";
95
96   /**
97    * List of databases whose sequences might have coding regions annotated
98    */
99   public static final String[] DNACODINGDBS = { EMBL, EMBLCDS, GENEDB,
100       ENSEMBL };
101
102   public static final String[] CODINGDBS = { EMBLCDS, GENEDB, ENSEMBL };
103
104   public static final String[] PROTEINDBS = { UNIPROT, PDB, UNIPROTKB,
105       EMBLCDSProduct, ENSEMBL }; // Ensembl ENSP* entries are protein
106 }