: m_AlignedSeq(
NULL),
50m_BioseqHandle(
NULL)
58 deletem_BioseqHandle;
75vector<SAlignedSeq*>& aln_seqs,
76objects::CScope& scope)
80 if( ! aln_seqs.empty()) {
84 size_taln_n = aln_seqs.size();
85 m_Rows.reserve(aln_n + 1);
86 for(
size_t i= 0;
i< aln_n;
i++ ) {
94 if(
m_Rows.size() == 1) {
154 return*(
m_Rows[
row]->m_AlignedSeq->m_AlignColl);
173 return m_Rows[
row]->m_AlignedSeq->m_SeqId.GetObject();
196 return m_Rows[
row]->m_AlignedSeq->m_AlignColl->GetFirstRange();
203 return m_Rows[
row]->m_AlignedSeq->m_SecondRange.GetFrom();
210 return m_Rows[
row]->m_AlignedSeq->m_SecondRange.GetTo();
225 return!
m_Rows[
row]->m_AlignedSeq->m_NegativeStrand;
232 return m_Rows[
row]->m_AlignedSeq->m_NegativeStrand;
250 returnT::eBackwards;
259 booltry_reverse_dir)
const 271 booltry_reverse_dir)
const 287 if(seq_to >= seq_from) {
296 size_t size= seq_to - seq_from + 1;
303seq_vector.
GetSeqData(vec_size - seq_to - 1, vec_size - seq_from,
buffer);
354seq_vector.
GetSeqData(
r.GetFrom(),
r.GetTo() + 1, s);
357vec_size -
r.GetFrom(), s);
365 if(prev_to_open != string::npos) {
366 intgap_size = (
int)(off - prev_to_open);
373prev_to_open = off +
len;
376 intfill_len = (
int)(
size- prev_to_open);
377 if(prev_to_open != string::npos && fill_len > 0 && coll.
GetFirstTo() > aln_range.
GetTo()) {
User-defined methods of the data storage class.
position_type GetFirstTo() const
TSignedSeqPos GetFirstPosBySecondPos(position_type pos, ESearchDirection dir=eNone) const
CRange< position_type > GetFirstRange() const
position_type GetFirstFrom() const
const_iterator insert(const TAlignRange &r)
TSignedSeqPos GetSecondPosByFirstPos(position_type pos, ESearchDirection dir=eNone) const
ESearchDirection
adding empty ranges is considered valid, they are simply ignored
CAlignRange Represents an element of pairwise alignment of two sequences.
TARange GetAlnRange() const
returns number of rows in the alignment
CConstRef< objects::CSeq_id > m_MasterId
void x_AssertRowValid(TNumrow row) const
TNumrow GetAnchor() const
TSignedSeqPos GetSeqAlnStop(TNumrow row) const
CRef< objects::CScope > GetScope()
bool IsNegativeStrand(TNumrow row) const
TSignedSeqPos GetSeqAlnStart(TNumrow row) const
TSignedSeqPos GetSeqPosFromAlnPos(TNumrow for_row, TSeqPos aln_pos, IAlnExplorer::ESearchDirection dir=IAlnExplorer::eNone, bool try_reverse_dir=true) const
vector< SRowRec * > TRows
TSeqPos GetSeqStop(TNumrow row) const
CRef< objects::CScope > m_Scope
bool IsPositiveStrand(TNumrow row) const
TSignedSeqPos GetAlnPosFromSeqPos(TNumrow row, TSeqPos seq_pos, IAlnExplorer::ESearchDirection dir=IAlnExplorer::eNone, bool try_reverse_dir=true) const
TSeqPos GetSeqStart(TNumrow row) const
const TAlignColl & GetAlignCollection(TNumrow row)
CSparseAlignment()
CSparseAlignment.
string & GetAlnSeqString(TNumrow row, string &buffer, const TSignedRange &aln_rng) const
SAlignTools::TAlignColl TAlignColl
IAlnExplorer::TNumrow TNumrow
const objects::CBioseq_Handle & GetBioseqHandle(TNumrow row) const
IAlnExplorer::TRange GetSeqRange(TNumrow row) const
virtual IAlnSegmentIterator * CreateSegmentIterator(TNumrow row, const IAlnExplorer::TSignedRange &range, IAlnSegmentIterator::EFlags flags) const
TResidue m_GapChar
the extent of all segments in alignment coords
void SetGapChar(TResidue gap_char)
const objects::CSeq_id & GetSeqId(TNumrow row) const
void Init(const objects::CSeq_id &master_id, vector< SAlignedSeq * > &aln_seqs, objects::CScope &scope)
string & GetSeqString(TNumrow row, string &buffer, TSeqPos seq_from, TSeqPos seq_to) const
TSignedRange GetSeqAlnRange(TNumrow row) const
IAlnExplorer::TResidue TResidue
TNumrow GetNumRows() const
virtual ~CSparseAlignment()
CSparseIterator - IAlnSegmentIterator implementation for CAlnMap::CAlnChunkVec.
ESearchDirection
Position search options.
@ eRight
Towards higher aln coord (always to the right)
@ eLeft
Towards lower aln coord (always to the left)
@ eBackwards
Towards lower seq coord (to the left if plus strand, right if minus)
@ eForward
Towards higher seq coord (to the right if plus strand, left if minus)
Alignment segment iterator interface.
@ eSkipGaps
Skip gap segments (show only aligned ranges)
virtual const TSignedRange & GetRange(void) const =0
Get the selected row range.
virtual const TSignedRange & GetAlnRange(void) const =0
Get alignment range for the segment.
unsigned int TSeqPos
Type for sequence locations and lengths.
int TSignedSeqPos
Type for signed sequence position.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
CSeqVector GetSeqVector(EVectorCoding coding, ENa_strand strand=eNa_strand_plus) const
Get sequence: Iupacna or Iupacaa if use_iupac_coding is true.
@ eStrand_Plus
Plus strand.
@ eStrand_Minus
Minus strand.
@ eCoding_Iupac
Set coding to printable coding (Iupacna or Iupacaa)
void GetSeqData(TSeqPos start, TSeqPos stop, string &buffer) const
Fill the buffer string with the sequence data for the interval [start, stop).
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
position_type GetLength(void) const
TThisType & CombineWith(const TThisType &r)
TThisType & Set(position_type from, position_type to)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
void SetFrom(TFrom value)
Assign a value to From data member.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
unsigned int
A callback function used to compare two keys in a database.
const struct ncbi::grid::netcache::search::fields::SIZE size
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
CSparseAlignment::TAlignColl::ESearchDirection GetCollectionSearchDirection(IAlnExplorer::ESearchDirection dir)
USING_SCOPE(ncbi::objects)
#define row(bind, expected)
describes a sequence in the alignment
SAlignedSeq * m_AlignedSeq
SRowRec()
CSparseAlignment::SRowRec.
objects::CBioseq_Handle * m_BioseqHandle
This is a building block for a Builder represents a Sequence aligned to an Anchor (pairwise alignment...
TSignedRange m_SecondRange
CConstRef< objects::CSeq_id > m_SeqId
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