NCBI C++ ToolKit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
CSeqFeatData Class Reference

Search Toolkit Book for CSeqFeatData

#include <objects/seqfeat/SeqFeatData.hpp>

+ Inheritance diagram for CSeqFeatData:
+ Collaboration diagram for CSeqFeatData:

Classes

struct  SFeatDataInfo
 

Public Types

enum  EVocabulary { eVocabulary_full , eVocabulary_genbank }
 ASCII representation of subtype (GenBank feature key, e.g.) More...
 
enum  ESubtype {
  eSubtype_bad = 0 , eSubtype_gene = 1 , eSubtype_org = 2 , eSubtype_cdregion = 3 ,
  eSubtype_prot = 4 , eSubtype_preprotein = 5 , eSubtype_mat_peptide_aa = 6 , eSubtype_sig_peptide_aa = 7 ,
  eSubtype_transit_peptide_aa = 8 , eSubtype_preRNA = 9 , eSubtype_mRNA = 10 , eSubtype_tRNA = 11 ,
  eSubtype_rRNA = 12 , eSubtype_snRNA = 13 , eSubtype_scRNA = 14 , eSubtype_snoRNA = 15 ,
  eSubtype_otherRNA = 16 , eSubtype_pub = 17 , eSubtype_seq = 18 , eSubtype_imp = 19 ,
  eSubtype_allele = 20 , eSubtype_attenuator = 21 , eSubtype_C_region = 22 , eSubtype_CAAT_signal = 23 ,
  eSubtype_Imp_CDS = 24 , eSubtype_conflict = 25 , eSubtype_D_loop = 26 , eSubtype_D_segment = 27 ,
  eSubtype_enhancer = 28 , eSubtype_exon = 29 , eSubtype_EC_number = 30 , eSubtype_GC_signal = 31 ,
  eSubtype_iDNA = 32 , eSubtype_intron = 33 , eSubtype_J_segment = 34 , eSubtype_LTR = 35 ,
  eSubtype_mat_peptide = 36 , eSubtype_misc_binding = 37 , eSubtype_misc_difference = 38 , eSubtype_misc_feature = 39 ,
  eSubtype_misc_recomb = 40 , eSubtype_misc_RNA = 41 , eSubtype_misc_signal = 42 , eSubtype_misc_structure = 43 ,
  eSubtype_modified_base = 44 , eSubtype_mutation = 45 , eSubtype_N_region = 46 , eSubtype_old_sequence = 47 ,
  eSubtype_polyA_signal = 48 , eSubtype_polyA_site = 49 , eSubtype_precursor_RNA = 50 , eSubtype_prim_transcript = 51 ,
  eSubtype_primer_bind = 52 , eSubtype_promoter = 53 , eSubtype_protein_bind = 54 , eSubtype_RBS = 55 ,
  eSubtype_repeat_region = 56 , eSubtype_repeat_unit = 57 , eSubtype_rep_origin = 58 , eSubtype_S_region = 59 ,
  eSubtype_satellite = 60 , eSubtype_sig_peptide = 61 , eSubtype_source = 62 , eSubtype_stem_loop = 63 ,
  eSubtype_STS = 64 , eSubtype_TATA_signal = 65 , eSubtype_terminator = 66 , eSubtype_transit_peptide = 67 ,
  eSubtype_unsure = 68 , eSubtype_V_region = 69 , eSubtype_V_segment = 70 , eSubtype_variation = 71 ,
  eSubtype_virion = 72 , eSubtype_3clip = 73 , eSubtype_3UTR = 74 , eSubtype_5clip = 75 ,
  eSubtype_5UTR = 76 , eSubtype_10_signal = 77 , eSubtype_35_signal = 78 , eSubtype_gap = 79 ,
  eSubtype_operon = 80 , eSubtype_oriT = 81 , eSubtype_site_ref = 82 , eSubtype_region = 83 ,
  eSubtype_comment = 84 , eSubtype_bond = 85 , eSubtype_site = 86 , eSubtype_rsite = 87 ,
  eSubtype_user = 88 , eSubtype_txinit = 89 , eSubtype_num = 90 , eSubtype_psec_str = 91 ,
  eSubtype_non_std_residue = 92 , eSubtype_het = 93 , eSubtype_biosrc = 94 , eSubtype_ncRNA = 95 ,
  eSubtype_tmRNA = 96 , eSubtype_clone = 97 , eSubtype_variation_ref = 98 , eSubtype_mobile_element = 99 ,
  eSubtype_centromere = 100 , eSubtype_telomere = 101 , eSubtype_assembly_gap = 102 , eSubtype_regulatory = 103 ,
  eSubtype_propeptide = 104 , eSubtype_propeptide_aa = 105 , eSubtype_max = 106 , eSubtype_any = 255
}
 
enum  EQualifier {
  eQual_bad = 0 , eQual_allele , eQual_altitude , eQual_anticodon ,
  eQual_artificial_location , eQual_bio_material , eQual_bond_type , eQual_bound_moiety ,
  eQual_calculated_mol_wt , eQual_cell_line , eQual_cell_type , eQual_chloroplast ,
  eQual_chromoplast , eQual_chromosome , eQual_circular_RNA , eQual_citation ,
  eQual_clone , eQual_clone_lib , eQual_coded_by , eQual_codon ,
  eQual_codon_start , eQual_collected_by , eQual_collection_date , eQual_compare ,
  eQual_cons_splice , eQual_country , eQual_cultivar , eQual_culture_collection ,
  eQual_cyanelle , eQual_db_xref , eQual_derived_from , eQual_dev_stage ,
  eQual_direction , eQual_EC_number , eQual_ecotype , eQual_environmental_sample ,
  eQual_estimated_length , eQual_evidence , eQual_exception , eQual_experiment ,
  eQual_feat_class , eQual_focus , eQual_frequency , eQual_function ,
  eQual_gap_type , eQual_gdb_xref , eQual_gene , eQual_gene_synonym ,
  eQual_germline , eQual_haplogroup , eQual_haplotype , eQual_heterogen ,
  eQual_host , eQual_identified_by , eQual_inference , eQual_insertion_seq ,
  eQual_isolate , eQual_isolation_source , eQual_kinetoplast , eQual_lab_host ,
  eQual_label , eQual_lat_lon , eQual_linkage_evidence , eQual_linkage_group ,
  eQual_locus_tag , eQual_macronuclear , eQual_map , eQual_mating_type ,
  eQual_metagenome_source , eQual_metagenomic , eQual_mitochondrion , eQual_mobile_element ,
  eQual_mobile_element_type , eQual_mod_base , eQual_mol_type , eQual_name ,
  eQual_nomenclature , eQual_non_std_residue , eQual_ncRNA_class , eQual_note ,
  eQual_number , eQual_old_locus_tag , eQual_operon , eQual_organelle ,
  eQual_organism , eQual_partial , eQual_PCR_conditions , eQual_PCR_primers ,
  eQual_phenotype , eQual_plasmid , eQual_pop_variant , eQual_product ,
  eQual_protein_id , eQual_proviral , eQual_pseudo , eQual_pseudogene ,
  eQual_rearranged , eQual_recombination_class , eQual_region_name , eQual_regulatory_class ,
  eQual_replace , eQual_ribosomal_slippage , eQual_rpt_family , eQual_rpt_type ,
  eQual_rpt_unit , eQual_rpt_unit_range , eQual_rpt_unit_seq , eQual_satellite ,
  eQual_sec_str_type , eQual_segment , eQual_sequenced_mol , eQual_serotype ,
  eQual_serovar , eQual_sex , eQual_site_type , eQual_SO_type ,
  eQual_specimen_voucher , eQual_standard_name , eQual_strain , eQual_submitter_seqid ,
  eQual_sub_clone , eQual_sub_species , eQual_sub_strain , eQual_tag_peptide ,
  eQual_tissue_lib , eQual_tissue_type , eQual_trans_splicing , eQual_transcript_id ,
  eQual_transgenic , eQual_translation , eQual_transl_except , eQual_transl_table ,
  eQual_transposon , eQual_type_material , eQual_UniProtKB_evidence , eQual_usedin ,
  eQual_variety , eQual_virion , eQual_whole_replicon
}
 List of available qualifiers for feature keys. More...
 
enum  EFeatureLocationAllowed { eFeatureLocationAllowed_Any = 0 , eFeatureLocationAllowed_Error , eFeatureLocationAllowed_NucOnly , eFeatureLocationAllowed_ProtOnly }
 
using TLegalQualifiers = ct::const_bitset< eQual_whole_replicon+1, EQualifier >
 
using TSubtypes = ct::const_bitset< eSubtype_max, ESubtype >
 
using TQualifiers = TLegalQualifiers
 
using TSubTypeQualifiersMap = ct::const_map< ESubtype, TQualifiers >
 
- Public Types inherited from CSeqFeatData_Base
enum  EBond {
  eBond_disulfide = 1 , eBond_thiolester = 2 , eBond_xlink = 3 , eBond_thioether = 4 ,
  eBond_other = 255
}
 
enum  ESite {
  eSite_active = 1 , eSite_binding = 2 , eSite_cleavage = 3 , eSite_inhibit = 4 ,
  eSite_modified = 5 , eSite_glycosylation = 6 , eSite_myristoylation = 7 , eSite_mutagenized = 8 ,
  eSite_metal_binding = 9 , eSite_phosphorylation = 10 , eSite_acetylation = 11 , eSite_amidation = 12 ,
  eSite_methylation = 13 , eSite_hydroxylation = 14 , eSite_sulfatation = 15 , eSite_oxidative_deamination = 16 ,
  eSite_pyrrolidone_carboxylic_acid = 17 , eSite_gamma_carboxyglutamic_acid = 18 , eSite_blocked = 19 , eSite_lipid_binding = 20 ,
  eSite_np_binding = 21 , eSite_dna_binding = 22 , eSite_signal_peptide = 23 , eSite_transit_peptide = 24 ,
  eSite_transmembrane_region = 25 , eSite_nitrosylation = 26 , eSite_other = 255
}
 
enum  EPsec_str { ePsec_str_helix = 1 , ePsec_str_sheet = 2 , ePsec_str_turn = 3 }
 protein secondary structure More...
 
enum  E_Choice {
  e_not_set = 0 , e_Gene , e_Org , e_Cdregion ,
  e_Prot , e_Rna , e_Pub , e_Seq ,
  e_Imp , e_Region , e_Comment , e_Bond ,
  e_Site , e_Rsite , e_User , e_Txinit ,
  e_Num , e_Psec_str , e_Non_std_residue , e_Het ,
  e_Biosrc , e_Clone , e_Variation
}
 Choice variants. More...
 
enum  E_ChoiceStopper { e_MaxChoice = 23 }
 Maximum+1 value of the choice variant enumerator. More...
 
typedef CGene_ref TGene
 
typedef COrg_ref TOrg
 
typedef CCdregion TCdregion
 
typedef CProt_ref TProt
 
typedef CRNA_ref TRna
 
typedef CPubdesc TPub
 
typedef CSeq_loc TSeq
 
typedef CImp_feat TImp
 
typedef string TRegion
 
typedef EBond TBond
 
typedef ESite TSite
 
typedef CRsite_ref TRsite
 
typedef CUser_object TUser
 
typedef CTxinit TTxinit
 
typedef CNumbering TNum
 
typedef EPsec_str TPsec_str
 
typedef string TNon_std_residue
 
typedef CHeterogen THet
 
typedef CBioSource TBiosrc
 
typedef CClone_ref TClone
 
typedef CVariation_ref TVariation
 
- Public Types inherited from CObject
enum  EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern }
 Control filling of newly allocated memory. More...
 
typedef CObjectCounterLocker TLockerType
 Default locker type for CRef. More...
 
typedef atomic< Uint8TCounter
 Counter type is CAtomiCounter. More...
 
typedef Uint8 TCount
 Alias for value type of counter. More...
 

Public Member Functions

 CSeqFeatData (void)
 constructor More...
 
 ~CSeqFeatData (void)
 destructor More...
 
string GetKey (EVocabulary vocab=eVocabulary_full) const
 
ESubtype GetSubtype (void) const
 
void InvalidateSubtype (void) const
 Call after changes that could affect the subtype. More...
 
void InvalidateCache (void) const
 Combine invalidation of all cached values. More...
 
void SetGene (TGene &v)
 
TGeneSetGene (void)
 
void SetOrg (TOrg &v)
 
TOrgSetOrg (void)
 
void SetCdregion (TCdregion &v)
 
TCdregionSetCdregion (void)
 
void SetProt (TProt &v)
 
TProtSetProt (void)
 
void SetRna (TRna &v)
 
TRnaSetRna (void)
 
void SetPub (TPub &v)
 
TPubSetPub (void)
 
void SetSeq (TSeq &v)
 
TSeqSetSeq (void)
 
void SetImp (TImp &v)
 
TImpSetImp (void)
 
void SetRegion (const TRegion &v)
 
TRegionSetRegion (void)
 
void SetComment (void)
 
void SetBond (const TBond &v)
 
TBondSetBond (void)
 
void SetSite (const TSite &v)
 
TSiteSetSite (void)
 
void SetRsite (TRsite &v)
 
TRsiteSetRsite (void)
 
void SetUser (TUser &v)
 
TUserSetUser (void)
 
void SetTxinit (TTxinit &v)
 
TTxinitSetTxinit (void)
 
void SetNum (TNum &v)
 
TNumSetNum (void)
 
void SetPsec_str (const TPsec_str &v)
 
TPsec_strSetPsec_str (void)
 
void SetNon_std_residue (const TNon_std_residue &v)
 
TNon_std_residueSetNon_std_residue (void)
 
void SetHet (THet &v)
 
THetSetHet (void)
 
void SetBiosrc (TBiosrc &v)
 
TBiosrcSetBiosrc (void)
 
void SetClone (TClone &v)
 
TCloneSetClone (void)
 
void SetVariation (TVariation &v)
 
TVariationSetVariation (void)
 
virtual void Assign (const CSerialObject &source, ESerialRecursionMode how=eRecursive)
 Override Assign() to incorporate cache invalidation. More...
 
void PostRead (void) const
 Invalidate subtype cache after deserialization. More...
 
bool IsLegalQualifier (EQualifier qual) const
 Test wheather a certain qualifier is legal for the feature. More...
 
const TLegalQualifiersGetLegalQualifiers (void) const
 Get a list of all the legal qualifiers for the feature. More...
 
const TQualifiersGetMandatoryQualifiers (void) const
 Get the list of all mandatory qualifiers for the feature. More...
 
- Public Member Functions inherited from CSeqFeatData_Base
 CSeqFeatData_Base (void)
 
virtual ~CSeqFeatData_Base (void)
 
 DECLARE_INTERNAL_TYPE_INFO ()
 
virtual void Reset (void)
 Reset the whole object. More...
 
virtual void ResetSelection (void)
 Reset the selection (set it to e_not_set). More...
 
E_Choice Which (void) const
 Which variant is currently selected. More...
 
void CheckSelected (E_Choice index) const
 Verify selection, throw exception if it differs from the expected. More...
 
void ThrowInvalidSelection (E_Choice index) const
 Throw 'InvalidSelection' exception. More...
 
void Select (E_Choice index, EResetVariant reset=eDoResetVariant)
 Select the requested variant if needed. More...
 
void Select (E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
 Select the requested variant if needed, allocating CObject variants from memory pool. More...
 
bool IsGene (void) const
 Check if variant Gene is selected. More...
 
const TGeneGetGene (void) const
 Get the variant data. More...
 
TGeneSetGene (void)
 Select the variant. More...
 
void SetGene (TGene &value)
 Select the variant and set its data. More...
 
bool IsOrg (void) const
 Check if variant Org is selected. More...
 
const TOrgGetOrg (void) const
 Get the variant data. More...
 
TOrgSetOrg (void)
 Select the variant. More...
 
void SetOrg (TOrg &value)
 Select the variant and set its data. More...
 
bool IsCdregion (void) const
 Check if variant Cdregion is selected. More...
 
const TCdregionGetCdregion (void) const
 Get the variant data. More...
 
TCdregionSetCdregion (void)
 Select the variant. More...
 
void SetCdregion (TCdregion &value)
 Select the variant and set its data. More...
 
bool IsProt (void) const
 Check if variant Prot is selected. More...
 
const TProtGetProt (void) const
 Get the variant data. More...
 
TProtSetProt (void)
 Select the variant. More...
 
void SetProt (TProt &value)
 Select the variant and set its data. More...
 
bool IsRna (void) const
 Check if variant Rna is selected. More...
 
const TRnaGetRna (void) const
 Get the variant data. More...
 
TRnaSetRna (void)
 Select the variant. More...
 
void SetRna (TRna &value)
 Select the variant and set its data. More...
 
bool IsPub (void) const
 Check if variant Pub is selected. More...
 
const TPubGetPub (void) const
 Get the variant data. More...
 
TPubSetPub (void)
 Select the variant. More...
 
void SetPub (TPub &value)
 Select the variant and set its data. More...
 
bool IsSeq (void) const
 Check if variant Seq is selected. More...
 
const TSeqGetSeq (void) const
 Get the variant data. More...
 
TSeqSetSeq (void)
 Select the variant. More...
 
void SetSeq (TSeq &value)
 Select the variant and set its data. More...
 
bool IsImp (void) const
 Check if variant Imp is selected. More...
 
const TImpGetImp (void) const
 Get the variant data. More...
 
TImpSetImp (void)
 Select the variant. More...
 
void SetImp (TImp &value)
 Select the variant and set its data. More...
 
bool IsRegion (void) const
 Check if variant Region is selected. More...
 
const TRegionGetRegion (void) const
 Get the variant data. More...
 
TRegionSetRegion (void)
 Select the variant. More...
 
void SetRegion (const TRegion &value)
 Select the variant and set its data. More...
 
bool IsComment (void) const
 Check if variant Comment is selected. More...
 
void SetComment (void)
 Select the variant. More...
 
bool IsBond (void) const
 Check if variant Bond is selected. More...
 
TBond GetBond (void) const
 Get the variant data. More...
 
TBondSetBond (void)
 Select the variant. More...
 
void SetBond (TBond value)
 Select the variant and set its data. More...
 
bool IsSite (void) const
 Check if variant Site is selected. More...
 
TSite GetSite (void) const
 Get the variant data. More...
 
TSiteSetSite (void)
 Select the variant. More...
 
void SetSite (TSite value)
 Select the variant and set its data. More...
 
bool IsRsite (void) const
 Check if variant Rsite is selected. More...
 
const TRsiteGetRsite (void) const
 Get the variant data. More...
 
TRsiteSetRsite (void)
 Select the variant. More...
 
void SetRsite (TRsite &value)
 Select the variant and set its data. More...
 
bool IsUser (void) const
 Check if variant User is selected. More...
 
const TUserGetUser (void) const
 Get the variant data. More...
 
TUserSetUser (void)
 Select the variant. More...
 
void SetUser (TUser &value)
 Select the variant and set its data. More...
 
bool IsTxinit (void) const
 Check if variant Txinit is selected. More...
 
const TTxinitGetTxinit (void) const
 Get the variant data. More...
 
TTxinitSetTxinit (void)
 Select the variant. More...
 
void SetTxinit (TTxinit &value)
 Select the variant and set its data. More...
 
bool IsNum (void) const
 Check if variant Num is selected. More...
 
const TNumGetNum (void) const
 Get the variant data. More...
 
TNumSetNum (void)
 Select the variant. More...
 
void SetNum (TNum &value)
 Select the variant and set its data. More...
 
bool IsPsec_str (void) const
 Check if variant Psec_str is selected. More...
 
TPsec_str GetPsec_str (void) const
 Get the variant data. More...
 
TPsec_strSetPsec_str (void)
 Select the variant. More...
 
void SetPsec_str (TPsec_str value)
 Select the variant and set its data. More...
 
bool IsNon_std_residue (void) const
 Check if variant Non_std_residue is selected. More...
 
const TNon_std_residueGetNon_std_residue (void) const
 Get the variant data. More...
 
TNon_std_residueSetNon_std_residue (void)
 Select the variant. More...
 
void SetNon_std_residue (const TNon_std_residue &value)
 Select the variant and set its data. More...
 
bool IsHet (void) const
 Check if variant Het is selected. More...
 
const THetGetHet (void) const
 Get the variant data. More...
 
THetSetHet (void)
 Select the variant. More...
 
void SetHet (const THet &value)
 Select the variant and set its data. More...
 
bool IsBiosrc (void) const
 Check if variant Biosrc is selected. More...
 
const TBiosrcGetBiosrc (void) const
 Get the variant data. More...
 
TBiosrcSetBiosrc (void)
 Select the variant. More...
 
void SetBiosrc (TBiosrc &value)
 Select the variant and set its data. More...
 
bool IsClone (void) const
 Check if variant Clone is selected. More...
 
const TCloneGetClone (void) const
 Get the variant data. More...
 
TCloneSetClone (void)
 Select the variant. More...
 
void SetClone (TClone &value)
 Select the variant and set its data. More...
 
bool IsVariation (void) const
 Check if variant Variation is selected. More...
 
const TVariationGetVariation (void) const
 Get the variant data. More...
 
TVariationSetVariation (void)
 Select the variant. More...
 
void SetVariation (TVariation &value)
 Select the variant and set its data. More...
 
- Public Member Functions inherited from CSerialObject
 CSerialObject (void)
 
virtual ~CSerialObject (void)
 
virtual const CTypeInfoGetThisTypeInfo (void) const =0
 
virtual bool Equals (const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
 Check if both objects contain the same values. More...
 
virtual void DebugDump (CDebugDumpContext ddc, unsigned int depth) const
 Define method for dumping debug information. More...
 
void ThrowUnassigned (TMemberIndex index) const
 
void ThrowUnassigned (TMemberIndex index, const char *file_name, int file_line) const
 
bool HasNamespaceName (void) const
 Check if object data type has namespace name. More...
 
const stringGetNamespaceName (void) const
 Get namespace name. More...
 
bool HasNamespacePrefix (void) const
 Check if data type has namespace prefix. More...
 
const stringGetNamespacePrefix (void) const
 Get namespace prefix. More...
 
- Public Member Functions inherited from CObject
 CObject (void)
 Constructor. More...
 
 CObject (const CObject &src)
 Copy constructor. More...
 
virtual ~CObject (void)
 Destructor. More...
 
CObjectoperator= (const CObject &src) THROWS_NONE
 Assignment operator. More...
 
bool CanBeDeleted (void) const THROWS_NONE
 Check if object can be deleted. More...
 
bool IsAllocatedInPool (void) const THROWS_NONE
 Check if object is allocated in memory pool (not system heap) More...
 
bool Referenced (void) const THROWS_NONE
 Check if object is referenced. More...
 
bool ReferencedOnlyOnce (void) const THROWS_NONE
 Check if object is referenced only once. More...
 
void AddReference (void) const
 Add reference to object. More...
 
void RemoveReference (void) const
 Remove reference to object. More...
 
void ReleaseReference (void) const
 Remove reference without deleting object. More...
 
virtual void DoNotDeleteThisObject (void)
 Mark this object as not allocated in heap – do not delete this object. More...
 
virtual void DoDeleteThisObject (void)
 Mark this object as allocated in heap – object can be deleted. More...
 
void * operator new (size_t size)
 Define new operator for memory allocation. More...
 
void * operator new[] (size_t size)
 Define new[] operator for 'array' memory allocation. More...
 
void operator delete (void *ptr)
 Define delete operator for memory deallocation. More...
 
void operator delete[] (void *ptr)
 Define delete[] operator for memory deallocation. More...
 
void * operator new (size_t size, void *place)
 Define new operator. More...
 
void operator delete (void *ptr, void *place)
 Define delete operator. More...
 
void * operator new (size_t size, CObjectMemoryPool *place)
 Define new operator using memory pool. More...
 
void operator delete (void *ptr, CObjectMemoryPool *place)
 Define delete operator. More...
 
- Public Member Functions inherited from CDebugDumpable
 CDebugDumpable (void)
 
virtual ~CDebugDumpable (void)
 
void DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const
 
void DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const
 
void DumpToConsole (void) const
 

Static Public Member Functions

static E_Choice GetTypeFromSubtype (ESubtype subtype)
 
static CTempString SubtypeValueToName (ESubtype eSubtype)
 Turns a ESubtype into its string value which is NOT necessarily related to the identifier of the enum. More...
 
static ESubtype SubtypeNameToValue (CTempString sName)
 Turn a string into its ESubtype which is NOT necessarily related to the identifier of the enum. More...
 
static bool CanHaveGene (ESubtype subtype)
 
static bool IsLegalQualifier (ESubtype subtype, EQualifier qual)
 
static const TLegalQualifiersGetLegalQualifiers (ESubtype subtype)
 
static const TQualifiersGetMandatoryQualifiers (ESubtype subtype)
 
static CTempString GetQualifierAsString (EQualifier qual)
 Convert a qualifier from an enumerated value to a string representation or empty if not found. More...
 
static EQualifier GetQualifierType (CTempString qual)
 convert qual string to enumerated value More...
 
static std::pair< EQualifier, CTempStringGetQualifierTypeAndValue (CTempString qual)
 
static const CFeatListGetFeatList ()
 
static const CBondListGetBondList ()
 
static const CSiteListGetSiteList ()
 
static bool IsRegulatory (ESubtype subtype)
 
static const stringGetRegulatoryClass (ESubtype subtype)
 
static ESubtype GetRegulatoryClass (const string &class_name)
 
static const vector< string > & GetRegulatoryClassList ()
 
static bool FixRegulatoryClassValue (string &val)
 
static const vector< string > & GetRecombinationClassList ()
 
static bool IsDiscouragedSubtype (ESubtype subtype)
 
static bool IsDiscouragedQual (EQualifier qual)
 
static EFeatureLocationAllowed AllowedFeatureLocation (ESubtype subtype)
 
static bool AllowStrandBoth (ESubtype subtype)
 
static bool RequireLocationIntervalsInBiologicalOrder (ESubtype subtype)
 
static bool AllowAdjacentIntervals (ESubtype subtype)
 
static bool ShouldRepresentAsGbqual (CSeqFeatData::ESubtype feat_subtype, const CGb_qual &qual)
 
static bool ShouldRepresentAsGbqual (CSeqFeatData::ESubtype feat_subtype, CSeqFeatData::EQualifier qual_type)
 
static void s_InitXrefAllowedSubtypesTable (void)
 
static void s_InitXrefProhibitedSubtypesTable (void)
 
static bool AllowXref (CSeqFeatData::ESubtype subtype1, CSeqFeatData::ESubtype subtype2)
 
static bool ProhibitXref (CSeqFeatData::ESubtype subtype1, CSeqFeatData::ESubtype subtype2)
 
static bool FixImportKey (string &key)
 
static bool IsLegalProductNameForRibosomalSlippage (const string &product_name)
 
- Static Public Member Functions inherited from CSeqFeatData_Base
static const NCBI_NS_NCBI::CEnumeratedTypeValues *ENUM_METHOD_NAME() EBond (void)
 Access to EBond's attributes (values, names) as defined in spec. More...
 
static const NCBI_NS_NCBI::CEnumeratedTypeValues *ENUM_METHOD_NAME() ESite (void)
 Access to ESite's attributes (values, names) as defined in spec. More...
 
static const NCBI_NS_NCBI::CEnumeratedTypeValues *ENUM_METHOD_NAME() EPsec_str (void)
 Access to EPsec_str's attributes (values, names) as defined in spec. More...
 
static string SelectionName (E_Choice index)
 Retrieve selection name (for diagnostic purposes). More...
 
- Static Public Member Functions inherited from CSerialObject
static void SetVerifyDataThread (ESerialVerifyData verify)
 
static void SetVerifyDataGlobal (ESerialVerifyData verify)
 
static string UnassignedString (void)
 
static CStringUTF8 UnassignedStringUTF8 (void)
 
static char UnassignedByte (void)
 
- Static Public Member Functions inherited from CObject
static NCBI_XNCBI_EXPORT void ThrowNullPointerException (void)
 Define method to throw null pointer exception. More...
 
static NCBI_XNCBI_EXPORT void ThrowNullPointerException (const type_info &type)
 
static EAllocFillMode GetAllocFillMode (void)
 
static void SetAllocFillMode (EAllocFillMode mode)
 
static void SetAllocFillMode (const string &value)
 Set mode from configuration parameter value. More...
 
- Static Public Member Functions inherited from CDebugDumpable
static void EnableDebugDump (bool on)
 

Private Types

typedef CSeqFeatData_Base Tparent
 
typedef CStaticArraySet< ESubtypeTSubtypeSet
 

Private Member Functions

void x_InitFeatDataInfo (void) const
 
 CSeqFeatData (const CSeqFeatData &value)
 
CSeqFeatDataoperator= (const CSeqFeatData &value)
 

Static Private Member Functions

static void s_InitSubtypesTable (void)
 
static const TSubTypeQualifiersMaps_GetLegalQualMap () noexcept
 
static const TSubtypeSetGetSetOfRegulatorySubtypes ()
 

Private Attributes

SFeatDataInfo m_FeatDataInfo
 

Additional Inherited Members

- Static Public Attributes inherited from CSerialObject
static const char * ms_UnassignedStr = "<*unassigned*>"
 
static const char ms_UnassignedByte = char(0xcd)
 
- Static Public Attributes inherited from CObject
static const TCount eCounterBitsCanBeDeleted = 1 << 0
 Define possible object states. More...
 
static const TCount eCounterBitsInPlainHeap = 1 << 1
 Heap signature was found. More...
 
static const TCount eCounterBitsPlaceMask
 Mask for 'in heap' state flags. More...
 
static const int eCounterStep = 1 << 2
 Skip over the "in heap" bits. More...
 
static const TCount eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2)
 Minimal value for valid objects (reference counter is zero) Must be a single bit value. More...
 
static const TCount eCounterStateMask
 Valid object, and object in heap. More...
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 

Detailed Description

Definition at line 112 of file SeqFeatData.hpp.

Member Typedef Documentation

◆ TLegalQualifiers

Definition at line 468 of file SeqFeatData.hpp.

◆ Tparent

Definition at line 114 of file SeqFeatData.hpp.

◆ TQualifiers

Definition at line 470 of file SeqFeatData.hpp.

◆ TSubTypeQualifiersMap

Definition at line 471 of file SeqFeatData.hpp.

◆ TSubtypes

Definition at line 469 of file SeqFeatData.hpp.

◆ TSubtypeSet

Definition at line 551 of file SeqFeatData.hpp.

Member Enumeration Documentation

◆ EFeatureLocationAllowed

Enumerator
eFeatureLocationAllowed_Any 
eFeatureLocationAllowed_Error 
eFeatureLocationAllowed_NucOnly 
eFeatureLocationAllowed_ProtOnly 

Definition at line 508 of file SeqFeatData.hpp.

◆ EQualifier

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)

Enumerator
eQual_bad 
eQual_allele 
eQual_altitude 
eQual_anticodon 
eQual_artificial_location 
eQual_bio_material 
eQual_bond_type 
eQual_bound_moiety 
eQual_calculated_mol_wt 
eQual_cell_line 
eQual_cell_type 
eQual_chloroplast 
eQual_chromoplast 
eQual_chromosome 
eQual_circular_RNA 
eQual_citation 
eQual_clone 
eQual_clone_lib 
eQual_coded_by 
eQual_codon 
eQual_codon_start 
eQual_collected_by 
eQual_collection_date 
eQual_compare 
eQual_cons_splice 
eQual_country 
eQual_cultivar 
eQual_culture_collection 
eQual_cyanelle 
eQual_db_xref 
eQual_derived_from 
eQual_dev_stage 
eQual_direction 
eQual_EC_number 
eQual_ecotype 
eQual_environmental_sample 
eQual_estimated_length 
eQual_evidence 
eQual_exception 
eQual_experiment 
eQual_feat_class 
eQual_focus 
eQual_frequency 
eQual_function 
eQual_gap_type 
eQual_gdb_xref 
eQual_gene 
eQual_gene_synonym 
eQual_germline 
eQual_haplogroup 
eQual_haplotype 
eQual_heterogen 
eQual_host 
eQual_identified_by 
eQual_inference 
eQual_insertion_seq 
eQual_isolate 
eQual_isolation_source 
eQual_kinetoplast 
eQual_lab_host 
eQual_label 
eQual_lat_lon 
eQual_linkage_evidence 
eQual_linkage_group 
eQual_locus_tag 
eQual_macronuclear 
eQual_map 
eQual_mating_type 
eQual_metagenome_source 
eQual_metagenomic 
eQual_mitochondrion 
eQual_mobile_element 
eQual_mobile_element_type 
eQual_mod_base 
eQual_mol_type 
eQual_name 
eQual_nomenclature 
eQual_non_std_residue 
eQual_ncRNA_class 
eQual_note 
eQual_number 
eQual_old_locus_tag 
eQual_operon 
eQual_organelle 
eQual_organism 
eQual_partial 
eQual_PCR_conditions 
eQual_PCR_primers 
eQual_phenotype 
eQual_plasmid 
eQual_pop_variant 
eQual_product 
eQual_protein_id 
eQual_proviral 
eQual_pseudo 
eQual_pseudogene 
eQual_rearranged 
eQual_recombination_class 
eQual_region_name 
eQual_regulatory_class 
eQual_replace 
eQual_ribosomal_slippage 
eQual_rpt_family 
eQual_rpt_type 
eQual_rpt_unit 
eQual_rpt_unit_range 
eQual_rpt_unit_seq 
eQual_satellite 
eQual_sec_str_type 
eQual_segment 
eQual_sequenced_mol 
eQual_serotype 
eQual_serovar 
eQual_sex 
eQual_site_type 
eQual_SO_type 
eQual_specimen_voucher 
eQual_standard_name 
eQual_strain 
eQual_submitter_seqid 
eQual_sub_clone 
eQual_sub_species 
eQual_sub_strain 
eQual_tag_peptide 
eQual_tissue_lib 
eQual_tissue_type 
eQual_trans_splicing 
eQual_transcript_id 
eQual_transgenic 
eQual_translation 
eQual_transl_except 
eQual_transl_table 
eQual_transposon 
eQual_type_material 
eQual_UniProtKB_evidence 
eQual_usedin 
eQual_variety 
eQual_virion 
eQual_whole_replicon 

Definition at line 325 of file SeqFeatData.hpp.

◆ ESubtype

Enumerator
eSubtype_bad 

These no longer need to match the FEATDEF values in the C toolkit's objfdef.h.

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_EC_number 
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_ncRNA 
eSubtype_tmRNA 
eSubtype_clone 
eSubtype_variation_ref 
eSubtype_mobile_element 
eSubtype_centromere 
eSubtype_telomere 
eSubtype_assembly_gap 
eSubtype_regulatory 
eSubtype_propeptide 
eSubtype_propeptide_aa 
eSubtype_max 
eSubtype_any 

Definition at line 128 of file SeqFeatData.hpp.

◆ EVocabulary

ASCII representation of subtype (GenBank feature key, e.g.)

Enumerator
eVocabulary_full 
eVocabulary_genbank 

Definition at line 122 of file SeqFeatData.hpp.

Constructor & Destructor Documentation

◆ CSeqFeatData() [1/2]

CSeqFeatData::CSeqFeatData ( void  )

constructor

Definition at line 60 of file SeqFeatData.cpp.

References InvalidateCache().

◆ ~CSeqFeatData()

CSeqFeatData::~CSeqFeatData ( void  )

destructor

Definition at line 345 of file SeqFeatData.cpp.

◆ CSeqFeatData() [2/2]

CSeqFeatData::CSeqFeatData ( const CSeqFeatData value)
private

Member Function Documentation

◆ AllowAdjacentIntervals()

bool CSeqFeatData::AllowAdjacentIntervals ( CSeqFeatData::ESubtype  feat_subtype)
static

◆ AllowedFeatureLocation()

CSeqFeatData::EFeatureLocationAllowed CSeqFeatData::AllowedFeatureLocation ( ESubtype  subtype)
static

◆ AllowStrandBoth()

bool CSeqFeatData::AllowStrandBoth ( ESubtype  subtype)
static

◆ AllowXref()

bool CSeqFeatData::AllowXref ( CSeqFeatData::ESubtype  subtype1,
CSeqFeatData::ESubtype  subtype2 
)
static

◆ Assign()

void CSeqFeatData::Assign ( const CSerialObject source,
ESerialRecursionMode  how = eRecursive 
)
virtual

Override Assign() to incorporate cache invalidation.

Reimplemented from CSerialObject.

Definition at line 370 of file SeqFeatData.cpp.

References CSerialObject::Assign(), InvalidateCache(), and rapidjson::source.

◆ CanHaveGene()

bool CSeqFeatData::CanHaveGene ( CSeqFeatData::ESubtype  subtype)
static

◆ FixImportKey()

bool CSeqFeatData::FixImportKey ( string key)
static

◆ FixRegulatoryClassValue()

bool CSeqFeatData::FixRegulatoryClassValue ( string val)
static

Definition at line 3943 of file SeqFeatData.cpp.

References NStr::FindNoCase(), GetRegulatoryClassList(), and val.

Referenced by CNewCleanup_imp::GBQualBC().

◆ GetBondList()

const CBondList * CSeqFeatData::GetBondList ( )
static

◆ GetFeatList()

const CFeatList * CSeqFeatData::GetFeatList ( )
static

Definition at line 3757 of file SeqFeatData.cpp.

References DEFINE_STATIC_MUTEX().

Referenced by CFieldChoicePanel::AutoMatchFeat(), CFeatureGraph::CFeatureGraph(), CGeneModelTrack::CGeneModelTrack(), CFeatureTrackFactory::CloneTrack(), CTrackConfigManager::CreateTrackConfig(), CFeatureTrackFactory::CreateTracks(), CGeneModelFactory::CreateTracks(), CSearchFormBase::CSearchFormBase(), CDataTrackUtils::FeatSubtypes2TrackSubtypes(), CSeqTextPaneConfig::GetCaseFeature(), CSeqTextPaneConfig::GetCaseFeatureSubtype(), CFuseFeaturesDlg::GetCommand(), CRmDupFeaturesDlg::GetCommand(), CSeqGraphicConfig::GetFeatParams(), CSettingsSet::GetFeatReadKey(), NMacroUtil::GetFeatSubtype(), CSeqGraphicPane::GetFeatureNames(), CSettingsSet::GetFeatWriteKey(), CHistParamsManager::GetHistParams(), CHistogramGlyph::GetHTMLActiveAreas(), CGeneModelFactory::GetMatchedAnnots(), CAllOtherFeaturesTrackFactory::GetSettings(), CFeatureTrackFactory::GetSettings(), GetSortedFeatList(), CGuiObjectInfoSeq_feat::GetSubtype(), CHistogramGlyph::GetTooltip(), CHistParamsManager::HasSettings(), CwxTrackSettingsDlg::InitTrackTypes(), CHistogramGlyph::IsClickable(), CAlignmentTrack::OnChangeProjectedFeats(), CFeatureTypeSubpanel::OnSelectButton(), CAllOtherFeaturesTrack::ReinitNASubtracks(), CHistogramGlyph::RunSettingsDialog(), s_GetFeatSubtypeStr(), CSeqTextPaneConfig::SetCaseFeature(), CFeatureTypeSubpanel::SetClusters(), CFeatureTrack::SetFeatSubtype(), CFeatureTrack::x_AddHistogram(), CAlignedFeatureGraph::x_GetTooltip(), CFeatureCreateDialog::x_InitFeatTypes(), CFeatureCheckPanel::x_InitTree(), CFeatureSearchForm::x_LoadSettings(), and CAllOtherFeaturesTrack::x_ReinitSubtracks().

◆ GetKey()

string CSeqFeatData::GetKey ( EVocabulary  vocab = eVocabulary_full) const

◆ GetLegalQualifiers() [1/2]

const CSeqFeatData::TLegalQualifiers & CSeqFeatData::GetLegalQualifiers ( ESubtype  subtype)
static

◆ GetLegalQualifiers() [2/2]

const CSeqFeatData::TLegalQualifiers & CSeqFeatData::GetLegalQualifiers ( void  ) const
inline

◆ GetMandatoryQualifiers() [1/2]

const CSeqFeatData::TQualifiers & CSeqFeatData::GetMandatoryQualifiers ( ESubtype  subtype)
static

◆ GetMandatoryQualifiers() [2/2]

const CSeqFeatData::TQualifiers & CSeqFeatData::GetMandatoryQualifiers ( void  ) const
inline

◆ GetQualifierAsString()

static CTempString CSeqFeatData::GetQualifierAsString ( EQualifier  qual)
static

◆ GetQualifierType()

CSeqFeatData::EQualifier CSeqFeatData::GetQualifierType ( CTempString  qual)
static

◆ GetQualifierTypeAndValue()

std::pair< CSeqFeatData::EQualifier, CTempString > CSeqFeatData::GetQualifierTypeAndValue ( CTempString  qual)
static

◆ GetRecombinationClassList()

const vector< string > & CSeqFeatData::GetRecombinationClassList ( )
static

◆ GetRegulatoryClass() [1/2]

CSeqFeatData::ESubtype CSeqFeatData::GetRegulatoryClass ( const string class_name)
static

◆ GetRegulatoryClass() [2/2]

const string & CSeqFeatData::GetRegulatoryClass ( ESubtype  subtype)
static

◆ GetRegulatoryClassList()

const vector< string > & CSeqFeatData::GetRegulatoryClassList ( )
static

◆ GetSetOfRegulatorySubtypes()

const CSeqFeatData::TSubtypeSet & CSeqFeatData::GetSetOfRegulatorySubtypes ( void  )
staticprivate

◆ GetSiteList()

const CSiteList * CSeqFeatData::GetSiteList ( )
static

◆ GetSubtype()

CSeqFeatData::ESubtype CSeqFeatData::GetSubtype ( void  ) const

Definition at line 361 of file SeqFeatData.cpp.

References eSubtype_any, m_FeatDataInfo, CSeqFeatData::SFeatDataInfo::m_Subtype, and x_InitFeatDataInfo().

Referenced by AddColumnsToFeatureTable(), CFlatFileFactoryBuilder::AddItem(), CAutoDefFeatureClause::AddmRNA(), CFeatureGenePanel::AddReciprocicalXref(), CImportFeatTable::AddSeqAnnotToSeqEntry(), CNcrnaClassColumn::AddToFeature(), AddtRNAAndOther(), AdjustCdregionFrame(), CEditSequence::AdjustFeatureLocations(), CFeatTrim::Apply(), ApplyFeatureSeqTableToSeqEntry(), CRemoveFeaturesDlg::ApplyToCSeq_entry(), CGffRecord::AssignAttributesCore(), CGvfWriteRecord::AssignSource(), CGvfWriteRecord::AssignType(), CGffRecord::AssignType(), CDiscrepancyVisitorImpl< _Name >::Autofix(), BOOST_AUTO_TEST_CASE(), CSpliceProblems::CalculateSpliceProblems(), CEditObjectSeq_feat::CanClose(), CAutoDefFeatureClause::CAutoDefFeatureClause(), CheckPropagatedCDSLocation(), CNcrnaClassColumn::ClearInFeature(), CDiscrepancyContext::CollectFeature(), CAnnotObject_SplitInfo::Compare(), CSeq_feat::CompareNonLocation(), CmRNACDSLinker::CompleteHalfFormedXrefPairs(), ConvertRegulatoryFeature(), CGBQualPanel::CreateControls(), CGuiObjectInfoSeq_feat::CreateObject(), CEditObjectSeq_feat::CreateWindowImpl(), DoesFeatureHaveUnnecessaryException(), CFeatTableEdit::EliminateBadQualifiers(), FeatureAdjustForInsert(), FeatureAdjustForTrim(), FeatureClauseFactory(), FeaturePairIsTwoTypes(), FeatValidatorFactory(), CCdsToMatPeptide::FindAnnot(), CGeneFinder::GetAssociatedGeneInfo(), GetBestCdsForMrna(), GetBestGeneForCds(), GetBestGeneForMrna(), GetBestMrnaForCds(), GetBestOverlappingFeat(), GetCdssForGene(), variation::CVariationUtil::GetEffectiveTranscriptLength(), CValidErrorFormat::GetFeatureContentLabel(), CAlignmentAssistant::GetFeatures(), CEditSequence::GetFeatures(), CNcrnaClassColumn::GetFromFeat(), CFeatFindContext::GetIndexRange(), CFeatureItem::GetKey(), CSeq_featHandler::GetLabel(), GetLegalQualifiers(), CAutoDefFeatureClause::GetMainFeatureSubtype(), GetMandatoryQualifiers(), CSeqUtils::GetMappingInfo(), GetMrnasForGene(), CAnnotObject_SplitInfo::GetPriority(), CmRNACDSLinker::GetReferencedmRNA_CDS(), CMiscSeqTableColumn::GetRelatedApplyObjects(), GetRelatedFeatureApplyObjects(), GetRelatedFeatures(), GetSeqFeatLabel(), GetSortedFeatList(), GetTargetedLocusName(), IEditingAction::GetUpdateMRNAProductNameCmd(), CNewCleanup_imp::ImpFeatBC(), CGff3ImportData::Initialize(), CAutoDefFeatureClause::IsControlRegion(), IsDuplicate(), CAutoDefFeatureClause::IsEndogenousVirusSourceFeature(), CAutoDefFeatureClause::IsExonWithNumber(), CAutoDefFeatureClause::IsGeneCluster(), CAutoDefFeatureClause::IsInsertionSequence(), CValidError_feat::IsIntronShort(), IsLegalQualifier(), CAutoDefFeatureClause::IsLTR(), IsMicroSatellite(), CAutoDefFeatureClause::IsMobileElement(), CSelectionVisitor::IsObjectSelected(), CAutoDefFeatureClause::IsPromoter(), CAutoDefPromoterAnd5UTRClause::IsPromoterAnd5UTR(), CAutoDefFeatureClause::IsRecognizedFeature(), CCompareFeats::IsSameSubtype(), CAutoDefFeatureClause::IsSatellite(), NSnp::IsSnp(), CmRNACDSLinker::LinkByLabelAndLocation(), CmRNACDSLinker::LinkSelectedFeatures(), CAutoDefFeatureClause::OkToGroupUnderByLocation(), CAutoDefFeatureClause::OkToGroupUnderByType(), CBioseqEditor::OnDeleteSelection(), CGBQualPanel::PanelNeeded(), CCdsForMrnaPlugin::processMainLoop(), C5ColAnnotAssembler::ProcessRecord(), CFeaturePropagator::Propagate(), CGlimmerReader::Read(), CGFFReader::Read(), CCdsToMatPeptide::RemoveFeature(), CCleanup::RepairXrefs(), ReverseComplementFeature(), CWrongIllegalQuals::RmIllegalQuals(), CWrongIllegalQuals::RmWrongOrIllegalQuals(), CWrongIllegalQuals::RmWrongQuals(), CFeatureLoadingJob::Run(), CFeatCompareJob_Align::Run(), CFeatCompareJob_Location::Run(), CFeatTreeSampleApp::Run(), s_AreDifferentVariations(), s_AreLinkedToDifferentFeats(), s_CheckMandatoryQuals(), s_CompareFtables(), s_GetBestGeneForFeat(), NSearchFeatPanel::s_GetCustomLabel(), NSearchFeatPanel::s_GetFeatureLabel(), s_GetFeatureLabel(), s_GetFeaturesForRange(), s_GetImpLabel(), s_GetMappedFeat(), s_GetmRNAName(), s_IsOperon(), s_LocIsFuzz(), CSequenceUpdater::s_OffsetFeature(), s_Render_SeqFeat(), s_SetUpXrefPairs(), s_SkipFeature(), s_TreatAsRna(), NSearchFeatPanel::s_UseCustomLabel(), CNewCleanup_imp::SeqfeatBC(), C5ColImportData::Serialize(), CFeatureGenerator::SImplementation::SetFeatureExceptions(), CTextSelHandler::STGH_GetSelectedFeatureSubtypes(), TestCds(), TestCdsFromLastBioseq(), CGeneFeatTreeProcess::TestFeatureGeneTree(), TestTwoIntCdsFromLastBioseqOutsideAlign(), CMacroFunction_SwapRelFeatQual::TheFunction(), CMacroFunction_SetRelFeatQual::TheFunction(), CMacroFunction_ConvertFeatQual::TheFunction(), CMacroFunction_ParseFeatQual::TheFunction(), CMacroFunction_AddParsedToFeatQual::TheFunction(), CMacroFunction_CopyFeatQual::TheFunction(), CMacroFunction_RemoveOutside::TheFunction(), CMacroFunction_RmvOutsideRelFeatQual::TheFunction(), CMacroFunction_ConvertFeature::TheFunction(), CCrossRefFeatsDlg::TransferDataToWindow(), UpdatemRNAProduct(), CSingleFeatValidator::Validate(), CImpFeatValidator::Validate(), CValidError_bioseq::ValidateFeatPartialInContext(), CValidError_bioseqset::ValidateGenProdSet(), CValidError_feat::ValidateOneFeatXrefPair(), CValidError_imp::ValidateSeqLoc(), CCleanup::WGSCleanup(), CWrongIllegalQuals::WrongQualsToNote(), CLinkUtils::x_AddDbxrefFeatureLinks(), CFeatureTableReader_Imp::x_AddQualifierToFeature(), CFeatureTableReader_Imp::x_AddQualifierToImp(), CFeatureItem::x_AddQualSeqfeatNote(), CFeatureItem::x_AddQualsRna(), CSingleFeatValidator::x_AllowFeatureToMatchGapExactly(), CGvfWriteRecord::x_AssignAttributeID(), CGvfWriteRecord::x_AssignAttributeName(), CGvfWriteRecord::x_AssignAttributeParent(), CFeaturePropagator::x_CdsCleanupPartials(), CFeaturePropagator::x_CdsStopAtStopCodon(), CFeatureGenerator::SImplementation::x_CheckInconsistentDbxrefs(), CSGFeatureJob::x_CreateCrossOriginGlyphs(), CSGFeatureJob::x_CreateFeatHist(), CSGFeatureJob::x_CreateFeature1(), CGFFReader::x_CreateGeneFeatures(), CValidError_bioseq::x_DupFeatSeverity(), x_FeatIsCDS(), x_FeatIsVDJC(), CTSE_Info::x_FindSeq_feat(), CFeatureItem::x_GatherInfoWithParent(), CSeq_featHandler::x_GetCustomLabel(), CAutoDefFeatureClause::x_GetDescription(), CAutoDefFeatureClause::x_GetFeatureTypeWord(), CAutoDefFeatureClause::x_GetProductName(), CCompareSeqRegions::x_GetPutativeMatches(), CAlignedFeatureGraph::x_GetTooltip(), CFeatureGenerator::SImplementation::x_HandleCdsExceptions(), CFeatureGenerator::SImplementation::x_HandleRnaExceptions(), variation::CVariationUtil::CVariantPropertiesIndex::x_Index(), CAutoDef::x_Is5SList(), CIntronValidator::x_IsIntronShort(), CValidError_bioseq::x_IsSameAsCDS(), CAutoDef::x_IsSingleMiscFeat(), CAlignedFeatureGraph::x_LinkedLayout(), CPromote::x_MakeMolinfoDesc(), CSequenceUpdater::x_MappedFeature_ChangeId(), CSequenceUpdater::x_MappedFeature_ThroughAlign(), CValidError_bioseq::x_MatchesOverlappingFeaturePartial(), CGeneModelTrack::x_NeedHighlight(), CSequenceUpdater::x_RemoveNewIDInFeature(), CAlignedFeatureGraph::x_RenderFeature(), CValidError_bioseq::x_ReportOverlappingPeptidePair(), CSingleFeatValidator::x_ReportPseudogeneConflict(), CValidError_bioseq::x_ReportStartStopPartialProblem(), CReportEntry::x_SetFeature(), CAnnotObject_Info::x_SetObject(), CGFFReader::x_SetProducts(), CSequenceUpdater::x_ShouldImportFeature(), CSeq_featHandler::x_UseCustomLabel(), CSingleFeatValidator::x_ValidateBothStrands(), CSingleFeatValidator::x_ValidateGbquals(), CSingleFeatValidator::x_ValidateGeneId(), CSingleFeatValidator::x_ValidateGeneXRef(), CSingleFeatValidator::x_ValidateImpFeatQuals(), CSingleFeatValidator::x_ValidateNonImpFeat(), CSingleFeatValidator::x_ValidateSeqFeatLoc(), CGff3Writer::xAssignFeatureAttributeNcrnaClass(), CGff3Reader::xFindFeatureUnderConstruction(), CGtfReader::xPostProcessAnnot(), CGff3AnnotAssembler::xProcessFeatureDefault(), and CGff3Reader::xUpdateAnnotGeneric().

◆ GetTypeFromSubtype()

CSeqFeatData::E_Choice CSeqFeatData::GetTypeFromSubtype ( ESubtype  subtype)
static

◆ InvalidateCache()

void CSeqFeatData::InvalidateCache ( void  ) const
inline

Combine invalidation of all cached values.

Definition at line 566 of file SeqFeatData.hpp.

References InvalidateSubtype().

Referenced by Assign(), CSeqFeatData(), PostRead(), and SetComment().

◆ InvalidateSubtype()

void CSeqFeatData::InvalidateSubtype ( void  ) const
inline

Call after changes that could affect the subtype.

Definition at line 559 of file SeqFeatData.hpp.

References eSubtype_any, m_FeatDataInfo, and CSeqFeatData::SFeatDataInfo::m_Subtype.

Referenced by InvalidateCache().

◆ IsDiscouragedQual()

bool CSeqFeatData::IsDiscouragedQual ( EQualifier  qual)
static

◆ IsDiscouragedSubtype()

bool CSeqFeatData::IsDiscouragedSubtype ( ESubtype  subtype)
static

◆ IsLegalProductNameForRibosomalSlippage()

bool CSeqFeatData::IsLegalProductNameForRibosomalSlippage ( const string product_name)
static

Definition at line 4697 of file SeqFeatData.cpp.

◆ IsLegalQualifier() [1/2]

bool CSeqFeatData::IsLegalQualifier ( EQualifier  qual) const
inline

◆ IsLegalQualifier() [2/2]

bool CSeqFeatData::IsLegalQualifier ( ESubtype  subtype,
EQualifier  qual 
)
static

◆ IsRegulatory()

bool CSeqFeatData::IsRegulatory ( ESubtype  subtype)
static

◆ operator=()

CSeqFeatData& CSeqFeatData::operator= ( const CSeqFeatData value)
private

◆ PostRead()

void CSeqFeatData::PostRead ( void  ) const

Invalidate subtype cache after deserialization.

Definition at line 378 of file SeqFeatData.cpp.

References InvalidateCache().

◆ ProhibitXref()

bool CSeqFeatData::ProhibitXref ( CSeqFeatData::ESubtype  subtype1,
CSeqFeatData::ESubtype  subtype2 
)
static

◆ RequireLocationIntervalsInBiologicalOrder()

bool CSeqFeatData::RequireLocationIntervalsInBiologicalOrder ( CSeqFeatData::ESubtype  feat_subtype)
static

◆ s_GetLegalQualMap()

const CSeqFeatData::TSubTypeQualifiersMap & CSeqFeatData::s_GetLegalQualMap ( )
staticprivatenoexcept

Definition at line 778 of file SeqFeatData.cpp.

References eQual_allele, eQual_altitude, eQual_anticodon, eQual_artificial_location, eQual_bio_material, eQual_bond_type, eQual_bound_moiety, eQual_calculated_mol_wt, eQual_cell_line, eQual_cell_type, eQual_chloroplast, eQual_chromoplast, eQual_chromosome, eQual_citation, eQual_clone, eQual_clone_lib, eQual_coded_by, eQual_codon, eQual_codon_start, eQual_collected_by, eQual_collection_date, eQual_compare, eQual_cons_splice, eQual_country, eQual_cultivar, eQual_culture_collection, eQual_cyanelle, eQual_db_xref, eQual_derived_from, eQual_dev_stage, eQual_direction, eQual_EC_number, eQual_ecotype, eQual_environmental_sample, eQual_estimated_length, eQual_evidence, eQual_exception, eQual_experiment, eQual_feat_class, eQual_focus, eQual_frequency, eQual_function, eQual_gap_type, eQual_gdb_xref, eQual_gene, eQual_gene_synonym, eQual_germline, eQual_haplogroup, eQual_haplotype, eQual_heterogen, eQual_host, eQual_identified_by, eQual_inference, eQual_insertion_seq, eQual_isolate, eQual_isolation_source, eQual_kinetoplast, eQual_lab_host, eQual_label, eQual_lat_lon, eQual_linkage_evidence, eQual_linkage_group, eQual_locus_tag, eQual_macronuclear, eQual_map, eQual_mating_type, eQual_metagenome_source, eQual_metagenomic, eQual_mitochondrion, eQual_mobile_element, eQual_mobile_element_type, eQual_mod_base, eQual_mol_type, eQual_name, eQual_ncRNA_class, eQual_nomenclature, eQual_non_std_residue, eQual_note, eQual_number, eQual_old_locus_tag, eQual_operon, eQual_organelle, eQual_organism, eQual_partial, eQual_PCR_conditions, eQual_PCR_primers, eQual_phenotype, eQual_plasmid, eQual_pop_variant, eQual_product, eQual_protein_id, eQual_proviral, eQual_pseudo, eQual_pseudogene, eQual_rearranged, eQual_recombination_class, eQual_region_name, eQual_regulatory_class, eQual_replace, eQual_ribosomal_slippage, eQual_rpt_family, eQual_rpt_type, eQual_rpt_unit, eQual_rpt_unit_range, eQual_rpt_unit_seq, eQual_satellite, eQual_sec_str_type, eQual_segment, eQual_sequenced_mol, eQual_serotype, eQual_serovar, eQual_sex, eQual_site_type, eQual_SO_type, eQual_specimen_voucher, eQual_standard_name, eQual_strain, eQual_sub_clone, eQual_sub_species, eQual_sub_strain, eQual_submitter_seqid, eQual_tag_peptide, eQual_tissue_lib, eQual_tissue_type, eQual_trans_splicing, eQual_transcript_id, eQual_transgenic, eQual_transl_except, eQual_transl_table, eQual_translation, eQual_transposon, eQual_type_material, eQual_UniProtKB_evidence, eQual_usedin, eQual_variety, eQual_virion, eQual_whole_replicon, eSubtype_10_signal, eSubtype_35_signal, eSubtype_3clip, eSubtype_3UTR, eSubtype_5clip, eSubtype_5UTR, eSubtype_any, eSubtype_assembly_gap, eSubtype_attenuator, eSubtype_biosrc, eSubtype_bond, eSubtype_C_region, eSubtype_CAAT_signal, eSubtype_cdregion, eSubtype_centromere, eSubtype_comment, eSubtype_conflict, eSubtype_D_loop, eSubtype_D_segment, eSubtype_enhancer, eSubtype_exon, eSubtype_gap, eSubtype_GC_signal, eSubtype_gene, eSubtype_het, eSubtype_iDNA, eSubtype_Imp_CDS, eSubtype_intron, eSubtype_J_segment, eSubtype_LTR, eSubtype_mat_peptide, eSubtype_mat_peptide_aa, eSubtype_misc_binding, eSubtype_misc_difference, eSubtype_misc_feature, eSubtype_misc_recomb, eSubtype_misc_RNA, eSubtype_misc_signal, eSubtype_misc_structure, eSubtype_mobile_element, eSubtype_modified_base, eSubtype_mRNA, eSubtype_N_region, eSubtype_ncRNA, eSubtype_non_std_residue, eSubtype_old_sequence, eSubtype_operon, eSubtype_oriT, eSubtype_otherRNA, eSubtype_polyA_signal, eSubtype_polyA_site, eSubtype_precursor_RNA, eSubtype_preprotein, eSubtype_preRNA, eSubtype_prim_transcript, eSubtype_primer_bind, eSubtype_promoter, eSubtype_propeptide, eSubtype_propeptide_aa, eSubtype_prot, eSubtype_protein_bind, eSubtype_psec_str, eSubtype_RBS, eSubtype_region, eSubtype_regulatory, eSubtype_rep_origin, eSubtype_repeat_region, eSubtype_repeat_unit, eSubtype_rRNA, eSubtype_S_region, eSubtype_satellite, eSubtype_scRNA, eSubtype_sig_peptide, eSubtype_sig_peptide_aa, eSubtype_site, eSubtype_snoRNA, eSubtype_snRNA, eSubtype_source, eSubtype_stem_loop, eSubtype_STS, eSubtype_TATA_signal, eSubtype_telomere, eSubtype_terminator, eSubtype_tmRNA, eSubtype_transit_peptide, eSubtype_transit_peptide_aa, eSubtype_tRNA, eSubtype_unsure, eSubtype_V_region, eSubtype_V_segment, eSubtype_variation, eSubtype_variation_ref, MAKE_CONST_MAP, and compile_time_bits::const_bitset< _Bits, T >::set_range().

Referenced by GetLegalQualifiers(), and IsLegalQualifier().

◆ s_InitSubtypesTable()

void CSeqFeatData::s_InitSubtypesTable ( void  )
staticprivate

Definition at line 697 of file SeqFeatData.cpp.

References _ASSERT, CSeqFeatData_Base::e_Biosrc, CSeqFeatData_Base::e_Bond, CSeqFeatData_Base::e_Cdregion, CSeqFeatData_Base::e_Clone, CSeqFeatData_Base::e_Comment, CSeqFeatData_Base::e_Gene, CSeqFeatData_Base::e_Het, CSeqFeatData_Base::e_Imp, CSeqFeatData_Base::e_Non_std_residue, CSeqFeatData_Base::e_not_set, CSeqFeatData_Base::e_Num, CSeqFeatData_Base::e_Org, CSeqFeatData_Base::e_Prot, CSeqFeatData_Base::e_Psec_str, CSeqFeatData_Base::e_Pub, CSeqFeatData_Base::e_Region, CSeqFeatData_Base::e_Rna, CSeqFeatData_Base::e_Rsite, CSeqFeatData_Base::e_Seq, CSeqFeatData_Base::e_Site, CSeqFeatData_Base::e_Txinit, CSeqFeatData_Base::e_User, CSeqFeatData_Base::e_Variation, eSubtype_any, eSubtype_biosrc, eSubtype_bond, eSubtype_cdregion, eSubtype_clone, eSubtype_comment, eSubtype_gene, eSubtype_het, eSubtype_imp, eSubtype_ncRNA, eSubtype_non_std_residue, eSubtype_num, eSubtype_org, eSubtype_otherRNA, eSubtype_preRNA, eSubtype_propeptide, eSubtype_propeptide_aa, eSubtype_prot, eSubtype_psec_str, eSubtype_pub, eSubtype_region, eSubtype_rsite, eSubtype_seq, eSubtype_site, eSubtype_site_ref, eSubtype_tmRNA, eSubtype_transit_peptide_aa, eSubtype_txinit, eSubtype_user, eSubtype_variation_ref, GetTypeFromSubtype(), i, info, kImportTable, kImportTableEnd, NcbiCout, NcbiEndl, NStr::ReplaceInPlace(), s_subtype_count, s_subtype_info, CSeqFeatData_Base::SelectionName(), sx_SubtypesTable, sx_SubtypesTableInitialized, table, toupper(), and type.

Referenced by GetTypeFromSubtype().

◆ s_InitXrefAllowedSubtypesTable()

static void CSeqFeatData::s_InitXrefAllowedSubtypesTable ( void  )
static

◆ s_InitXrefProhibitedSubtypesTable()

static void CSeqFeatData::s_InitXrefProhibitedSubtypesTable ( void  )
static

◆ SetBiosrc() [1/2]

void CSeqFeatData::SetBiosrc ( TBiosrc v)
inline

◆ SetBiosrc() [2/2]

TBiosrc& CSeqFeatData::SetBiosrc ( void  )
inline

Definition at line 290 of file SeqFeatData.hpp.

◆ SetBond() [1/2]

void CSeqFeatData::SetBond ( const TBond v)
inline

◆ SetBond() [2/2]

TBond& CSeqFeatData::SetBond ( void  )
inline

Definition at line 281 of file SeqFeatData.hpp.

◆ SetCdregion() [1/2]

void CSeqFeatData::SetCdregion ( TCdregion v)
inline

◆ SetCdregion() [2/2]

TCdregion& CSeqFeatData::SetCdregion ( void  )
inline

Definition at line 270 of file SeqFeatData.hpp.

◆ SetClone() [1/2]

void CSeqFeatData::SetClone ( TClone v)
inline

◆ SetClone() [2/2]

TClone& CSeqFeatData::SetClone ( void  )
inline

Definition at line 291 of file SeqFeatData.hpp.

◆ SetComment()

void CSeqFeatData::SetComment ( void  )
inline

Definition at line 277 of file SeqFeatData.hpp.

References InvalidateCache(), and CSeqFeatData_Base::SetComment().

◆ SetGene() [1/2]

void CSeqFeatData::SetGene ( TGene v)
inline

◆ SetGene() [2/2]

TGene& CSeqFeatData::SetGene ( void  )
inline

Definition at line 268 of file SeqFeatData.hpp.

◆ SetHet() [1/2]

void CSeqFeatData::SetHet ( THet v)
inline

Definition at line 289 of file SeqFeatData.hpp.

◆ SetHet() [2/2]

THet& CSeqFeatData::SetHet ( void  )
inline

Definition at line 289 of file SeqFeatData.hpp.

◆ SetImp() [1/2]

void CSeqFeatData::SetImp ( TImp v)
inline

◆ SetImp() [2/2]

TImp& CSeqFeatData::SetImp ( void  )
inline

Definition at line 275 of file SeqFeatData.hpp.

◆ SetNon_std_residue() [1/2]

void CSeqFeatData::SetNon_std_residue ( const TNon_std_residue v)
inline

Definition at line 288 of file SeqFeatData.hpp.

◆ SetNon_std_residue() [2/2]

TNon_std_residue& CSeqFeatData::SetNon_std_residue ( void  )
inline

Definition at line 288 of file SeqFeatData.hpp.

◆ SetNum() [1/2]

void CSeqFeatData::SetNum ( TNum v)
inline

◆ SetNum() [2/2]

TNum& CSeqFeatData::SetNum ( void  )
inline

Definition at line 286 of file SeqFeatData.hpp.

◆ SetOrg() [1/2]

void CSeqFeatData::SetOrg ( TOrg v)
inline

◆ SetOrg() [2/2]

TOrg& CSeqFeatData::SetOrg ( void  )
inline

Definition at line 269 of file SeqFeatData.hpp.

◆ SetProt() [1/2]

void CSeqFeatData::SetProt ( TProt v)
inline

◆ SetProt() [2/2]

TProt& CSeqFeatData::SetProt ( void  )
inline

Definition at line 271 of file SeqFeatData.hpp.

◆ SetPsec_str() [1/2]

void CSeqFeatData::SetPsec_str ( const TPsec_str v)
inline

Definition at line 287 of file SeqFeatData.hpp.

◆ SetPsec_str() [2/2]

TPsec_str& CSeqFeatData::SetPsec_str ( void  )
inline

Definition at line 287 of file SeqFeatData.hpp.

◆ SetPub() [1/2]

void CSeqFeatData::SetPub ( TPub v)
inline

◆ SetPub() [2/2]

TPub& CSeqFeatData::SetPub ( void  )
inline

Definition at line 273 of file SeqFeatData.hpp.

◆ SetRegion() [1/2]

void CSeqFeatData::SetRegion ( const TRegion v)
inline

◆ SetRegion() [2/2]

TRegion& CSeqFeatData::SetRegion ( void  )
inline

Definition at line 276 of file SeqFeatData.hpp.

◆ SetRna() [1/2]

void CSeqFeatData::SetRna ( TRna v)
inline

◆ SetRna() [2/2]

TRna& CSeqFeatData::SetRna ( void  )
inline

Definition at line 272 of file SeqFeatData.hpp.

◆ SetRsite() [1/2]

void CSeqFeatData::SetRsite ( TRsite v)
inline

Definition at line 283 of file SeqFeatData.hpp.

◆ SetRsite() [2/2]

TRsite& CSeqFeatData::SetRsite ( void  )
inline

Definition at line 283 of file SeqFeatData.hpp.

◆ SetSeq() [1/2]

void CSeqFeatData::SetSeq ( TSeq v)
inline

◆ SetSeq() [2/2]

TSeq& CSeqFeatData::SetSeq ( void  )
inline

Definition at line 274 of file SeqFeatData.hpp.

◆ SetSite() [1/2]

void CSeqFeatData::SetSite ( const TSite v)
inline

◆ SetSite() [2/2]

TSite& CSeqFeatData::SetSite ( void  )
inline

Definition at line 282 of file SeqFeatData.hpp.

◆ SetTxinit() [1/2]

void CSeqFeatData::SetTxinit ( TTxinit v)
inline

◆ SetTxinit() [2/2]

TTxinit& CSeqFeatData::SetTxinit ( void  )
inline

Definition at line 285 of file SeqFeatData.hpp.

◆ SetUser() [1/2]

void CSeqFeatData::SetUser ( TUser v)
inline

Definition at line 284 of file SeqFeatData.hpp.

Referenced by CAutogeneratedCleanup::x_BasicCleanupSeqFeat_data().

◆ SetUser() [2/2]

TUser& CSeqFeatData::SetUser ( void  )
inline

Definition at line 284 of file SeqFeatData.hpp.

◆ SetVariation() [1/2]

void CSeqFeatData::SetVariation ( TVariation v)
inline

◆ SetVariation() [2/2]

TVariation& CSeqFeatData::SetVariation ( void  )
inline

Definition at line 292 of file SeqFeatData.hpp.

◆ ShouldRepresentAsGbqual() [1/2]

bool CSeqFeatData::ShouldRepresentAsGbqual ( CSeqFeatData::ESubtype  feat_subtype,
const CGb_qual qual 
)
static

◆ ShouldRepresentAsGbqual() [2/2]

bool CSeqFeatData::ShouldRepresentAsGbqual ( CSeqFeatData::ESubtype  feat_subtype,
CSeqFeatData::EQualifier  qual_type 
)
static

◆ SubtypeNameToValue()

static ESubtype CSeqFeatData::SubtypeNameToValue ( CTempString  sName)
static

◆ SubtypeValueToName()

CTempString CSeqFeatData::SubtypeValueToName ( CSeqFeatData::ESubtype  eSubtype)
static

◆ x_InitFeatDataInfo()

void CSeqFeatData::x_InitFeatDataInfo ( void  ) const
private

Member Data Documentation

◆ m_FeatDataInfo

SFeatDataInfo CSeqFeatData::m_FeatDataInfo
mutableprivate

Definition at line 542 of file SeqFeatData.hpp.

Referenced by GetKey(), GetSubtype(), InvalidateSubtype(), and x_InitFeatDataInfo().


The documentation for this class was generated from the following files:
Modified on Fri Sep 20 14:58:26 2024 by modify_doxy.py rev. 669887