NCBI C++ ToolKit
Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
CAlnMultiDSBuilder Class Reference

Search Toolkit Book for CAlnMultiDSBuilder

#include <gui/widgets/aln_multiple/alnmulti_ds_builder.hpp>

+ Collaboration diagram for CAlnMultiDSBuilder:

Public Types

typedef vector< CConstRef< objects::CSeq_annot > > TAnnotVector
 
typedef vector< CConstRef< objects::CSeq_align > > TAlignVector
 
typedef vector< const objects::CSeq_align * > TAlnVector
 
typedef CAlnUserOptions TOptions
 

Public Member Functions

 CAlnMultiDSBuilder ()
 
virtual ~CAlnMultiDSBuilder ()
 
void Init (objects::CScope &scope, const objects::CSeq_align &align)
 initial data set from which an alignment will be build More...
 
void Init (objects::CScope &scope, const objects::CSeq_annot &annot)
 
void Init (objects::CScope &scope, const objects::CBioseq_Handle &handle)
 
void Init (objects::CScope &scope, const objects::CBioseq &bioseq)
 
void Init (objects::CScope &scope, const objects::CSeq_entry &seq_entry)
 
void Init (objects::CScope &scope, TAlignVector &aligns)
 
void Init (objects::CScope &scope, TAnnotVector &annots)
 
void PreCreateDataSource (bool sparse)
 
CRef< IAlnMultiDataSourceCreateDataSource ()
 
TOptionsSetOptions ()
 
void GetBioseqHandles (vector< CBioseq_Handle > &handles)
 
bool GetSyncCreate ()
 
void SetSyncCreate (bool sync)
 
void SetSelectAnchor (bool select_anchor)
 
virtual void SetListener (CDataChangeNotifier::IListener *pListener)
 Subscribe a new listener for data source. More...
 
virtual CDataChangeNotifier::IListenerGetListener ()
 

Public Attributes

CAlnSeqIdaaa
 

Protected Types

typedef CAlnSeqIdsExtract< CAlnSeqIdTIdExtract
 
typedef vector< CRef< CAnchoredAln > > TAnchoredAlnVector
 
typedef CAlnIdMap< TAlnVector, TIdExtractTAlnIdMap
 
typedef CAlnStats< TAlnIdMapTAlnStats
 

Protected Member Functions

void x_Clear ()
 
void x_TestAlignments ()
 Analyzes m_OrigAligns and decides how to build an alignment from it. More...
 
void x_GetLinearAlignments (TAlignVector &aligns)
 
bool x_IsLinear (const objects::CStd_seg &seg)
 returns true if CStd_seg is linear More...
 
void x_PreCreateSparseDataSource ()
 
CRef< IAlnMultiDataSourcex_CreateSparseDataSource ()
 
CRef< IAlnMultiDataSourcex_CreateAlnVecDataSource ()
 

Protected Attributes

CAlnSeqIdd
 
CRef< objects::CScope > m_Scope
 
TAlignVector m_OrigAligns
 
CRef< TAlnStatsm_AlnStats
 
TAnchoredAlnVector m_AnchoredAlns
 
CConstRef< objects::CSeq_id > m_MasterId
 
TOptions m_Options
 
bool m_CreateSparse
 control alignment building More...
 
bool m_SyncCreate
 
bool m_SelectAnchor = false
 
CDataChangeNotifier::IListenerm_Listener
 Try to set anchor automatically. More...
 

Detailed Description

Definition at line 61 of file alnmulti_ds_builder.hpp.

Member Typedef Documentation

◆ TAlignVector

typedef vector< CConstRef<objects::CSeq_align> > CAlnMultiDSBuilder::TAlignVector

Definition at line 67 of file alnmulti_ds_builder.hpp.

◆ TAlnIdMap

Definition at line 118 of file alnmulti_ds_builder.hpp.

◆ TAlnStats

Definition at line 119 of file alnmulti_ds_builder.hpp.

◆ TAlnVector

typedef vector<const objects::CSeq_align*> CAlnMultiDSBuilder::TAlnVector

Definition at line 68 of file alnmulti_ds_builder.hpp.

◆ TAnchoredAlnVector

Definition at line 117 of file alnmulti_ds_builder.hpp.

◆ TAnnotVector

typedef vector< CConstRef<objects::CSeq_annot> > CAlnMultiDSBuilder::TAnnotVector

Definition at line 66 of file alnmulti_ds_builder.hpp.

◆ TIdExtract

Definition at line 116 of file alnmulti_ds_builder.hpp.

◆ TOptions

Definition at line 69 of file alnmulti_ds_builder.hpp.

Constructor & Destructor Documentation

◆ CAlnMultiDSBuilder()

CAlnMultiDSBuilder::CAlnMultiDSBuilder ( )

Definition at line 58 of file alnmulti_ds_builder.cpp.

◆ ~CAlnMultiDSBuilder()

CAlnMultiDSBuilder::~CAlnMultiDSBuilder ( )
virtual

Definition at line 66 of file alnmulti_ds_builder.cpp.

References x_Clear().

Member Function Documentation

◆ CreateDataSource()

CRef< IAlnMultiDataSource > CAlnMultiDSBuilder::CreateDataSource ( )

◆ GetBioseqHandles()

void CAlnMultiDSBuilder::GetBioseqHandles ( vector< CBioseq_Handle > &  handles)

Definition at line 189 of file alnmulti_ds_builder.cpp.

References ITERATE, m_AlnStats, and m_Scope.

Referenced by CAlignMultipleDemoDlg::OnRebuild().

◆ GetListener()

virtual CDataChangeNotifier::IListener* CAlnMultiDSBuilder::GetListener ( )
inlinevirtual

Definition at line 98 of file alnmulti_ds_builder.hpp.

References m_Listener.

◆ GetSyncCreate()

bool CAlnMultiDSBuilder::GetSyncCreate ( )
inline

Definition at line 89 of file alnmulti_ds_builder.hpp.

References m_SyncCreate.

◆ Init() [1/7]

void CAlnMultiDSBuilder::Init ( objects::CScope &  scope,
const objects::CBioseq &  bioseq 
)

◆ Init() [2/7]

void CAlnMultiDSBuilder::Init ( objects::CScope &  scope,
const objects::CBioseq_Handle &  handle 
)

◆ Init() [3/7]

void CAlnMultiDSBuilder::Init ( objects::CScope &  scope,
const objects::CSeq_align &  align 
)

◆ Init() [4/7]

void CAlnMultiDSBuilder::Init ( objects::CScope &  scope,
const objects::CSeq_annot &  annot 
)

◆ Init() [5/7]

void CAlnMultiDSBuilder::Init ( objects::CScope &  scope,
const objects::CSeq_entry &  seq_entry 
)

◆ Init() [6/7]

void CAlnMultiDSBuilder::Init ( objects::CScope &  scope,
TAlignVector aligns 
)

Definition at line 129 of file alnmulti_ds_builder.cpp.

References m_OrigAligns, m_Scope, CRef< C, Locker >::Reset(), and x_Clear().

◆ Init() [7/7]

void CAlnMultiDSBuilder::Init ( objects::CScope &  scope,
TAnnotVector annots 
)

◆ PreCreateDataSource()

void CAlnMultiDSBuilder::PreCreateDataSource ( bool  sparse)

◆ SetListener()

virtual void CAlnMultiDSBuilder::SetListener ( CDataChangeNotifier::IListener pListener)
inlinevirtual

Subscribe a new listener for data source.

No ownership transfer for pListener

Definition at line 96 of file alnmulti_ds_builder.hpp.

References m_Listener.

Referenced by CMultiAlignView::OnProjectChanged().

◆ SetOptions()

TOptions& CAlnMultiDSBuilder::SetOptions ( void  )
inline

◆ SetSelectAnchor()

void CAlnMultiDSBuilder::SetSelectAnchor ( bool  select_anchor)
inline

Definition at line 92 of file alnmulti_ds_builder.hpp.

References m_SelectAnchor.

◆ SetSyncCreate()

void CAlnMultiDSBuilder::SetSyncCreate ( bool  sync)
inline

◆ x_Clear()

void CAlnMultiDSBuilder::x_Clear ( void  )
protected

◆ x_CreateAlnVecDataSource()

CRef< IAlnMultiDataSource > CAlnMultiDSBuilder::x_CreateAlnVecDataSource ( )
protected

◆ x_CreateSparseDataSource()

CRef< IAlnMultiDataSource > CAlnMultiDSBuilder::x_CreateSparseDataSource ( )
protected

◆ x_GetLinearAlignments()

void CAlnMultiDSBuilder::x_GetLinearAlignments ( TAlignVector aligns)
protected

Definition at line 302 of file alnmulti_ds_builder.cpp.

References CSeq_align_Base::GetSegs(), ITERATE, m_OrigAligns, and x_IsLinear().

Referenced by x_TestAlignments().

◆ x_IsLinear()

bool CAlnMultiDSBuilder::x_IsLinear ( const objects::CStd_seg &  seg)
protected

returns true if CStd_seg is linear

Definition at line 341 of file alnmulti_ds_builder.cpp.

Referenced by x_GetLinearAlignments().

◆ x_PreCreateSparseDataSource()

void CAlnMultiDSBuilder::x_PreCreateSparseDataSource ( )
protected

◆ x_TestAlignments()

void CAlnMultiDSBuilder::x_TestAlignments ( )
protected

Analyzes m_OrigAligns and decides how to build an alignment from it.

Definition at line 257 of file alnmulti_ds_builder.cpp.

References _TRACE, CSeq_id_Handle::GetHandle(), CSeq_id_Handle::GetSeqId(), set< Key, Compare >::insert(), ITERATE, m_MasterId, set< Key, Compare >::size(), and x_GetLinearAlignments().

Referenced by CreateDataSource().

Member Data Documentation

◆ aaa

CAlnSeqId* CAlnMultiDSBuilder::aaa

Definition at line 64 of file alnmulti_ds_builder.hpp.

◆ d

CAlnSeqId* CAlnMultiDSBuilder::d
protected

Definition at line 114 of file alnmulti_ds_builder.hpp.

◆ m_AlnStats

CRef<TAlnStats> CAlnMultiDSBuilder::m_AlnStats
protected

Definition at line 123 of file alnmulti_ds_builder.hpp.

Referenced by GetBioseqHandles(), x_Clear(), and x_PreCreateSparseDataSource().

◆ m_AnchoredAlns

TAnchoredAlnVector CAlnMultiDSBuilder::m_AnchoredAlns
protected

◆ m_CreateSparse

bool CAlnMultiDSBuilder::m_CreateSparse
protected

control alignment building

Definition at line 128 of file alnmulti_ds_builder.hpp.

Referenced by CreateDataSource(), PreCreateDataSource(), and x_Clear().

◆ m_Listener

CDataChangeNotifier::IListener* CAlnMultiDSBuilder::m_Listener
protected

Try to set anchor automatically.

Definition at line 131 of file alnmulti_ds_builder.hpp.

Referenced by GetListener(), SetListener(), x_CreateAlnVecDataSource(), and x_CreateSparseDataSource().

◆ m_MasterId

CConstRef<objects::CSeq_id> CAlnMultiDSBuilder::m_MasterId
protected

Definition at line 126 of file alnmulti_ds_builder.hpp.

Referenced by x_Clear(), x_CreateSparseDataSource(), and x_TestAlignments().

◆ m_Options

TOptions CAlnMultiDSBuilder::m_Options
protected

◆ m_OrigAligns

TAlignVector CAlnMultiDSBuilder::m_OrigAligns
protected

◆ m_Scope

CRef<objects::CScope> CAlnMultiDSBuilder::m_Scope
protected

◆ m_SelectAnchor

bool CAlnMultiDSBuilder::m_SelectAnchor = false
protected

Definition at line 130 of file alnmulti_ds_builder.hpp.

Referenced by SetSelectAnchor(), and x_CreateAlnVecDataSource().

◆ m_SyncCreate

bool CAlnMultiDSBuilder::m_SyncCreate
protected

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