readfeat.cpp

来自「ncbi源码」· C++ 代码 · 共 1,648 行 · 第 1/5 页

CPP
1,648
字号
    { "terminator",         CSeqFeatData::eSubtype_terminator         },    { "transit_peptide",    CSeqFeatData::eSubtype_transit_peptide_aa },    { "transit_peptide_nt", CSeqFeatData::eSubtype_transit_peptide    },    { "tRNA",               CSeqFeatData::eSubtype_tRNA               },    { "TxInit",             CSeqFeatData::eSubtype_txinit             },    { "unsure",             CSeqFeatData::eSubtype_unsure             },    { "User",               CSeqFeatData::eSubtype_user               },    { "variation",          CSeqFeatData::eSubtype_variation          },    { "virion",             CSeqFeatData::eSubtype_virion             },    { "V_region",           CSeqFeatData::eSubtype_V_region           },    { "V_segment",          CSeqFeatData::eSubtype_V_segment          },    { "Xref",               CSeqFeatData::eSubtype_seq                }};typedef struct qualinit {    const char *                         key;    CFeature_table_reader_imp::EQual subtype;} QualInit;static QualInit qual_key_to_subtype [] = {    { "allele",               CFeature_table_reader_imp::eQual_allele               },    { "anticodon",            CFeature_table_reader_imp::eQual_anticodon            },    { "bond_type",            CFeature_table_reader_imp::eQual_bond_type            },    { "bound_moiety",         CFeature_table_reader_imp::eQual_bound_moiety         },    { "citation",             CFeature_table_reader_imp::eQual_citation             },    { "clone",                CFeature_table_reader_imp::eQual_clone                },    { "codon_start",          CFeature_table_reader_imp::eQual_codon_start          },    { "cons_splice",          CFeature_table_reader_imp::eQual_cons_splice          },    { "db_xref",              CFeature_table_reader_imp::eQual_db_xref              },    { "direction",            CFeature_table_reader_imp::eQual_direction            },    { "EC_number",            CFeature_table_reader_imp::eQual_EC_number            },    { "evidence",             CFeature_table_reader_imp::eQual_evidence             },    { "exception",            CFeature_table_reader_imp::eQual_exception            },    { "frequency",            CFeature_table_reader_imp::eQual_frequency            },    { "function",             CFeature_table_reader_imp::eQual_function             },    { "gene",                 CFeature_table_reader_imp::eQual_gene                 },    { "gene_desc",            CFeature_table_reader_imp::eQual_gene_desc            },    { "gene_syn",             CFeature_table_reader_imp::eQual_gene_syn             },    { "go_component",         CFeature_table_reader_imp::eQual_go_component         },    { "go_function",          CFeature_table_reader_imp::eQual_go_function          },    { "go_process",           CFeature_table_reader_imp::eQual_go_process           },    { "insertion_seq",        CFeature_table_reader_imp::eQual_insertion_seq        },    { "label",                CFeature_table_reader_imp::eQual_label                },    { "locus_tag",            CFeature_table_reader_imp::eQual_locus_tag            },    { "macronuclear",         CFeature_table_reader_imp::eQual_macronuclear         },    { "map",                  CFeature_table_reader_imp::eQual_map                  },    { "mod_base",             CFeature_table_reader_imp::eQual_mod_base             },    { "note",                 CFeature_table_reader_imp::eQual_note                 },    { "number",               CFeature_table_reader_imp::eQual_number               },    { "operon",               CFeature_table_reader_imp::eQual_operon               },    { "organism",             CFeature_table_reader_imp::eQual_organism             },    { "partial",              CFeature_table_reader_imp::eQual_partial              },    { "PCR_conditions",       CFeature_table_reader_imp::eQual_PCR_conditions       },    { "phenotype",            CFeature_table_reader_imp::eQual_phenotype            },    { "product",              CFeature_table_reader_imp::eQual_product              },    { "protein_id",           CFeature_table_reader_imp::eQual_protein_id           },    { "prot_desc",            CFeature_table_reader_imp::eQual_prot_desc            },    { "pseudo",               CFeature_table_reader_imp::eQual_pseudo               },    { "replace",              CFeature_table_reader_imp::eQual_replace              },    { "rpt_family",           CFeature_table_reader_imp::eQual_rpt_family           },    { "rpt_type",             CFeature_table_reader_imp::eQual_rpt_type             },    { "rpt_unit",             CFeature_table_reader_imp::eQual_rpt_unit             },    { "standard_name",        CFeature_table_reader_imp::eQual_standard_name        },    { "transcript_id",        CFeature_table_reader_imp::eQual_transcript_id        },    { "transl_except",        CFeature_table_reader_imp::eQual_transl_except        },    { "transl_table",         CFeature_table_reader_imp::eQual_transl_table         },    { "translation",          CFeature_table_reader_imp::eQual_translation          },    { "transposon",           CFeature_table_reader_imp::eQual_transposon           },    { "usedin",               CFeature_table_reader_imp::eQual_usedin               }};typedef struct orgrefinit {    const char *                       key;    CFeature_table_reader_imp::EOrgRef subtype;} OrgRefInit;static OrgRefInit orgref_key_to_subtype [] = {    { "div",        CFeature_table_reader_imp::eOrgRef_div       },    { "gcode",      CFeature_table_reader_imp::eOrgRef_gcode     },    { "lineage",    CFeature_table_reader_imp::eOrgRef_lineage   },    { "mgcode",     CFeature_table_reader_imp::eOrgRef_mgcode    },    { "organelle",  CFeature_table_reader_imp::eOrgRef_organelle },    { "organism",   CFeature_table_reader_imp::eOrgRef_organism  }};typedef struct genomeinit {    const char *        key;    CBioSource::EGenome subtype;} GenomeInit;static GenomeInit genome_key_to_subtype [] = {    { "unknown",                   CBioSource::eGenome_unknown          },    { "genomic",                   CBioSource::eGenome_genomic          },    { "chloroplast",               CBioSource::eGenome_chloroplast      },    { "plastid:chloroplast",       CBioSource::eGenome_chloroplast      },    { "chromoplast",               CBioSource::eGenome_chromoplast      },    { "plastid:chromoplast",       CBioSource::eGenome_chromoplast      },    { "kinetoplast",               CBioSource::eGenome_kinetoplast      },    { "mitochondrion:kinetoplast", CBioSource::eGenome_kinetoplast      },    { "mitochondrion",             CBioSource::eGenome_mitochondrion    },    { "plastid",                   CBioSource::eGenome_plastid          },    { "macronuclear",              CBioSource::eGenome_macronuclear     },    { "extrachrom",                CBioSource::eGenome_extrachrom       },    { "plasmid",                   CBioSource::eGenome_plasmid          },    { "transposon",                CBioSource::eGenome_transposon       },    { "insertion_seq",             CBioSource::eGenome_insertion_seq    },    { "cyanelle",                  CBioSource::eGenome_cyanelle         },    { "plastid:cyanelle",          CBioSource::eGenome_cyanelle         },    { "proviral",                  CBioSource::eGenome_proviral         },    { "virion",                    CBioSource::eGenome_virion           },    { "nucleomorph",               CBioSource::eGenome_nucleomorph      },    { "apicoplast",                CBioSource::eGenome_apicoplast       },    { "plastid:apicoplast",        CBioSource::eGenome_apicoplast       },    { "plastid:leucoplast",        CBioSource::eGenome_leucoplast       },    { "plastid:proplastid",        CBioSource::eGenome_proplastid       },    { "endogenous_virus",          CBioSource::eGenome_endogenous_virus }};typedef struct subsrcinit {    const char *         key;    CSubSource::ESubtype subtype;} SubSrcInit;static SubSrcInit subsrc_key_to_subtype [] = {    { "cell_line",            CSubSource::eSubtype_cell_line             },    { "cell_type",            CSubSource::eSubtype_cell_type             },    { "chromosome",           CSubSource::eSubtype_chromosome            },    { "clone",                CSubSource::eSubtype_clone                 },    { "clone_lib",            CSubSource::eSubtype_clone_lib             },    { "country",              CSubSource::eSubtype_country               },    { "dev_stage",            CSubSource::eSubtype_dev_stage             },    { "endogenous_virus",     CSubSource::eSubtype_endogenous_virus_name },    { "environmental_sample", CSubSource::eSubtype_environmental_sample  },    { "frequency",            CSubSource::eSubtype_frequency             },    { "genotype",             CSubSource::eSubtype_genotype              },    { "germline",             CSubSource::eSubtype_germline              },    { "haplotype",            CSubSource::eSubtype_haplotype             },    { "insertion_seq",        CSubSource::eSubtype_insertion_seq_name    },    { "isolation_source",     CSubSource::eSubtype_isolation_source      },    { "lab_host",             CSubSource::eSubtype_lab_host              },    { "map",                  CSubSource::eSubtype_map                   },    { "plasmid",              CSubSource::eSubtype_plasmid_name          },    { "plastid",              CSubSource::eSubtype_plastid_name          },    { "pop_variant",          CSubSource::eSubtype_pop_variant           },    { "rearranged",           CSubSource::eSubtype_rearranged            },    { "segment",              CSubSource::eSubtype_segment               },    { "sex",                  CSubSource::eSubtype_sex                   },    { "subclone",             CSubSource::eSubtype_subclone              },    { "tissue_lib ",          CSubSource::eSubtype_tissue_lib            },    { "tissue_type",          CSubSource::eSubtype_tissue_type           },    { "transgenic",           CSubSource::eSubtype_transgenic            },    { "transposon",           CSubSource::eSubtype_transposon_name       }};typedef struct orgmodinit {    const char *      key;    COrgMod::ESubtype subtype;} OrgModInit;static OrgModInit orgmod_key_to_subtype [] = {    { "acronym",          COrgMod::eSubtype_acronym          },    { "anamorph",         COrgMod::eSubtype_anamorph         },    { "authority",        COrgMod::eSubtype_authority        },    { "biotype",          COrgMod::eSubtype_biotype          },    { "biovar",           COrgMod::eSubtype_biovar           },    { "breed",            COrgMod::eSubtype_breed            },    { "chemovar",         COrgMod::eSubtype_chemovar         },    { "common",           COrgMod::eSubtype_common           },    { "cultivar",         COrgMod::eSubtype_cultivar         },    { "dosage",           COrgMod::eSubtype_dosage           },    { "ecotype",          COrgMod::eSubtype_ecotype          },    { "forma_specialis",  COrgMod::eSubtype_forma_specialis  },    { "forma",            COrgMod::eSubtype_forma            },    { "gb_acronym",       COrgMod::eSubtype_gb_acronym       },    { "gb_anamorph",      COrgMod::eSubtype_gb_anamorph      },    { "gb_synonym",       COrgMod::eSubtype_gb_synonym       },    { "group",            COrgMod::eSubtype_group            },    { "isolate",          COrgMod::eSubtype_isolate          },    { "nat_host",         COrgMod::eSubtype_nat_host         },    { "pathovar",         COrgMod::eSubtype_pathovar         },    { "serogroup",        COrgMod::eSubtype_serogroup        },    { "serotype",         COrgMod::eSubtype_serotype         },    { "serovar",          COrgMod::eSubtype_serovar          },    { "specimen_voucher", COrgMod::eSubtype_specimen_voucher },    { "strain",           COrgMod::eSubtype_strain           },    { "sub_species",      COrgMod::eSubtype_sub_species      },    { "subgroup",         COrgMod::eSubtype_subgroup         },    { "substrain",        COrgMod::eSubtype_substrain        },    { "subtype",          COrgMod::eSubtype_subtype          },    { "synonym",          COrgMod::eSubtype_synonym          },    { "teleomorph",       COrgMod::eSubtype_teleomorph       },    { "type",             COrgMod::eSubtype_type             },    { "variety",          COrgMod::eSubtype_variety          }};typedef struct bondinit {    const char *        key;    CSeqFeatData::EBond subtype;} BondInit;static BondInit bond_key_to_subtype [] = {    { "disulfide",         CSeqFeatData::eBond_disulfide  },    { "thiolester",        CSeqFeatData::eBond_thiolester },    { "xlink",             CSeqFeatData::eBond_xlink      },    { "thioether",         CSeqFeatData::eBond_thioether  },    { "",                  CSeqFeatData::eBond_other      }};typedef struct siteinit {    const char *        key;    CSeqFeatData::ESite subtype;} SiteInit;static SiteInit site_key_to_subtype [] = {    { "active",                      CSeqFeatData::eSite_active                      },    { "binding",                     CSeqFeatData::eSite_binding                     },    { "cleavage",                    CSeqFeatData::eSite_cleavage                    },    { "inhibit",                     CSeqFeatData::eSite_inhibit                     },    { "modified",                    CSeqFeatData::eSite_modified                    },    { "glycosylation",               CSeqFeatData::eSite_glycosylation               },    { "myristoylation",              CSeqFeatData::eSite_myristoylation              },    { "mutagenized",                 CSeqFeatData::eSite_mutagenized                 },    { "metal binding",               CSeqFeatData::eSite_metal_binding               },    { "phosphorylation",             CSeqFeatData::eSite_phosphorylation             },    { "acetylation",                 CSeqFeatData::eSite_acetylation                 },    { "amidation",                   CSeqFeatData::eSite_amidation                   },    { "methylation",                 CSeqFeatData::eSite_methylation                 },    { "hydroxylation",               CSeqFeatData::eSite_hydroxylation               },    { "sulfatation",                 CSeqFeatData::eSite_sulfatation                 },    { "oxidative deamination",       CSeqFeatData::eSite_oxidative_deamination       },    { "pyrrolidone carboxylic acid", CSeqFeatData::eSite_pyrrolidone_carboxylic_acid },    { "gamma carboxyglutamic acid",  CSeqFeatData::eSite_gamma_carboxyglutamic_acid  },    { "blocked",                     CSeqFeatData::eSite_blocked                     },    { "lipid binding",               CSeqFeatData::eSite_lipid_binding               },    { "np binding",                  CSeqFeatData::eSite_np_binding                  },    { "DNA binding",                 CSeqFeatData::eSite_dna_binding                 },    { "signal peptide",              CSeqFeatData::eSite_signal_peptide              },    { "transit peptide",             CSeqFeatData::eSite_transit_peptide             },    { "transmembrane region",        CSeqFeatData::eSite_transmembrane_region        },    { "",                            CSeqFeatData::eSite_other                       }};typedef struct trnainit {    const char * key;    int          subtype;} TrnaInit;static TrnaInit trna_key_to_subtype [] = {    { "Ala",   'A' },    { "Asx",   'B' },    { "Cys",   'C' },    { "Asp",   'D' },    { "Glu",   'E' },    { "Phe",   'F' },    { "Gly",   'G' },    { "His",   'H' },    { "Ile",   'I' },    { "Lys",   'K' },    { "Leu",   'L' },    { "Met",   'M' },    { "fMet",  'M' },    { "Asn",   'N' },    { "Pro",   'P' },    { "Gln",   'Q' },    { "Arg",   'R' },    { "Ser",   'S' },    { "Thr",   'T' },    { "Val",   'V' },    { "Trp",   'W' },    { "Xxx",   'X' },    { "OTHER", 'X' },    { "Tyr",   'Y' },    { "Glx",   'Z' },    { "Sec",   'U' },    { "Ter",   '*' },    { "TERM",  '*' }};typedef struct singleinit {    const char * key;} SingleInit;static SingleInit single_key_list [] = {    { "pseudo"               },    { "germline"             },    { "rearranged"           },    { "transgenic"           },    { "environmental_sample" }};// constructorCFeature_table_reader_imp::CFeature_table_reader_imp(void){    // initialize common CFeature_table_reader_imp tables    for (int i = 0; i < sizeof (feat_key_to_subtype) / sizeof (FeatInit); i++) {        string str = string (feat_key_to_subtype [i].key);        m_FeatKeys [string (feat_key_to_subtype [i].key)] = feat_key_to_subtype [i].subtype;    }    for (int i = 0; i < sizeof (qual_key_to_subtype) / sizeof (QualInit); i++) {        string str = string (qual_key_to_subtype [i].key);        m_QualKeys [string (qual_key_to_subtype [i].key)] = qual_key_to_subtype [i].subtype;    }    for (int i = 0; i < sizeof (orgref_key_to_subtype) / sizeof (OrgRefInit); i++) {        string str = string (orgref_key_to_subtype [i].key);        m_OrgRefKeys [string (orgref_key_to_subtype [i].key)] = orgref_key_to_subtype [i].subtype;    }    for (int i = 0; i < sizeof (genome_key_to_subtype) / sizeof (GenomeInit); i++) {        string str = string (genome_key_to_subtype [i].key);        m_GenomeKeys [string (genome_key_to_subtype [i].key)] = genome_key_to_subtype [i].subtype;    }    for (int i = 0; i < sizeof (subsrc_key_to_subtype) / sizeof (SubSrcInit); i++) {        string str = string (subsrc_key_to_subtype [i].key);        m_SubSrcKeys [string (subsrc_key_to_subtype [i].key)] = subsrc_key_to_subtype [i].subtype;    }    for (int i = 0; i < sizeof (orgmod_key_to_subtype) / sizeof (OrgModInit); i++) {        string str = string (orgmod_key_to_subtype [i].key);        m_OrgModKeys [string (orgmod_key_to_subtype [i].key)] = orgmod_key_to_subtype [i].subtype;    }    for (int i = 0; i < sizeof (bond_key_to_subtype) / sizeof (BondInit); i++) {        string str = string (bond_key_to_subtype [i].key);        m_BondKeys [string (bond_key_to_subtype [i].key)] = bond_key_to_subtype [i].subtype;    }    for (int i = 0; i < sizeof (site_key_to_subtype) / sizeof (SiteInit); i++) {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?