313e15d02c697c9c651869094595b4c165a4ffc7
[jalview.git] / src / jalview / datamodel / DBRefSource.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3  * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
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 of the License, or (at your option) any later version.
10  *  
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.datamodel;
19
20 /**
21  * Defines internal constants for unambiguous annotation of DbRefEntry source
22  * strings and describing the data retrieved from external database sources (see
23  * jalview.ws.DbSourcProxy)
24  * 
25  * @author JimP
26  * 
27  */
28 public class DBRefSource
29 {
30   /**
31    * UNIPROT Accession Number
32    */
33   public static String UNIPROT = "UNIPROT";
34
35   /**
36    * UNIPROT Entry Name
37    */
38   public static String UP_NAME = "UNIPROT_NAME";
39
40   /**
41    * Uniprot Knowledgebase/TrEMBL as served from EMBL protein products.
42    */
43   public static final String UNIPROTKB = "UniProtKB/TrEMBL";
44
45   /**
46    * PDB Entry Code
47    */
48   public static String PDB = "PDB";
49
50   /**
51    * EMBL ID
52    */
53   public static String EMBL = "EMBL";
54
55   /**
56    * EMBLCDS ID
57    */
58   public static String EMBLCDS = "EMBLCDS";
59
60   /**
61    * PFAM ID
62    */
63   public static String PFAM = "PFAM";
64
65   /**
66    * RFAM ID
67    */
68   public static String RFAM = "RFAM";
69
70   /**
71    * GeneDB ID
72    */
73   public static final String GENEDB = "GeneDB";
74
75   /**
76    * List of databases whose sequences might have coding regions annotated
77    */
78   public static final String[] DNACODINGDBS =
79   { EMBL, EMBLCDS, GENEDB };
80
81   public static final String[] CODINGDBS =
82   { EMBLCDS, GENEDB };
83
84   public static final String[] PROTEINDBS =
85   { UNIPROT, PDB, UNIPROTKB };
86
87   public static final String[] PROTEINSEQ =
88   { UNIPROT, UNIPROTKB };
89
90   public static final String[] PROTEINSTR =
91   { PDB };
92
93   public static final String[] DOMAINDBS =
94   { PFAM, RFAM };
95
96   /**
97    * set of unique DBRefSource property constants. These could be used to
98    * reconstruct the above groupings
99    */
100   public static final Object SEQDB = "SQ";
101
102   /**
103    * database of nucleic acid sequences
104    */
105   public static final Object DNASEQDB = "NASQ";
106
107   /**
108    * database of amino acid sequences
109    */
110   public static final Object PROTSEQDB = "PROTSQ";
111
112   /**
113    * database of cDNA sequences
114    */
115   public static final Object CODINGSEQDB = "CODING";
116
117   /**
118    * database of na sequences with exon annotation
119    */
120   public static final Object DNACODINGSEQDB = "XONCODING";
121
122   /**
123    * DB returns several sequences associated with a protein/nucleotide domain
124    */
125   public static final Object DOMAINDB = "DOMAIN";
126
127   /**
128    * DB query can take multiple accession codes concatenated by a separator.
129    * Value of property indicates maximum number of accession codes to send at a
130    * time.
131    */
132   public static final Object MULTIACC = "MULTIACC";
133
134   /**
135    * DB query returns an alignment for each accession provided.
136    */
137   public static final Object ALIGNMENTDB = "ALIGNMENTS";
138 }