NCBI C++ ToolKit
Public Types | Public Member Functions | Public Attributes | List of all members
CFeatTree::CFeatInfo Class Reference

Search Toolkit Book for CFeatTree::CFeatInfo

#include <objmgr/util/feature.hpp>

+ Collaboration diagram for CFeatTree::CFeatInfo:

Public Types

enum  EIsLinkedToRoot { eIsLinkedToRoot_unknown , eIsLinkedToRoot_linked , eIsLinkedToRoot_linking }
 
typedef vector< CFeatInfo * > TChildren
 

Public Member Functions

bool IsSetParent (void) const
 
bool IsSetGene (void) const
 
CSeqFeatData::ESubtype GetSubtype (void) const
 
bool IsGene (void) const
 
bool GivesGeneToChildren (void) const
 
CFeatInfoGetChildrenGene (void)
 
GetParentFeature

The algorithm is the following: 1.

Feature types are organized in a tree of possible parent-child relationship: 1.1. operon, gap cannot have a parent, 1.2. gene can have operon as a parent, 1.3. mRNA, VDJ_segment, and C_region can have gene as a parent, 1.4. cdregion can have mRNA, VDJ_segment, or C_region as a parent, 1.5. prot can have cdregion as a parent (by its product location), 1.6. mat_peptide, sig_peptide can have prot as a parent, 1.x. all other feature types can have gene as a parent. 2. If parent of a nearest feature type is not found then the next type in the tree is checked, except prot which will have no parent if no cdregion is found. 3. For each parent type candidate the search is done in several ways: 3.1. first we look for a parent by Seq-feat.xref field, 3.2. then by Gene-ref if current parent type is gene, 3.3. then parent candidates are searched by the best intersection of their locations (product in case of prot -> cdregion link), 3.4. if no candidates are found next parent type is checked.

 CFeatInfo (void)
 
 ~CFeatInfo (void)
 
const CTSE_HandleGetTSE (void) const
 

Public Attributes

size_t m_AddIndex
 
CMappedFeat m_Feat
 
CRange< TSeqPosm_MasterRange
 
bool m_CanMatchByQual
 
bool m_IsSetParent
 
bool m_IsSetGene
 
bool m_IsSetChildren
 
bool m_MultiId
 
EIsLinkedToRoot m_IsLinkedToRoot
 
CFeatInfom_Parent
 
CFeatInfom_Gene
 
TChildren m_Children
 

Detailed Description

Definition at line 341 of file feature.hpp.


The documentation for this class was generated from the following files:
Modified on Sun Apr 14 05:27:48 2024 by modify_doxy.py rev. 669887