⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seqfeatdata.hpp

📁 ncbi源码
💻 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 + -