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