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)

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
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 rev. 669887