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