1 #ifndef OBJECTS_OBJMGR___SEQ_MAP_CI__HPP
2 #define OBJECTS_OBJMGR___SEQ_MAP_CI__HPP
69 TSeqPos GetRefPosition(
void)
const;
70 bool GetRefMinusStrand(
void)
const;
72 const CSeqMap& x_GetSeqMap(
void)
const;
73 size_t x_GetIndex(
void)
const;
79 bool IsSetData(
void)
const;
80 bool x_Move(
bool minusStrand,
CScope* scope);
82 TSeqPos x_GetLevelRealPos(
void)
const;
83 TSeqPos x_GetLevelRealEnd(
void)
const;
84 TSeqPos x_GetLevelPos(
void)
const;
85 TSeqPos x_GetLevelEnd(
void)
const;
86 TSeqPos x_GetSkipBefore(
void)
const;
87 TSeqPos x_GetSkipAfter(
void)
const;
88 TSeqPos x_CalcLength(
void)
const;
89 TSeqPos x_GetTopOffset(
void)
const;
90 int x_GetSequenceClass(
void)
const;
138 m_Position =
range.GetFrom();
139 m_Length =
range.GetLength();
153 m_MaxResolveCount = res_cnt;
159 m_LinkUsedTSE = link;
164 m_LinkUsedTSE =
true;
170 m_LinkUsedTSE =
true;
171 m_UsedTSEs = &used_tses;
199 return m_MaxResolveCount;
203 return GetResolveCount() > 0;
274 bool IsInvalid(
void)
const;
288 bool Next(
bool resolveExternal =
true);
291 TFlags GetFlags(
void)
const;
298 size_t GetDepth(
void)
const;
301 TSeqPos GetPosition(
void)
const;
305 bool IsUnknownLength(
void)
const;
307 TSeqPos GetEndPosition(
void)
const;
310 bool IsSetData(
void)
const;
323 TSeqPos GetRefPosition(
void)
const;
324 TSeqPos GetRefEndPosition(
void)
const;
325 bool GetRefMinusStrand(
void)
const;
331 bool FeaturePolicyWasApplied(
void)
const;
340 const CSeqMap& seqmap,
size_t index,
368 bool x_Next(
bool resolveExternal);
433 bool ref_minus_strand =
false);
443 bool ref_minus_strand =
false);
464 void SetSequence(
const string&
buffer,
504 m_MinusStrand(
false), m_SequenceClass(-1)
750 return !(*
this == seg);
757 return !(*
this > seg);
764 return !(*
this < seg);
bool IsReverse(ENa_strand s)
bool operator!=(const _Ht_iterator< _Val, _Nonconst_traits< _Val >, _Key, _HF, _ExK, _EqK, _All > &__x, const _Ht_iterator< _Val, _Const_traits< _Val >, _Key, _HF, _ExK, _EqK, _All > &__y)
CScope * GetScopeOrNull(void) const
Non-const iterator over CSeqMap (allows to edit the sequence).
bool operator<(const CEquivRange &A, const CEquivRange &B)
bool operator==(const CEquivRange &A, const CEquivRange &B)
SBlastSequence GetSequence(const objects::CSeq_loc &sl, EBlastEncoding encoding, objects::CScope *scope, objects::ENa_strand strand=objects::eNa_strand_plus, ESentinelType sentinel=eSentinels, std::string *warnings=NULL)
Retrieves a sequence using the object manager.
unsigned int TSeqPos
Type for sequence locations and lengths.
int TSignedSeqPos
Type for signed sequence position.
const TSeqPos kInvalidSeqPos
Define special value for invalid sequence position.
CExpression operator>=(CREATED, time_point)
CExpression operator<=(time_point, CREATED)
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
bool IsValid(const CSeq_point &pt, CScope *scope)
Checks that point >= 0 and point < length of Bioseq.
TSeqPos x_GetLevelRealPos(void) const
TSeqPos GetEndPosition(void) const
return end position of current segment in sequence (exclusive)
int x_GetSequenceClass(void) const
bool operator>=(const CSeqMap_CI &seg) const
SSeqMapSelector & SetResolveCount(size_t res_cnt)
Set max depth of resolving seq-map.
SSeqMapSelector & SetLinkUsedTSE(const CTSE_Handle &top_tse)
CSeqMap_CI_SegmentInfo TSegmentInfo
size_t GetResolveCount(void) const
CSeqMap_CI & operator--(void)
const CSeqMap::CSegment & x_GetSegment(void) const
void x_Select(const CConstRef< CSeqMap > &seqMap, const SSeqMapSelector &selector, TSeqPos pos)
bool CanResolve(void) const
bool operator==(const CSeqMap_CI &seg) const
CSeqMap_CI & operator++(void)
bool Next(bool resolveExternal=true)
go to next/next segment, return false if no more segments if no_resolve_current == true,...
SSeqMapSelector & SetLinkUsedTSE(bool link=true)
TSeqPos x_CalcLength(void) const
SSeqMapSelector & SetBySequenceClass(void)
size_t x_GetIndex(void) const
SSeqMapSelector m_Selector
TSeqPos GetRefPosition(void) const
bool operator<=(const CSeqMap_CI &seg) const
SSeqMapSelector & SetPosition(TSeqPos pos)
Find segment containing the position.
const TSegmentInfo & x_GetSegmentInfo(void) const
CScope * GetScope(void) const
bool IsSetData(void) const
SSeqMapSelector & SetFlags(TFlags flags)
Select segment type(s)
CConstRef< CSeqMap > m_SeqMap
TSeqPos x_GetTopOffset(void) const
const CSeqMap & x_GetSeqMap(void) const
const CSeqMap::CSegment & x_GetSegment(void) const
TSeqPos GetRefPosition(void) const
TSeqPos x_GetLevelEnd(void) const
TSeqPos x_GetSkipAfter(void) const
bool x_RefTSEMatch(const CSeqMap::CSegment &seg) const
const CSeqMap & x_GetSeqMap(void) const
CSeqMap_CI_SegmentInfo(void)
bool operator!=(const CSeqMap_CI &seg) const
bool GetRefMinusStrand(void) const
vector< TSegmentInfo > TStack
TSeqPos x_GetSkipBefore(void) const
CSeqMap::ESegmentType GetType(void) const
bool GetRefMinusStrand(void) const
DECLARE_OPERATOR_BOOL(IsValid())
bool x_CanResolve(const CSeqMap::CSegment &seg) const
CBioseq_Handle x_GetBioseq(const CSeq_id &seq_id) const
TSeqPos x_GetLevelPos(void) const
bool IsSetData(void) const
void x_UpdateLength(void)
bool m_FeaturePolicyWasApplied
SSeqMapSelector & SetRange(TSeqPos start, TSeqPos length)
Set range for iterator.
CSeqMap::ESegmentType GetType(void) const
SSeqMapSelector::TFlags TFlags
bool operator<(const CSeqMap_CI &seg) const
size_t x_GetIndex(void) const
bool FeaturePolicyWasApplied(void) const
SSeqMapSelector & SetLinkUsedTSE(vector< CTSE_Handle > &used_tses)
TSeqPos GetRefEndPosition(void) const
SSeqMapSelector & SetRange(const TRange &range)
Set range for iterator - CRange<> version.
TFlags GetFlags(void) const
vector< CTSE_Handle > * m_UsedTSEs
bool x_Push(TSeqPos offset, bool resolveExternal)
SSeqMapSelector & SetStrand(ENa_strand strand)
Set strand to iterate over.
bool IsInvalid(void) const
TSeqPos x_GetLevelRealEnd(void) const
TSeqPos GetPosition(void) const
return position of current segment in sequence
const CSeqMap::CSegment & x_GetNextSegment(void) const
bool operator>(const CSeqMap_CI &seg) const
SSeqMapSelector & SetByFeaturePolicy(void)
TSeqPos GetLength(void) const
return length of current segment
bool x_HasLimitTSE(void) const
size_t GetDepth(void) const
return the depth of current segment
const CTSE_Handle & GetUsingTSE(void) const
void x_Resolve(TSeqPos pos)
atomic< TSeqPos > m_Position
const CSegment & x_GetSegment(size_t index) const
bool IsSetData(void) const
atomic< TSeqPos > m_Length
int8_t Int1
1-byte (8-bit) signed integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
#define NCBI_XOBJMGR_EXPORT
ENa_strand
strand of nucleic acid
bool InRange(TModelUnit z, TModelUnit z1, TModelUnit z2)
range(_Ty, _Ty) -> range< _Ty >
S & operator--(CNetRef< S > &r, int)
static pcre_uint8 * buffer
Selector used in CSeqMap methods returning iterators.
bool operator>(const typename tree< T, tree_node_allocator >::iterator_base &one, const typename tree< T, tree_node_allocator >::iterator_base &two)