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

Search Toolkit Book for CUnorderedSplitter

#include <algo/align/ngalign/unordered_spliter.hpp>

+ Collaboration diagram for CUnorderedSplitter:

Public Types

typedef list< CRef< objects::CSeq_id > > TSeqIdList
 
typedef list< CRef< objects::CSeq_align > > TSeqAlignList
 

Public Member Functions

 CUnorderedSplitter (objects::CScope &Scope)
 
void SplitId (const objects::CSeq_id &Id, TSeqIdList &SplitIds)
 
void SplitLoc (const objects::CSeq_loc &Loc, TSeqIdList &SplitIds)
 
void CombineAlignments (const TSeqAlignList &SourceAligns, TSeqAlignList &MergedAligns)
 
void GetSplitIdList (TSeqIdList &SplitIdList)
 

Private Types

typedef map< string, CRef< objects::CSeq_interval > > TSplitIntervalsMap
 
typedef list< CRef< objects::CSeq_interval > > TIntervalList
 
typedef map< string, TIntervalListTSplitIntMap
 

Private Member Functions

void x_SplitDeltaExt (const objects::CSeq_id &Id, objects::CBioseq_Handle OrigHandle, TSeqIdList &SplitIds, TSeqRange LimitRange=TSeqRange())
 
void x_SplitSeqData (const objects::CSeq_id &Id, objects::CBioseq_Handle OrigHandle, TSeqIdList &SplitIds, TSeqRange LimitRange=TSeqRange())
 
CRef< objects::CSeq_align > x_FixAlignment (const objects::CSeq_align &SourceAlignment)
 
void x_SortAlignSet (TSeqAlignList &AlignSet)
 
void x_MakeAlignmentsUnique (TSeqAlignList &Alignments)
 
void x_MakeAlignmentPairUnique (CRef< objects::CSeq_align > First, CRef< objects::CSeq_align > Second)
 
void x_TrimRows (const objects::CDense_seg &DomSeg, objects::CDense_seg &NonSeg, int Row)
 
bool x_IsAllGap (const objects::CDense_seg &Denseg)
 
void x_StripDistantAlignments (TSeqAlignList &Alignments)
 

Static Private Member Functions

static bool s_SortByQueryStart (const CRef< objects::CSeq_align > &A, const CRef< objects::CSeq_align > &B)
 

Private Attributes

CRef< objects::CScope > m_Scope
 
TSplitIntervalsMap m_PartsMap
 
TSplitIntMap m_SplitsMap
 

Detailed Description

Definition at line 70 of file unordered_spliter.hpp.

Member Typedef Documentation

◆ TIntervalList

typedef list< CRef<objects::CSeq_interval> > CUnorderedSplitter::TIntervalList
private

Definition at line 95 of file unordered_spliter.hpp.

◆ TSeqAlignList

typedef list<CRef<objects::CSeq_align> > CUnorderedSplitter::TSeqAlignList

Definition at line 80 of file unordered_spliter.hpp.

◆ TSeqIdList

typedef list<CRef<objects::CSeq_id> > CUnorderedSplitter::TSeqIdList

Definition at line 76 of file unordered_spliter.hpp.

◆ TSplitIntervalsMap

typedef map<string, CRef<objects::CSeq_interval> > CUnorderedSplitter::TSplitIntervalsMap
private

Definition at line 92 of file unordered_spliter.hpp.

◆ TSplitIntMap

Definition at line 96 of file unordered_spliter.hpp.

Constructor & Destructor Documentation

◆ CUnorderedSplitter()

CUnorderedSplitter::CUnorderedSplitter ( objects::CScope &  Scope)
inline

Definition at line 74 of file unordered_spliter.hpp.

Member Function Documentation

◆ CombineAlignments()

void CUnorderedSplitter::CombineAlignments ( const TSeqAlignList SourceAligns,
TSeqAlignList MergedAligns 
)

◆ GetSplitIdList()

void CUnorderedSplitter::GetSplitIdList ( TSeqIdList SplitIdList)

Definition at line 198 of file unordered_spliter.cpp.

References ITERATE, and m_PartsMap.

Referenced by CSplitSeqAlignMerger::GenerateAlignments().

◆ s_SortByQueryStart()

bool CUnorderedSplitter::s_SortByQueryStart ( const CRef< objects::CSeq_align > &  A,
const CRef< objects::CSeq_align > &  B 
)
staticprivate

Definition at line 502 of file unordered_spliter.cpp.

References A, and B.

Referenced by x_SortAlignSet().

◆ SplitId()

void CUnorderedSplitter::SplitId ( const objects::CSeq_id &  Id,
TSeqIdList SplitIds 
)

◆ SplitLoc()

void CUnorderedSplitter::SplitLoc ( const objects::CSeq_loc &  Loc,
TSeqIdList SplitIds 
)

◆ x_FixAlignment()

CRef< CSeq_align > CUnorderedSplitter::x_FixAlignment ( const objects::CSeq_align &  SourceAlignment)
private

◆ x_IsAllGap()

bool CUnorderedSplitter::x_IsAllGap ( const objects::CDense_seg &  Denseg)
private

◆ x_MakeAlignmentPairUnique()

void CUnorderedSplitter::x_MakeAlignmentPairUnique ( CRef< objects::CSeq_align >  First,
CRef< objects::CSeq_align >  Second 
)
private

◆ x_MakeAlignmentsUnique()

void CUnorderedSplitter::x_MakeAlignmentsUnique ( TSeqAlignList Alignments)
private

Definition at line 528 of file unordered_spliter.cpp.

References x_IsAllGap(), and x_MakeAlignmentPairUnique().

Referenced by CombineAlignments().

◆ x_SortAlignSet()

void CUnorderedSplitter::x_SortAlignSet ( TSeqAlignList AlignSet)
private

Definition at line 515 of file unordered_spliter.cpp.

References copy(), s_SortByQueryStart(), and ct::sort().

Referenced by CombineAlignments().

◆ x_SplitDeltaExt()

void CUnorderedSplitter::x_SplitDeltaExt ( const objects::CSeq_id &  Id,
objects::CBioseq_Handle  OrigHandle,
TSeqIdList SplitIds,
TSeqRange  LimitRange = TSeqRange() 
)
private

◆ x_SplitSeqData()

void CUnorderedSplitter::x_SplitSeqData ( const objects::CSeq_id &  Id,
objects::CBioseq_Handle  OrigHandle,
TSeqIdList SplitIds,
TSeqRange  LimitRange = TSeqRange() 
)
private

◆ x_StripDistantAlignments()

void CUnorderedSplitter::x_StripDistantAlignments ( TSeqAlignList Alignments)
private

◆ x_TrimRows()

void CUnorderedSplitter::x_TrimRows ( const objects::CDense_seg &  DomSeg,
objects::CDense_seg &  NonSeg,
int  Row 
)
private

Member Data Documentation

◆ m_PartsMap

TSplitIntervalsMap CUnorderedSplitter::m_PartsMap
private

◆ m_Scope

CRef<objects::CScope> CUnorderedSplitter::m_Scope
private

Definition at line 90 of file unordered_spliter.hpp.

Referenced by SplitId(), SplitLoc(), x_SplitDeltaExt(), and x_SplitSeqData().

◆ m_SplitsMap

TSplitIntMap CUnorderedSplitter::m_SplitsMap
private

Definition at line 97 of file unordered_spliter.hpp.


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