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

Search Toolkit Book for CDisambiguator

+ Collaboration diagram for CDisambiguator:

Classes

struct  SCandidates
 
struct  SParentInfo
 

Public Types

typedef CFeatTree::CFeatInfo CFeatInfo
 
typedef list< CFeatInfo * > TChildList
 
typedef set< SBestInfo, SBestInfoLessTBestSet
 
typedef map< CFeatInfo *, SCandidatesTChildren
 
typedef map< CFeatInfo *, SParentInfoTParents
 

Public Member Functions

 CDisambiguator (CFeatTree::TFeatArray &features)
 
bool Add (CFeatInfo *child, CFeatInfo *parent, Int1 quality, Int8 overlap)
 
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.

void Disambiguate (TBestArray &bests)
 

Private Attributes

bool m_IsAmbiguous
 
TChildren m_Children
 
TParents m_Parents
 

Detailed Description

Definition at line 2269 of file feature.cpp.

Member Typedef Documentation

◆ CFeatInfo

Definition at line 2281 of file feature.cpp.

◆ TBestSet

Definition at line 2327 of file feature.cpp.

◆ TChildList

Definition at line 2282 of file feature.cpp.

◆ TChildren

Definition at line 2336 of file feature.cpp.

◆ TParents

Definition at line 2337 of file feature.cpp.

Constructor & Destructor Documentation

◆ CDisambiguator()

CDisambiguator::CDisambiguator ( CFeatTree::TFeatArray features)
inline

Definition at line 2272 of file feature.cpp.

References cnt, features, i, m_Children, and m_IsAmbiguous.

Member Function Documentation

◆ Add()

bool CDisambiguator::Add ( CFeatInfo child,
CFeatInfo parent,
Int1  quality,
Int8  overlap 
)
inline

◆ Disambiguate()

void CDisambiguator::Disambiguate ( TBestArray &  bests)

Member Data Documentation

◆ m_Children

TChildren CDisambiguator::m_Children
private

Definition at line 2341 of file feature.cpp.

Referenced by Add(), CDisambiguator(), and Disambiguate().

◆ m_IsAmbiguous

bool CDisambiguator::m_IsAmbiguous
private

Definition at line 2340 of file feature.cpp.

Referenced by Add(), CDisambiguator(), and Disambiguate().

◆ m_Parents

TParents CDisambiguator::m_Parents
private

Definition at line 2342 of file feature.cpp.

Referenced by Add(), and Disambiguate().


The documentation for this class was generated from the following file:
Modified on Wed Apr 17 13:09:44 2024 by modify_doxy.py rev. 669887