📄 seqfeatdata.hpp
字号:
/* * =========================================================================== * PRODUCTION $Log: SeqFeatData.hpp,v $ * PRODUCTION Revision 1000.1 2004/06/01 19:30:46 gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.6 * PRODUCTION * =========================================================================== *//* $Id: SeqFeatData.hpp,v 1000.1 2004/06/01 19:30:46 gouriano Exp $ * =========================================================================== * * PUBLIC DOMAIN NOTICE * National Center for Biotechnology Information * * This software/database is a "United States Government Work" under the * terms of the United States Copyright Act. It was written as part of * the author's official duties as a United States Government employee and * thus cannot be copyrighted. This software/database is freely available * to the public for use. The National Library of Medicine and the U.S. * Government have not placed any restriction on its use or reproduction. * * Although all reasonable efforts have been taken to ensure the accuracy * and reliability of the software and data, the NLM and the U.S. * Government do not and cannot warrant the performance or results that * may be obtained by using this software or data. The NLM and the U.S. * Government disclaim all warranties, express or implied, including * warranties of performance, merchantability or fitness for any particular * purpose. * * Please cite the author in any work or product based on this material. * * =========================================================================== * * Author: ....... * * File Description: * ....... * * Remark: * This code was originally generated by application DATATOOL * using specifications from the ASN data definition file * 'seqfeat.asn'. */#ifndef OBJECTS_SEQFEAT_SEQFEATDATA_HPP#define OBJECTS_SEQFEAT_SEQFEATDATA_HPP// generated includes#include <objects/seqfeat/SeqFeatData_.hpp>// generated classesBEGIN_NCBI_SCOPEBEGIN_objects_SCOPE // namespace ncbi::objects::class NCBI_SEQFEAT_EXPORT CSeqFeatData : public CSeqFeatData_Base{ typedef CSeqFeatData_Base Tparent;public: // constructor CSeqFeatData(void); // destructor ~CSeqFeatData(void); // ASCII representation of subtype (GenBank feature key, e.g.) enum EVocabulary { eVocabulary_full, eVocabulary_genbank }; string GetKey(EVocabulary vocab = eVocabulary_full) const; enum ESubtype { // These no longer need to match the FEATDEF values in the // C toolkit's objfdef.h eSubtype_bad = 0, eSubtype_gene, eSubtype_org, eSubtype_cdregion, eSubtype_prot, eSubtype_preprotein, eSubtype_mat_peptide_aa, eSubtype_sig_peptide_aa, eSubtype_transit_peptide_aa, eSubtype_preRNA, eSubtype_mRNA, eSubtype_tRNA, eSubtype_rRNA, eSubtype_snRNA, eSubtype_scRNA, eSubtype_snoRNA, eSubtype_otherRNA, eSubtype_pub, eSubtype_seq, eSubtype_imp, eSubtype_allele, eSubtype_attenuator, eSubtype_C_region, eSubtype_CAAT_signal, eSubtype_Imp_CDS, eSubtype_conflict, eSubtype_D_loop, eSubtype_D_segment, eSubtype_enhancer, eSubtype_exon, eSubtype_GC_signal, eSubtype_iDNA, eSubtype_intron, eSubtype_J_segment, eSubtype_LTR, eSubtype_mat_peptide, eSubtype_misc_binding, eSubtype_misc_difference, eSubtype_misc_feature, eSubtype_misc_recomb, eSubtype_misc_RNA, eSubtype_misc_signal, eSubtype_misc_structure, eSubtype_modified_base, eSubtype_mutation, eSubtype_N_region, eSubtype_old_sequence, eSubtype_polyA_signal, eSubtype_polyA_site, eSubtype_precursor_RNA, eSubtype_prim_transcript, eSubtype_primer_bind, eSubtype_promoter, eSubtype_protein_bind, eSubtype_RBS, eSubtype_repeat_region, eSubtype_repeat_unit, eSubtype_rep_origin, eSubtype_S_region, eSubtype_satellite, eSubtype_sig_peptide, eSubtype_source, eSubtype_stem_loop, eSubtype_STS, eSubtype_TATA_signal, eSubtype_terminator, eSubtype_transit_peptide, eSubtype_unsure, eSubtype_V_region, eSubtype_V_segment, eSubtype_variation, eSubtype_virion, eSubtype_3clip, eSubtype_3UTR, eSubtype_5clip, eSubtype_5UTR, eSubtype_10_signal, eSubtype_35_signal, eSubtype_gap, eSubtype_operon, eSubtype_oriT, eSubtype_site_ref, eSubtype_region, eSubtype_comment, eSubtype_bond, eSubtype_site, eSubtype_rsite, eSubtype_user, eSubtype_txinit, eSubtype_num, eSubtype_psec_str, eSubtype_non_std_residue, eSubtype_het, eSubtype_biosrc, eSubtype_max, eSubtype_any = 255 }; ESubtype GetSubtype(void) const; // Call after changes that could affect the subtype void InvalidateSubtype(void); static E_Choice GetTypeFromSubtype (ESubtype subtype); // List of available qualifiers for feature keys. // For more information see: // The DDBJ/EMBL/GenBank Feature Table: Definition // (http://www.ncbi.nlm.nih.gov/projects/collab/FT/index.html) enum EQualifier { eQual_bad = 0, eQual_allele, eQual_anticodon, eQual_bound_moiety, eQual_cell_line, eQual_cell_type, eQual_chromosome, eQual_citation, eQual_clone, eQual_clone_lib, eQual_codon, eQual_codon_start, eQual_cons_splice, eQual_country, eQual_cultivar, eQual_db_xref, eQual_dev_stage, eQual_direction, eQual_EC_number, eQual_ecotype, eQual_environmental_sample, eQual_estimated_length, eQual_evidence, eQual_exception, eQual_focus, eQual_frequency, eQual_function, eQual_gene, eQual_germline, eQual_haplotype, eQual_insertion_seq, eQual_isolate, eQual_isolation_source, eQual_label, eQual_lab_host, eQual_locus_tag, eQual_map, eQual_macronuclear, eQual_mod_base, eQual_mol_type, eQual_note, eQual_number, eQual_operon, eQual_organelle, eQual_organism, eQual_partial, eQual_PCR_conditions, eQual_phenotype, eQual_pop_variant, eQual_plasmid, eQual_product, eQual_protein_id, eQual_proviral, eQual_pseudo, eQual_rearranged, eQual_replace, eQual_rpt_family, eQual_rpt_type, eQual_rpt_unit, eQual_segment, eQual_sequence_mol, eQual_serotype, eQual_serovar, eQual_sex, eQual_specific_host, eQual_specimen_voucher, eQual_standard_name, eQual_strain, eQual_sub_clone, eQual_sub_species, eQual_sub_strain, eQual_tissue_lib, eQual_tissue_type, eQual_transgenic, eQual_translation, eQual_transl_except, eQual_transl_table, eQual_transposon, eQual_usedin, eQual_variety, eQual_virion }; typedef vector<EQualifier> TQualifiers; // Test wheather a certain qualifier is legal for the feature bool IsLegalQualifier(EQualifier qual) const; static bool IsLegalQualifier(ESubtype subtype, EQualifier qual); // Get a list of all the legal qualifiers for the feature. const TQualifiers& GetLegalQualifiers(void) const; static const TQualifiers& GetLegalQualifiers(ESubtype subtype); // Get the list of all mandatory qualifiers for the feature. const TQualifiers& GetMandatoryQualifiers(void) const; static const TQualifiers& GetMandatoryQualifiers(ESubtype subtype); // Convert a qualifier from an enumerated value to a string representation. static const string& GetQulifierAsString(EQualifier qual);private: mutable ESubtype m_Subtype; // cached // Prohibit copy constructor and assignment operator CSeqFeatData(const CSeqFeatData& value); CSeqFeatData& operator=(const CSeqFeatData& value); typedef map<ESubtype, TQualifiers> TFeatQuals; static void x_InitQuals(void); static void x_InitLegalQuals(void); static void x_InitMandatoryQuals(void); static TFeatQuals sm_LegalQuals; static TFeatQuals sm_MandatoryQuals;};/////////////////// CSeqFeatData inline methods// constructorinlineCSeqFeatData::CSeqFeatData(void) : m_Subtype(eSubtype_any){}inlinevoid CSeqFeatData::InvalidateSubtype(void){ m_Subtype = eSubtype_any;}inlinebool CSeqFeatData::IsLegalQualifier(EQualifier qual) const{ x_InitQuals(); // does nothing if already intialized return IsLegalQualifier(GetSubtype(), qual);}inlineconst CSeqFeatData::TQualifiers& CSeqFeatData::GetLegalQualifiers(void) const{ x_InitQuals(); // does nothing if already intialized return GetLegalQualifiers(GetSubtype());}inlineconst CSeqFeatData::TQualifiers& CSeqFeatData::GetMandatoryQualifiers(void) const{ x_InitQuals(); // does nothing if already intialized return GetMandatoryQualifiers(GetSubtype());}/////////////////// end of CSeqFeatData inline methodsEND_objects_SCOPE // namespace ncbi::objects::END_NCBI_SCOPE#endif // OBJECTS_SEQFEAT_SEQFEATDATA_HPP/** ===========================================================================** $Log: SeqFeatData.hpp,v $* Revision 1000.1 2004/06/01 19:30:46 gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.6** Revision 1.6 2004/05/19 14:39:42 shomrat* Added list of qualifiers** Revision 1.5 2003/10/24 17:13:49 shomrat* added gap, operaon and oriT subtypes** Revision 1.4 2003/04/19 16:38:06 dicuccio* Remove compiler warning about nested c-style comments** Revision 1.3 2003/04/18 21:20:44 kans* regrouped ESubtype, removing most explicit numbers, added GetTypeFromSubtype, moved log to end of file** Revision 1.2 2002/12/26 12:43:27 dicuccio* Added Win32 export specifiers** Revision 1.1 2001/10/30 20:25:56 ucko* Implement feature labels/keys, subtypes, and sorting*** ===========================================================================*//* Original file checksum: lines: 90, chars: 2439, CRC32: 742431cc */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -