1af18b695f7718df5242f0f2c1efe52736ba6717
[jalview.git] / src / jalview / datamodel / DBRefSource.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
3  * Copyright (C) 2014 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)
27  * 
28  * @author JimP
29  * 
30  */
31 public class DBRefSource
32 {
33   /**
34    * UNIPROT Accession Number
35    */
36   public static String UNIPROT = "UNIPROT";
37
38   /**
39    * UNIPROT Entry Name
40    */
41   public static String UP_NAME = "UNIPROT_NAME";
42
43   /**
44    * Uniprot Knowledgebase/TrEMBL as served from EMBL protein products.
45    */
46   public static final String UNIPROTKB = "UniProtKB/TrEMBL";
47
48   /**
49    * PDB Entry Code
50    */
51   public static String PDB = "PDB";
52
53   /**
54    * EMBL ID
55    */
56   public static String EMBL = "EMBL";
57
58   /**
59    * EMBLCDS ID
60    */
61   public static String EMBLCDS = "EMBLCDS";
62
63   /**
64    * PFAM ID
65    */
66   public static String PFAM = "PFAM";
67
68   /**
69    * RFAM ID
70    */
71   public static String RFAM = "RFAM";
72
73   /**
74    * GeneDB ID
75    */
76   public static final String GENEDB = "GeneDB";
77
78   /**
79    * List of databases whose sequences might have coding regions annotated
80    */
81   public static final String[] DNACODINGDBS =
82   { EMBL, EMBLCDS, GENEDB };
83
84   public static final String[] CODINGDBS =
85   { EMBLCDS, GENEDB };
86
87   public static final String[] PROTEINDBS =
88   { UNIPROT, PDB, UNIPROTKB };
89
90   public static final String[] PROTEINSEQ =
91   { UNIPROT, UNIPROTKB };
92
93   public static final String[] PROTEINSTR =
94   { PDB };
95
96   public static final String[] DOMAINDBS =
97   { PFAM, RFAM };
98
99   /**
100    * set of unique DBRefSource property constants. These could be used to
101    * reconstruct the above groupings
102    */
103   public static final Object SEQDB = "SQ";
104
105   /**
106    * database of nucleic acid sequences
107    */
108   public static final Object DNASEQDB = "NASQ";
109
110   /**
111    * database of amino acid sequences
112    */
113   public static final Object PROTSEQDB = "PROTSQ";
114
115   /**
116    * database of cDNA sequences
117    */
118   public static final Object CODINGSEQDB = "CODING";
119
120   /**
121    * database of na sequences with exon annotation
122    */
123   public static final Object DNACODINGSEQDB = "XONCODING";
124
125   /**
126    * DB returns several sequences associated with a protein/nucleotide domain
127    */
128   public static final Object DOMAINDB = "DOMAIN";
129
130   /**
131    * DB query can take multiple accession codes concatenated by a separator.
132    * Value of property indicates maximum number of accession codes to send at a
133    * time.
134    */
135   public static final Object MULTIACC = "MULTIACC";
136
137   /**
138    * DB query returns an alignment for each accession provided.
139    */
140   public static final Object ALIGNMENTDB = "ALIGNMENTS";
141 }