CAlnVecMultiDataSource Class Reference

Search Toolkit Book for CAlnVecMultiDataSource

#include <alnvec_multi_ds.hpp>

Inheritance diagram for CAlnVecMultiDataSource:

Inheritance graph
[legend]
Collaboration diagram for CAlnVecMultiDataSource:

Collaboration graph
[legend]
List of all members.

Detailed Description

CAlnVecMultiDataSource - implementation of IAlnMultiDataSource for CAlnVec-based alignments.

Definition at line 51 of file alnvec_multi_ds.hpp.

Public Member Functions

 CAlnVecMultiDataSource (objects::CScope &scope)
 ~CAlnVecMultiDataSource ()
virtual void Init (const objects::CSeq_annot &annot, bool sync=false)
virtual void Init (const objects::CBioseq_Handle &handle, bool sync=false)
virtual void Init (const vector< CConstRef< objects::CSeq_align > > &aligns, bool sync=false)
void OnAppJobNotification (CEvent *evt)
IAlnMultiDataSource implementation
virtual bool IsEmpty () const
virtual void SetGapChar (TResidue gap_char)
virtual IAlnExplorer::EAlignType GetAlignType () const
virtual int GetConsensusRow () const
 returns index of the Consensus row or -1 if it doesn't exist
virtual bool CanCreateConsensus ()
virtual void CreateConsensus ()
virtual TNumrow GetNumRows (void) const
 number of rows in alignment
virtual TSeqPos GetAlnStart (void) const
virtual TSeqPos GetAlnStop (void) const
virtual TSeqPos GetSeqStart (TNumrow row) const
virtual TSeqPos GetSeqStop (TNumrow row) const
virtual bool IsSetAnchor (void) const
 Anchoring methods.
virtual TNumrow GetAnchor (void) const
virtual bool CanChangeAnchor (void) const
virtual bool SetAnchor (TNumrow anchor)
virtual bool UnsetAnchor (void)
virtual bool CanGetId (TNumrow row) const
virtual const objects::CSeq_id & GetSeqId (TNumrow row) const
virtual const objects::CBioseq_Handle & GetBioseqHandle (TNumrow row) const
virtual bool IsPositiveStrand (TNumrow row) const
virtual bool IsNegativeStrand (TNumrow row) const
virtual TSignedSeqPos GetSeqPosFromAlnPos (TNumrow for_row, TSeqPos aln_pos, TSearchDirection dir=IAlnExplorer::eNone, bool try_reverse_dir=true) const
virtual TSignedSeqPos GetAlnPosFromSeqPos (TNumrow row, TSeqPos seq_pos, TSearchDirection dir=IAlnExplorer::eNone, bool try_reverse_dir=true) const
virtual string & GetAlnSeqString (TNumrow row, string &buffer, const IAlnExplorer::TSignedRange &aln_range) const
virtual const IAlignRowHandleGetRowHandle (TNumrow row) const
virtual IAlnSegmentIteratorCreateSegmentIterator (TNumrow row, const IAlnExplorer::TSignedRange &range, IAlnSegmentIterator::EFlags flags) const
virtual void GetAlnFromSeq (TNumrow row, const TRangeColl &seq_coll, TRangeColl &aln_coll) const
virtual void GetSeqFromAln (TNumrow row, const TRangeColl &aln_coll, TRangeColl &seq_coll) const
virtual bool IsDataReadSync () const

Protected Types

typedef vector< CAlnVecRowHandle * > THandleVector

Protected Member Functions

virtual void x_ClearHandles ()
virtual void x_CreateHandles ()
virtual void x_Assign (objects::CAlnVec &aln_vec)
virtual bool x_IsJobRunning ()
virtual void x_DeleteJob ()
virtual void x_OnJobProgress (CAppJobNotification &notn)
 DECLARE_EVENT_MAP ()

Protected Attributes

CRef< objects::CScope > m_Scope
CRef< objects::CAlnVec > m_AlnVec
int m_ConsRowIndex
CRef< CBuildAlnVecJobm_Job
int m_JobID
THandleVector m_Handles

Private Member Functions

 CAlnVecMultiDataSource (const CAlnVecMultiDataSource &ds)
CAlnVecMultiDataSourceoperator= (const CAlnVecMultiDataSource &ds)

Private Attributes

bool m_isDataReadSync


Member Typedef Documentation

typedef vector<CAlnVecRowHandle*> CAlnVecMultiDataSource::THandleVector [protected]
 

Definition at line 148 of file alnvec_multi_ds.hpp.


Constructor & Destructor Documentation

CAlnVecMultiDataSource::CAlnVecMultiDataSource objects::CScope &  scope  ) 
 

CAlnVecMultiDataSource::~CAlnVecMultiDataSource  ) 
 

Definition at line 59 of file alnvec_multi_ds.cpp.

References CException::GetMsg(), LOG_POST, x_ClearHandles(), x_DeleteJob(), and x_IsJobRunning().

CAlnVecMultiDataSource::CAlnVecMultiDataSource const CAlnVecMultiDataSource ds  )  [private]
 


Member Function Documentation

bool CAlnVecMultiDataSource::CanChangeAnchor void   )  const [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 316 of file alnvec_multi_ds.cpp.

bool CAlnVecMultiDataSource::CanCreateConsensus  )  [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 477 of file alnvec_multi_ds.cpp.

bool CAlnVecMultiDataSource::CanGetId TNumrow  row  )  const [virtual]
 

Definition at line 336 of file alnvec_multi_ds.cpp.

References GetNumRows().

void CAlnVecMultiDataSource::CreateConsensus  )  [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 483 of file alnvec_multi_ds.cpp.

References m_AlnVec, m_ConsRowIndex, CRef< C, Locker >::NotEmpty(), CRef< C, Locker >::Reset(), x_ClearHandles(), and x_CreateHandles().

IAlnSegmentIterator * CAlnVecMultiDataSource::CreateSegmentIterator TNumrow  row,
const IAlnExplorer::TSignedRange range,
IAlnSegmentIterator::EFlags  flags
const [virtual]
 

Definition at line 450 of file alnvec_multi_ds.cpp.

References IAlignRowHandle::CreateSegmentIterator(), and GetRowHandle().

CAlnVecMultiDataSource::DECLARE_EVENT_MAP  )  [protected]
 

IAlnExplorer::EAlignType CAlnVecMultiDataSource::GetAlignType  )  const [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 256 of file alnvec_multi_ds.cpp.

References IAlnExplorer::fInvalid, IAlnExplorer::fMixed, and m_AlnVec.

void CAlnVecMultiDataSource::GetAlnFromSeq TNumrow  row,
const TRangeColl seq_coll,
TRangeColl aln_coll
const [virtual]
 

Definition at line 390 of file alnvec_multi_ds.cpp.

References CRangeCollection< Position >::CombineWith(), IAlnExplorer::eLeft, CRangeCollection< Position >::empty(), IAlnExplorer::eRight, ITERATE, m_AlnVec, and swap().

virtual TSignedSeqPos CAlnVecMultiDataSource::GetAlnPosFromSeqPos TNumrow  row,
TSeqPos  seq_pos,
TSearchDirection  dir = IAlnExplorer::eNone,
bool  try_reverse_dir = true
const [virtual]
 

string & CAlnVecMultiDataSource::GetAlnSeqString TNumrow  row,
string &  buffer,
const IAlnExplorer::TSignedRange aln_range
const [virtual]
 

Definition at line 383 of file alnvec_multi_ds.cpp.

References m_AlnVec.

TSeqPos CAlnVecMultiDataSource::GetAlnStart void   )  const [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 280 of file alnvec_multi_ds.cpp.

References m_AlnVec.

TSeqPos CAlnVecMultiDataSource::GetAlnStop void   )  const [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 286 of file alnvec_multi_ds.cpp.

References m_AlnVec.

CAlnVecMultiDataSource::TNumrow CAlnVecMultiDataSource::GetAnchor void   )  const [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 310 of file alnvec_multi_ds.cpp.

References m_AlnVec.

const CBioseq_Handle & CAlnVecMultiDataSource::GetBioseqHandle TNumrow  row  )  const [virtual]
 

Definition at line 348 of file alnvec_multi_ds.cpp.

References m_AlnVec.

&CAlnVecMultiDataSource::OnAppJobNotification int CAlnVecMultiDataSource::GetConsensusRow  )  const [virtual]
 

returns index of the Consensus row or -1 if it doesn't exist

Implements IAlnMultiDataSource.

Definition at line 83 of file alnvec_multi_ds.cpp.

CAlnVecMultiDataSource::TNumrow CAlnVecMultiDataSource::GetNumRows void   )  const [virtual]
 

number of rows in alignment

Implements IAlnMultiDataSource.

Definition at line 274 of file alnvec_multi_ds.cpp.

References m_AlnVec.

Referenced by CanGetId().

const IAlignRowHandle * CAlnVecMultiDataSource::GetRowHandle TNumrow  row  )  const [virtual]
 

Definition at line 443 of file alnvec_multi_ds.cpp.

References m_Handles.

Referenced by CreateSegmentIterator().

void CAlnVecMultiDataSource::GetSeqFromAln TNumrow  row,
const TRangeColl aln_coll,
TRangeColl seq_coll
const [virtual]
 

Definition at line 417 of file alnvec_multi_ds.cpp.

References CRangeCollection< Position >::CombineWith(), IAlnExplorer::eLeft, CRangeCollection< Position >::empty(), IAlnExplorer::eRight, ITERATE, m_AlnVec, and swap().

const CSeq_id & CAlnVecMultiDataSource::GetSeqId TNumrow  row  )  const [virtual]
 

Definition at line 342 of file alnvec_multi_ds.cpp.

References m_AlnVec.

virtual TSignedSeqPos CAlnVecMultiDataSource::GetSeqPosFromAlnPos TNumrow  for_row,
TSeqPos  aln_pos,
TSearchDirection  dir = IAlnExplorer::eNone,
bool  try_reverse_dir = true
const [virtual]
 

TSeqPos CAlnVecMultiDataSource::GetSeqStart TNumrow  row  )  const [virtual]
 

Definition at line 292 of file alnvec_multi_ds.cpp.

References m_AlnVec.

TSeqPos CAlnVecMultiDataSource::GetSeqStop TNumrow  row  )  const [virtual]
 

Definition at line 298 of file alnvec_multi_ds.cpp.

References m_AlnVec.

virtual void CAlnVecMultiDataSource::Init const vector< CConstRef< objects::CSeq_align > > &  aligns,
bool  sync = false
[virtual]
 

void CAlnVecMultiDataSource::Init const objects::CBioseq_Handle &  handle,
bool  sync = false
[virtual]
 

Definition at line 102 of file alnvec_multi_ds.cpp.

References CSeqUtils::GetAnnotSelector().

void CAlnVecMultiDataSource::Init const objects::CSeq_annot &  annot,
bool  sync = false
[virtual]
 

Definition at line 89 of file alnvec_multi_ds.cpp.

References ITERATE.

Referenced by CAlnMultiDSBuilder::x_CreateAlnVecDataSource().

virtual bool CAlnVecMultiDataSource::IsDataReadSync  )  const [inline, virtual]
 

Reimplemented from IAlnMultiDataSource.

Definition at line 120 of file alnvec_multi_ds.hpp.

References m_isDataReadSync.

bool CAlnVecMultiDataSource::IsEmpty  )  const [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 152 of file alnvec_multi_ds.cpp.

References CRef< C, Locker >::GetPointer(), and m_AlnVec.

bool CAlnVecMultiDataSource::IsNegativeStrand TNumrow  row  )  const [virtual]
 

Definition at line 359 of file alnvec_multi_ds.cpp.

References m_AlnVec.

bool CAlnVecMultiDataSource::IsPositiveStrand TNumrow  row  )  const [virtual]
 

Definition at line 353 of file alnvec_multi_ds.cpp.

References m_AlnVec.

bool CAlnVecMultiDataSource::IsSetAnchor void   )  const [virtual]
 

Anchoring methods.

Implements IAlnMultiDataSource.

Definition at line 304 of file alnvec_multi_ds.cpp.

References m_AlnVec.

void CAlnVecMultiDataSource::OnAppJobNotification CEvent evt  ) 
 

Definition at line 158 of file alnvec_multi_ds.cpp.

References _ASSERT, IAppJob::eCanceled, CDataChangeNotifier::eChanged, IAppJob::eCompleted, CDataChangeNotifier::eError, IAppJob::eFailed, CDataChangeNotifier::eProgressReport, ERR_POST, error(), IAppJob::eRunning, CAppJobNotification::GetError(), CAppJobNotification::GetJobID(), CRef< C, Locker >::GetPointer(), CAppJobNotification::GetProgress(), CAppJobNotification::GetResult(), CAppJobNotification::GetState(), m_Job, m_JobID, CDataChangeNotifier::NotifyListener(), CRef< C, Locker >::Reset(), and x_Assign().

CAlnVecMultiDataSource& CAlnVecMultiDataSource::operator= const CAlnVecMultiDataSource ds  )  [private]
 

bool CAlnVecMultiDataSource::SetAnchor TNumrow  anchor  )  [virtual]
 

Definition at line 322 of file alnvec_multi_ds.cpp.

References m_AlnVec.

void CAlnVecMultiDataSource::SetGapChar TResidue  gap_char  )  [virtual]
 

Definition at line 250 of file alnvec_multi_ds.cpp.

References m_AlnVec.

Referenced by x_Assign().

bool CAlnVecMultiDataSource::UnsetAnchor void   )  [virtual]
 

Implements IAlnMultiDataSource.

Definition at line 329 of file alnvec_multi_ds.cpp.

References m_AlnVec.

void CAlnVecMultiDataSource::x_Assign objects::CAlnVec &  aln_vec  )  [protected, virtual]
 

Definition at line 205 of file alnvec_multi_ds.cpp.

References m_AlnVec, CRef< C, Locker >::Reset(), SetGapChar(), x_ClearHandles(), and x_CreateHandles().

Referenced by OnAppJobNotification().

void CAlnVecMultiDataSource::x_ClearHandles  )  [protected, virtual]
 

Definition at line 458 of file alnvec_multi_ds.cpp.

References m_Handles, and NON_CONST_ITERATE.

Referenced by CreateConsensus(), x_Assign(), and ~CAlnVecMultiDataSource().

void CAlnVecMultiDataSource::x_CreateHandles  )  [protected, virtual]
 

Definition at line 467 of file alnvec_multi_ds.cpp.

References m_AlnVec, and m_Handles.

Referenced by CreateConsensus(), and x_Assign().

void CAlnVecMultiDataSource::x_DeleteJob  )  [protected, virtual]
 

Definition at line 222 of file alnvec_multi_ds.cpp.

References _ASSERT, CAppJobDispatcher::DeleteJob(), CAppJobDispatcher::GetInstance(), m_Job, m_JobID, and CRef< C, Locker >::Reset().

Referenced by ~CAlnVecMultiDataSource().

bool CAlnVecMultiDataSource::x_IsJobRunning  )  [protected, virtual]
 

Definition at line 216 of file alnvec_multi_ds.cpp.

References CRef< C, Locker >::GetPointer(), and m_Job.

Referenced by x_OnJobProgress(), and ~CAlnVecMultiDataSource().

void CAlnVecMultiDataSource::x_OnJobProgress CAppJobNotification notn  )  [protected, virtual]
 

Definition at line 236 of file alnvec_multi_ds.cpp.

References CDataChangeNotifier::eProgressReport, CAppJobNotification::GetProgress(), CDataChangeNotifier::NotifyListener(), and x_IsJobRunning().


Member Data Documentation

CRef<objects::CAlnVec> CAlnVecMultiDataSource::m_AlnVec [protected]
 

Definition at line 151 of file alnvec_multi_ds.hpp.

Referenced by CreateConsensus(), GetAlignType(), GetAlnFromSeq(), GetAlnSeqString(), GetAlnStart(), GetAlnStop(), GetAnchor(), GetBioseqHandle(), GetNumRows(), GetSeqFromAln(), GetSeqId(), GetSeqStart(), GetSeqStop(), IsEmpty(), IsNegativeStrand(), IsPositiveStrand(), IsSetAnchor(), SetAnchor(), SetGapChar(), UnsetAnchor(), x_Assign(), and x_CreateHandles().

int CAlnVecMultiDataSource::m_ConsRowIndex [protected]
 

Definition at line 152 of file alnvec_multi_ds.hpp.

Referenced by CreateConsensus().

THandleVector CAlnVecMultiDataSource::m_Handles [protected]
 

Definition at line 157 of file alnvec_multi_ds.hpp.

Referenced by GetRowHandle(), x_ClearHandles(), and x_CreateHandles().

bool CAlnVecMultiDataSource::m_isDataReadSync [private]
 

Definition at line 160 of file alnvec_multi_ds.hpp.

Referenced by IsDataReadSync().

CRef<CBuildAlnVecJob> CAlnVecMultiDataSource::m_Job [protected]
 

Definition at line 154 of file alnvec_multi_ds.hpp.

Referenced by OnAppJobNotification(), x_DeleteJob(), and x_IsJobRunning().

int CAlnVecMultiDataSource::m_JobID [protected]
 

Definition at line 155 of file alnvec_multi_ds.hpp.

Referenced by OnAppJobNotification(), and x_DeleteJob().

CRef<objects::CScope> CAlnVecMultiDataSource::m_Scope [protected]
 

Definition at line 150 of file alnvec_multi_ds.hpp.


The documentation for this class was generated from the following files:
Generated on Mon Dec 7 09:57:35 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:22:27 2009 by modify_doxy.py rev. 173732