001package com.hfg.bio.seq.format.feature.genbank; 002 003 004 005import com.hfg.bio.seq.format.GenBank; 006import com.hfg.util.StringUtil; 007 008import java.util.Collection; 009import java.util.HashMap; 010import java.util.Map; 011 012//------------------------------------------------------------------------------ 013/** 014 DDBJ/EMBL/GenBank feature table qualifiers for flat-file records. 015 <p> 016 See <a href='http://www.insdc.org/documents/feature-table'>http://www.insdc.org/documents/feature-table</a> 017 </p> 018 @author J. Alex Taylor, hairyfatguy.com 019 */ 020//------------------------------------------------------------------------------ 021// com.hfg Library 022// 023// This library is free software; you can redistribute it and/or 024// modify it under the terms of the GNU Lesser General Public 025// License as published by the Free Software Foundation; either 026// version 2.1 of the License, or (at your option) any later version. 027// 028// This library is distributed in the hope that it will be useful, 029// but WITHOUT ANY WARRANTY; without even the implied warranty of 030// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 031// Lesser General Public License for more details. 032// 033// You should have received a copy of the GNU Lesser General Public 034// License along with this library; if not, write to the Free Software 035// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 036// 037// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com 038// jataylor@hairyfatguy.com 039//------------------------------------------------------------------------------ 040 041 042public class GenBankFeatureQualifierName 043{ 044 private String mName; 045 046 private static Map<String, GenBankFeatureQualifierName> sUniqueMap = new HashMap<>(); 047 048 public static final GenBankFeatureQualifierName allele = new GenBankFeatureQualifierName("allele"); 049 public static final GenBankFeatureQualifierName altitude = new GenBankFeatureQualifierName("altitude"); 050 public static final GenBankFeatureQualifierName anticodon = new GenBankFeatureQualifierName("anticodon"); 051 public static final GenBankFeatureQualifierName artificial = new GenBankFeatureQualifierName("artificial"); 052 public static final GenBankFeatureQualifierName artificial_location = new GenBankFeatureQualifierName("artificial_location"); 053 public static final GenBankFeatureQualifierName bio_material = new GenBankFeatureQualifierName("bio_material"); 054 public static final GenBankFeatureQualifierName bound_moiety = new GenBankFeatureQualifierName("bound_moiety"); 055 public static final GenBankFeatureQualifierName breed = new GenBankFeatureQualifierName("breed"); // Observed. Not in docs. 056 public static final GenBankFeatureQualifierName cell_line = new GenBankFeatureQualifierName("cell_line"); 057 public static final GenBankFeatureQualifierName cell_type = new GenBankFeatureQualifierName("cell_type"); 058 public static final GenBankFeatureQualifierName chromosome = new GenBankFeatureQualifierName("chromosome"); 059 public static final GenBankFeatureQualifierName citation = new GenBankFeatureQualifierName("citation"); 060 public static final GenBankFeatureQualifierName clone = new GenBankFeatureQualifierName("clone"); 061 public static final GenBankFeatureQualifierName clone_lib = new GenBankFeatureQualifierName("clone_lib"); 062 public static final GenBankFeatureQualifierName codon_start = new GenBankFeatureQualifierName("codon_start"); 063 public static final GenBankFeatureQualifierName collected_by = new GenBankFeatureQualifierName("collected_by"); 064 public static final GenBankFeatureQualifierName collection_date = new GenBankFeatureQualifierName("collection_date"); 065 public static final GenBankFeatureQualifierName compare = new GenBankFeatureQualifierName("compare"); 066 public static final GenBankFeatureQualifierName country = new GenBankFeatureQualifierName("country"); 067 public static final GenBankFeatureQualifierName cultivar = new GenBankFeatureQualifierName("cultivar"); 068 public static final GenBankFeatureQualifierName culture_collection = new GenBankFeatureQualifierName("culture_collection"); 069 public static final GenBankFeatureQualifierName db_xref = new GenBankFeatureQualifierName("db_xref"); 070 public static final GenBankFeatureQualifierName dev_stage = new GenBankFeatureQualifierName("dev_stage"); 071 public static final GenBankFeatureQualifierName direction = new GenBankFeatureQualifierName("direction"); 072 public static final GenBankFeatureQualifierName EC_number = new GenBankFeatureQualifierName("EC_number"); 073 public static final GenBankFeatureQualifierName ecotype = new GenBankFeatureQualifierName("ecotype"); 074 public static final GenBankFeatureQualifierName environmental_sample = new GenBankFeatureQualifierName("environmental_sample"); 075 public static final GenBankFeatureQualifierName estimated_length = new GenBankFeatureQualifierName("estimated_length"); 076 public static final GenBankFeatureQualifierName exception = new GenBankFeatureQualifierName("exception"); 077 public static final GenBankFeatureQualifierName experiment = new GenBankFeatureQualifierName("experiment"); 078 public static final GenBankFeatureQualifierName focus = new GenBankFeatureQualifierName("focus"); 079 public static final GenBankFeatureQualifierName frequency = new GenBankFeatureQualifierName("frequency"); 080 public static final GenBankFeatureQualifierName function = new GenBankFeatureQualifierName("function"); 081 public static final GenBankFeatureQualifierName gap_type = new GenBankFeatureQualifierName("gap_type"); 082 public static final GenBankFeatureQualifierName gene = new GenBankFeatureQualifierName("gene"); 083 public static final GenBankFeatureQualifierName gene_synonym = new GenBankFeatureQualifierName("gene_synonym"); 084 public static final GenBankFeatureQualifierName germline = new GenBankFeatureQualifierName("germline"); 085 public static final GenBankFeatureQualifierName haplogroup = new GenBankFeatureQualifierName("haplogroup"); 086 public static final GenBankFeatureQualifierName haplotype = new GenBankFeatureQualifierName("haplotype"); 087 public static final GenBankFeatureQualifierName host = new GenBankFeatureQualifierName("host"); 088 public static final GenBankFeatureQualifierName identified_by = new GenBankFeatureQualifierName("identified_by"); 089 public static final GenBankFeatureQualifierName inference = new GenBankFeatureQualifierName("inference"); 090 public static final GenBankFeatureQualifierName isolate = new GenBankFeatureQualifierName("isolate"); 091 public static final GenBankFeatureQualifierName isolation_source = new GenBankFeatureQualifierName("isolation_source"); 092 public static final GenBankFeatureQualifierName lab_host = new GenBankFeatureQualifierName("lab_host"); 093 public static final GenBankFeatureQualifierName lat_lon = new GenBankFeatureQualifierName("lat_lon"); 094 public static final GenBankFeatureQualifierName linkage_evidence = new GenBankFeatureQualifierName("linkage_evidence"); 095 public static final GenBankFeatureQualifierName locus_tag = new GenBankFeatureQualifierName("locus_tag"); 096 public static final GenBankFeatureQualifierName macronuclear = new GenBankFeatureQualifierName("macronuclear"); 097 public static final GenBankFeatureQualifierName map = new GenBankFeatureQualifierName("map"); 098 public static final GenBankFeatureQualifierName mating_type = new GenBankFeatureQualifierName("mating_type"); 099 public static final GenBankFeatureQualifierName mobile_element_type = new GenBankFeatureQualifierName("mobile_element_type"); 100 public static final GenBankFeatureQualifierName mod_base = new GenBankFeatureQualifierName("mod_base"); 101 public static final GenBankFeatureQualifierName mol_type = new GenBankFeatureQualifierName("mol_type"); 102 public static final GenBankFeatureQualifierName ncRNA_class = new GenBankFeatureQualifierName("ncRNA_class"); 103 public static final GenBankFeatureQualifierName note = new GenBankFeatureQualifierName("note"); 104 public static final GenBankFeatureQualifierName number = new GenBankFeatureQualifierName("number"); 105 public static final GenBankFeatureQualifierName old_locus_tag = new GenBankFeatureQualifierName("old_locus_tag"); 106 public static final GenBankFeatureQualifierName operon = new GenBankFeatureQualifierName("operon"); 107 public static final GenBankFeatureQualifierName organelle = new GenBankFeatureQualifierName("organelle"); 108 public static final GenBankFeatureQualifierName organism = new GenBankFeatureQualifierName("organism"); 109 public static final GenBankFeatureQualifierName PCR_conditions = new GenBankFeatureQualifierName("PCR_conditions"); 110 public static final GenBankFeatureQualifierName PCR_primers = new GenBankFeatureQualifierName("PCR_primers"); 111 public static final GenBankFeatureQualifierName phenotype = new GenBankFeatureQualifierName("phenotype"); 112 public static final GenBankFeatureQualifierName plasmid = new GenBankFeatureQualifierName("plasmid"); 113 public static final GenBankFeatureQualifierName pop_variant = new GenBankFeatureQualifierName("pop_variant"); 114 public static final GenBankFeatureQualifierName product = new GenBankFeatureQualifierName("product"); 115 public static final GenBankFeatureQualifierName protein_id = new GenBankFeatureQualifierName("protein_id"); 116 public static final GenBankFeatureQualifierName proviral = new GenBankFeatureQualifierName("proviral"); 117 public static final GenBankFeatureQualifierName pseudo = new GenBankFeatureQualifierName("pseudo"); 118 public static final GenBankFeatureQualifierName pseudogene = new GenBankFeatureQualifierName("pseudogene"); 119 public static final GenBankFeatureQualifierName rearranged = new GenBankFeatureQualifierName("rearranged"); 120 public static final GenBankFeatureQualifierName regulatory_class = new GenBankFeatureQualifierName("regulatory_class"); 121 public static final GenBankFeatureQualifierName replace = new GenBankFeatureQualifierName("replace"); 122 public static final GenBankFeatureQualifierName ribosomal_slippage = new GenBankFeatureQualifierName("ribosomal_slippage"); 123 public static final GenBankFeatureQualifierName rpt_family = new GenBankFeatureQualifierName("rpt_family"); 124 public static final GenBankFeatureQualifierName rpt_type = new GenBankFeatureQualifierName("rpt_type"); 125 public static final GenBankFeatureQualifierName rpt_unit_range = new GenBankFeatureQualifierName("rpt_unit_range"); 126 public static final GenBankFeatureQualifierName rpt_unit_seq = new GenBankFeatureQualifierName("rpt_unit_seq"); 127 public static final GenBankFeatureQualifierName satellite = new GenBankFeatureQualifierName("satellite"); 128 public static final GenBankFeatureQualifierName segment = new GenBankFeatureQualifierName("segment"); 129 public static final GenBankFeatureQualifierName serotype = new GenBankFeatureQualifierName("serotype"); 130 public static final GenBankFeatureQualifierName serovar = new GenBankFeatureQualifierName("serovar"); 131 public static final GenBankFeatureQualifierName sex = new GenBankFeatureQualifierName("sex"); 132 public static final GenBankFeatureQualifierName specimen_voucher = new GenBankFeatureQualifierName("specimen_voucher"); 133 public static final GenBankFeatureQualifierName standard_name = new GenBankFeatureQualifierName("standard_name"); 134 public static final GenBankFeatureQualifierName strain = new GenBankFeatureQualifierName("strain"); 135 public static final GenBankFeatureQualifierName sub_clone = new GenBankFeatureQualifierName("sub_clone"); 136 public static final GenBankFeatureQualifierName sub_species = new GenBankFeatureQualifierName("sub_species"); 137 public static final GenBankFeatureQualifierName sub_strain = new GenBankFeatureQualifierName("sub_strain"); 138 public static final GenBankFeatureQualifierName tag_peptide = new GenBankFeatureQualifierName("tag_peptide"); 139 public static final GenBankFeatureQualifierName tissue_lib = new GenBankFeatureQualifierName("tissue_lib"); 140 public static final GenBankFeatureQualifierName tissue_type = new GenBankFeatureQualifierName("tissue_type"); 141 public static final GenBankFeatureQualifierName transcript_id = new GenBankFeatureQualifierName("transcript_id"); 142 public static final GenBankFeatureQualifierName transgenic = new GenBankFeatureQualifierName("transgenic"); 143 public static final GenBankFeatureQualifierName translation = new GenBankFeatureQualifierName("translation"); 144 public static final GenBankFeatureQualifierName transl_except = new GenBankFeatureQualifierName("transl_except"); 145 public static final GenBankFeatureQualifierName transl_table = new GenBankFeatureQualifierName("transl_table"); 146 public static final GenBankFeatureQualifierName trans_splicing = new GenBankFeatureQualifierName("trans_splicing"); 147 public static final GenBankFeatureQualifierName type_material = new GenBankFeatureQualifierName("type_material"); 148 public static final GenBankFeatureQualifierName variety = new GenBankFeatureQualifierName("variety"); 149 150 //########################################################################### 151 // CONSTRUCTORS 152 //########################################################################### 153 154 //--------------------------------------------------------------------------- 155 private GenBankFeatureQualifierName(String inName) 156 { 157 mName = inName; 158 sUniqueMap.put(mName, this); 159 } 160 161 //########################################################################### 162 // PUBLIC METHODS 163 //########################################################################### 164 165 //--------------------------------------------------------------------------- 166 public static GenBankFeatureQualifierName valueOf(String inValue) 167 { 168 GenBankFeatureQualifierName qualifierName = sUniqueMap.get(inValue); 169 if (null == qualifierName) 170 { 171 qualifierName = new GenBankFeatureQualifierName(inValue); 172 GenBank.getLogger().warning(StringUtil.singleQuote(inValue) + " is not a recognized GenBank feature qualifier!"); 173 } 174 175 return qualifierName; 176 } 177 178 //--------------------------------------------------------------------------- 179 public static Collection<GenBankFeatureQualifierName> values() 180 { 181 return sUniqueMap.values(); 182 } 183 184 //--------------------------------------------------------------------------- 185 public String name() 186 { 187 return mName; 188 } 189 190 //--------------------------------------------------------------------------- 191 @Override 192 public String toString() 193 { 194 return name(); 195 } 196 197}