m_It != m_Aln->end() &&
185m_GapIt != m_Aln->end() &&
186m_GapIt->GetFirstFrom() < m_Range.GetToOpen() &&
187m_It->GetFirstToOpen() > m_Range.GetFrom();
201 returnm_It == m_GapIt ? eAligned :
eGap;
222 returnm_It->IsDirect();
241m_Direct(force_direct),
245x_Init(force_direct);
251 voidx_Init(
boolforce_direct =
false);
277: m_AnchorRow(kInvalidAnchorRow),
286m_AnchorRow(c.m_AnchorRow),
301m_PairwiseAlns.resize(c.
GetDim());
305m_PairwiseAlns[
row].Reset(pairwise_aln);
313 return(
TDim)m_PairwiseAlns.size();
319 returnGetPairwiseAlns()[
row]->GetSecondId();
325 returnm_PairwiseAlns;
331 _ASSERT(m_AnchorRow != kInvalidAnchorRow);
332 _ASSERT(m_AnchorRow < GetDim());
339 return GetId(m_AnchorRow);
353 _ASSERT(m_AnchorRow == kInvalidAnchorRow);
354m_PairwiseAlns.resize(dim);
360 returnm_PairwiseAlns;
369m_AnchorRow = anchor_row;
386 boolSplitStrands(
void);
389 static const TDimkInvalidAnchorRow = -1;
407 returnc_1->GetScore() > c_2->GetScore();
class CAlignRangeCollectionList<TAlignRange> represent a sorted collection of TAlignRange.
@ fDefaultPolicy
do not store insertions
void x_MultiplyCoordsBy3()
class CAlignRangeCollection<TAlignRange> represent a sorted collection of TAlignRange.
void Assign(const CAlignRangeCollectionList< TAlignRange > &src)
CAlignRange Represents an element of pairwise alignment of two sequences.
Query-anchored alignment can be 2 or multi-dimentional.
const TPairwiseAlnVector & GetPairwiseAlns(void) const
The vector of pairwise alns.
int & SetScore(void)
Non-const access to the total score.
vector< CRef< CPairwiseAln > > TPairwiseAlnVector
CAnchoredAln(void)
Default constructor.
const TAlnSeqIdIRef & GetId(TDim row) const
Seq ids of the rows.
TPairwiseAlnVector m_PairwiseAlns
TDim GetDim(void) const
How many rows.
void SetAnchorRow(TDim anchor_row)
Modify anchor row (never do this unless you are creating a new alignment and know what you're doing).
TPairwiseAlnVector & SetPairwiseAlns(void)
Modify pairwise alns.
void SetScore(int score)
Set the total score.
TDim GetAnchorRow(void) const
Which is the anchor row?
CAnchoredAln & operator=(const CAnchoredAln &c)
NB: Assignment operator is deep on pairwise_alns so that pairwise_alns can be modified.
int GetScore(void) const
What is the total score?
CAnchoredAln(const CAnchoredAln &c)
NB: Copy constructor is deep on pairwise_alns so that pairwise_alns can be modified.
const TAlnSeqIdIRef & GetAnchorId(void) const
What is the seq id of the anchor?
void SetDim(TDim dim)
Modify the number of rows.
A pairwise aln is a collection of ranges for a pair of rows.
CAlignRangeCollectionList< TAlnRng > TAlnRngColl
CAlignRange< TPos > TAlnRng
int GetSecondBaseWidth(void) const
Base width of the second row.
void ForceGenomicCoords(void)
If both sequences are proteins, convert coordinates to genomic anyway.
const TAlnSeqIdIRef & GetFirstId(void) const
Get first sequence id.
CPairwiseAln(const TAlnSeqIdIRef &first_id, const TAlnSeqIdIRef &second_id, int flags=fDefaultPolicy)
Constructor - creates an empty pairwise alignment.
int GetFirstBaseWidth(void) const
Base width of the first row.
void SetUsingGenomic(void)
Tell the pairwise alignment that the coordinates are already tranlated to genomic.
const TAlnSeqIdIRef & GetSecondId(void) const
Get second sequence id.
CPairwiseAln iterator. Iterates over aligned ranges and gaps.
bool IsDirect(void) const
Direction of the second sequence relative to the first one.
CPairwiseAln::const_iterator TIterator
@ eAligned
Aligned range.
bool IsFirstDirect(void) const
Absolute direction of the first sequence.
ESegType GetSegType(void) const
Get current segment type.
pair< TIterator, bool > TCheckedIterator
const TSignedRange & GetSecondRange(void) const
Current range on the second sequence. May be empty when in a gap.
CPairwise_CI(const CPairwiseAln &pairwise)
Iterate the whole pairwise alignment.
const TSignedRange & GetFirstRange(void) const
Current range on the first sequence.
CPairwiseAln::TAlnRng TAlnRange
CRange< TSignedSeqPos > TSignedRange
CConstRef< CPairwiseAln > m_Aln
CPairwise_CI(const CPairwiseAln &pairwise, const TSignedRange &range, bool force_direct)
CPairwise_CI(const CPairwiseAln &pairwise, const TSignedRange &range)
Iterate the selected range on the first sequence.
Implementation of IAlnSegmentIterator for CSparseAln.
void x_InitSegment(void)
CSparse_CI.
CConstRef< CAnchoredAln > m_Aln
Include a standard set of the NCBI C++ Toolkit most basic headers.
int TSignedSeqPos
Type for signed sequence position.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_XALNMGR_EXPORT
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
vector< CRef< CAnchoredAln > > TAnchoredAlnVec
Collection of anchored alignments.
#define row(bind, expected)
Compare alignments by score.
bool operator()(const C *const c_1, const C *const c_2) const
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4