JAL-1705 - allow a FileParse to be constructed directly from a reader for direct...
[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 =
85   { EMBL, EMBLCDS, GENEDB };
86
87   public static final String[] CODINGDBS =
88   { EMBLCDS, GENEDB };
89
90   public static final String[] PROTEINDBS =
91   { UNIPROT, PDB, UNIPROTKB, EMBLCDSProduct };
92
93   public static final String[] PROTEINSEQ =
94   { UNIPROT, UNIPROTKB, EMBLCDSProduct };
95
96   public static final String[] PROTEINSTR =
97   { PDB };
98
99   public static final String[] DOMAINDBS =
100   { PFAM, RFAM };
101
102   /**
103    * set of unique DBRefSource property constants. These could be used to
104    * reconstruct the above groupings
105    */
106   public static final Object SEQDB = "SQ";
107
108   /**
109    * database of nucleic acid sequences
110    */
111   public static final Object DNASEQDB = "NASQ";
112
113   /**
114    * database of amino acid sequences
115    */
116   public static final Object PROTSEQDB = "PROTSQ";
117
118   /**
119    * database of cDNA sequences
120    */
121   public static final Object CODINGSEQDB = "CODING";
122
123   /**
124    * database of na sequences with exon annotation
125    */
126   public static final Object DNACODINGSEQDB = "XONCODING";
127
128   /**
129    * DB returns several sequences associated with a protein/nucleotide domain
130    */
131   public static final Object DOMAINDB = "DOMAIN";
132
133   /**
134    * DB query can take multiple accession codes concatenated by a separator.
135    * Value of property indicates maximum number of accession codes to send at a
136    * time.
137    */
138   public static final Object MULTIACC = "MULTIACC";
139
140   /**
141    * DB query returns an alignment for each accession provided.
142    */
143   public static final Object ALIGNMENTDB = "ALIGNMENTS";
144 }