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:


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)

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)

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 

◆ Disambiguate()

void CDisambiguator::Disambiguate ( TBestArray &  bests)

Member Data Documentation

◆ m_Children

TChildren CDisambiguator::m_Children

Definition at line 2341 of file feature.cpp.

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

◆ m_IsAmbiguous

bool CDisambiguator::m_IsAmbiguous

Definition at line 2340 of file feature.cpp.

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

◆ m_Parents

TParents CDisambiguator::m_Parents

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