1 #ifndef ANNOT_COLLECTOR__HPP
2 #define ANNOT_COLLECTOR__HPP
82 fMapped_Partial = 1<<0,
83 fMapped_Product = 1<<1,
84 fMapped_Seq_point = 1<<2,
85 fMapped_Partial_from = 1<<3,
86 fMapped_Partial_to = 1<<4,
98 eMappedObjType_IdRangeMap
106 Int1 GetMappedFlags(
void)
const;
107 bool IsMapped(
void)
const;
108 bool IsPartial(
void)
const;
109 bool IsProduct(
void)
const;
110 EMappedObjectType GetMappedObjectType(
void)
const;
113 void SetProduct(
bool product);
115 bool IsMappedLocation(
void)
const;
116 bool IsMappedProduct(
void)
const;
117 bool IsMappedPoint(
void)
const;
123 const TRange& GetTotalRange(
void)
const;
126 const CSeq_id* GetLocationId(
void)
const;
127 const CSeq_id* GetProductId(
void)
const;
132 bool IsFromOtherTSE(
void)
const;
133 void SetFromOtherTSE(
bool from_other_tse =
true);
135 const CSeq_loc& GetMappedSeq_loc(
void)
const;
136 const CSeq_id& GetMappedSeq_id(
void)
const;
138 const CSeq_feat& GetMappedSeq_feat(
void)
const;
141 void SetMappedSeq_loc(
CSeq_loc& loc);
142 void SetMappedSeq_loc(
CSeq_loc* loc);
143 void SetMappedSeq_id(
CSeq_id&
id);
144 void SetMappedPoint(
bool point);
145 void SetMappedPartial_from(
void);
146 void SetMappedPartial_to(
void);
147 void SetMappedSeq_id(
CSeq_id&
id,
bool point);
156 bool MappedSeq_locNeedsUpdate(
void)
const;
166 void SetAnnotObjectRange(
const TRange&
range,
bool product);
189 fAnnot_NoAnnotInfo = 1<<0,
190 fAnnot_SNPTable = 1<<1,
191 fAnnot_SeqTable = 1<<2,
194 eAnnot_SNPTable = fAnnot_NoAnnotInfo | fAnnot_SNPTable,
195 eAnnot_SeqTable = fAnnot_SeqTable,
196 eAnnot_SortedSeqTable = fAnnot_NoAnnotInfo | fAnnot_SeqTable,
211 bool HasAnnotObject_Info(
void)
const;
213 bool IsPlainFeat(
void)
const;
217 bool IsSNPTableFeat(
void)
const;
220 bool IsAnySeqTableFeat(
void)
const;
223 bool IsSortedSeqTableFeat(
void)
const;
234 TAnnotIndex GetAnnotIndex(
void)
const;
237 const SSNP_Info& GetSNP_Info(
void)
const;
239 bool IsFeat(
void)
const;
240 bool IsGraph(
void)
const;
241 bool IsAlign(
void)
const;
248 bool IsFromOtherTSE(
void)
const;
249 void SetFromOtherTSE(
bool from_other_tse =
true);
251 void ResetLocation(
void);
324 const TAnnotSet& GetAnnotSet(
void)
const;
338 void x_GetTSE_Info(
void);
407 bool top_level =
false);
410 bool top_level =
false)
const;
422 bool check_adaptive);
431 bool check_adaptive);
456 void x_SearchAll(
void);
465 unsigned int loc_index);
469 unsigned int loc_index);
481 bool x_NoMoreObjects(
void)
const;
483 bool x_FoundAllNamedAnnotAccessions(unique_ptr<SAnnotSelector>& local_sel);
485 void x_AddPostMappings(
void);
502 Uint8 x_GetCostOfLoadingInBytes(
void)
const;
503 double x_GetCostOfLoadingInSeconds(
void)
const;
505 void x_StopSearchLimits(
void);
508 return m_SearchSegments == 0;
556 m_MappedObjectType(eMappedObjType_not_set),
566 : m_MappedFlags(mapped_flags),
567 m_MappedObjectType(mapped_type),
568 m_MappedStrand(mapped_strand)
686 return static_cast<const CSeq_loc&
>(*m_MappedObject);
694 return static_cast<const CSeq_id&
>(*m_MappedObject);
702 return static_cast<const CSeq_feat&
>(*m_MappedObject);
817 if ( from_other_tse ) {
853 : m_AnnotIndex(0), m_AnnotType(eAnnot_Regular)
953 return !(*
this == ref);
1020 void swap(NCBI_NS_NCBI::objects::CAnnotMapping_Info& info1,
1021 NCBI_NS_NCBI::objects::CAnnotMapping_Info& info2)
1028 void swap(NCBI_NS_NCBI::objects::CAnnotObject_Ref& ref1,
1029 NCBI_NS_NCBI::objects::CAnnotObject_Ref& ref2)
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)
BEGIN_STD_SCOPE void swap(NCBI_NS_NCBI::objects::CAnnotMapping_Info &info1, NCBI_NS_NCBI::objects::CAnnotMapping_Info &info2)
void SetFromOtherTSE(bool from_other_tse=true)
bool MappedSeq_locNeedsUpdate(void) const
CRef< CObject > m_MappedObject
void SetMappedPartial_to(void)
void SetMappedSeq_id(CSeq_id &id)
void SetTotalRange(const TRange &range)
void SetProduct(bool product)
void SetMappedPartial_from(void)
const TRange & GetTotalRange(void) const
bool IsMappedLocation(void) const
TSeqPos GetFrom(void) const
bool IsMapped(void) const
EMappedObjectType GetMappedObjectType(void) const
bool IsProduct(void) const
ENa_strand GetMappedStrand(void) const
void Swap(CAnnotMapping_Info &info)
void SetMappedSeq_loc(CSeq_loc &loc)
const CSeq_feat & GetMappedSeq_feat(void) const
TSeqPos GetToOpen(void) const
bool IsMappedProduct(void) const
bool IsMappedPoint(void) const
@ eMappedObjType_IdRangeMap
@ eMappedObjType_Seq_align
@ eMappedObjType_Seq_loc_Conv
@ eMappedObjType_Seq_feat
@ eMappedObjType_Seq_loc_Conv_Set
void SetMappedStrand(ENa_strand strand)
void SetMappedPoint(bool point)
bool IsPartial(void) const
void SetPartial(bool value)
CRef< CGraphRanges > m_GraphRanges
const CSeq_id & GetMappedSeq_id(void) const
void SetAnnotObjectRange(const TRange &range, bool product)
Int1 GetMappedFlags(void) const
const CSeq_loc & GetMappedSeq_loc(void) const
bool IsFromOtherTSE(void) const
bool IsSortedSeqTableFeat(void) const
bool operator==(const CAnnotObject_Ref &ref) const
bool IsAnySeqTableFeat(void) const
bool operator<(const CAnnotObject_Ref &ref) const
bool operator!=(const CAnnotObject_Ref &ref) const
const CSeq_annot_Info & GetSeq_annot_Info(void) const
bool IsSNPTableFeat(void) const
void Swap(CAnnotObject_Ref &ref)
const CSeq_annot_Handle & GetSeq_annot_Handle(void) const
bool IsFromOtherTSE(void) const
CAnnotMapping_Info m_MappingInfo
void SetFromOtherTSE(bool from_other_tse=true)
TAnnotIndex GetAnnotIndex(void) const
CSeq_annot_Handle m_Seq_annot
bool IsPlainFeat(void) const
bool IsTableFeat(void) const
bool IsSNPFeat(void) const
bool HasAnnotObject_Info(void) const
CAnnotMapping_Info & GetMappingInfo(void) const
TMaxSearchSegments m_SearchSegments
unique_ptr< TAnnotLocsSet > m_AnnotLocsSet
bool x_NeedSNPs(void) const
TTSE_LockMap m_TSE_LockMap
vector< SAnnotTypeSelector > TAnnotTypes
unique_ptr< CAnnotMappingCollector > m_MappingCollector
vector< CSeq_annot_Handle > TAnnotLocks
bool x_MaxSearchSegmentsLimitIsReached(void) const
SAnnotSelector::TAnnotTypesBitset TAnnotTypesBitset
set< CAnnotName > TAnnotNames
TAnnotTypesBitset m_CollectAnnotTypes
CAnnot_Collector(const CAnnot_Collector &)
SAnnotSelector::EMaxSearchSegmentsAction m_SearchSegmentsAction
vector< CAnnotObject_Ref > TAnnotSet
set< CConstRef< CSeq_loc > > TAnnotLocsSet
TAnnotTypesBitset m_TriggerTypes
CScope & GetScope(void) const
TAnnotTypes m_AnnotTypes2
TAnnotTypesBitset m_UnseenAnnotTypes
CRef< CCreatedFeat_Ref > m_CreatedMapped
const TAnnotSet & GetAnnotSet(void) const
SAnnotSelector::TMaxSize TMaxSize
map< const CTSE_Info *, CTSE_Handle > TTSE_LockMap
SAnnotSelector::TAnnotType TAnnotType
SAnnotSelector::TMaxSearchSegments TMaxSearchSegments
TAnnotTypesBitset m_AnnotTypes
const SAnnotSelector * m_Selector
const SAnnotSelector & GetSelector(void) const
unique_ptr< TAnnotNames > m_AnnotNames
CRef< CCreatedFeat_Ref > m_CreatedOriginal
CConstRef< CSeq_feat > GetOriginalFeature(const CSeq_feat_Handle &feat_h)
CRef< CSeq_loc > m_CreatedSeq_loc
CRef< CSeq_loc > GetMappedLocation(const CAnnotMapping_Info &map, const CSeq_feat &orig_feat)
CRef< CSeq_point > m_CreatedSeq_point
CRef< CSeq_interval > m_CreatedSeq_interval
void ReleaseRefsTo(CRef< CSeq_feat > *feat, CRef< CSeq_loc > *loc, CRef< CSeq_point > *point, CRef< CSeq_interval > *interval)
CRef< CSeq_feat > m_CreatedSeq_feat
void ResetRefsFrom(CRef< CSeq_feat > *feat, CRef< CSeq_loc > *loc, CRef< CSeq_point > *point, CRef< CSeq_interval > *interval)
CConstRef< CSeq_feat > GetMappedFeature(const CAnnotMapping_Info &map, const CSeq_feat &orig_feat)
Helper class for mapping graphs.
CScope & GetScope(void) const
namespace ncbi::objects::
bool operator<(const CEquivRange &A, const CEquivRange &B)
bool operator==(const CEquivRange &A, const CEquivRange &B)
unsigned int TSeqPos
Type for sequence locations and lengths.
void Swap(CSeq_annot_Handle &annot)
bool OrderedBefore(const CSeq_annot_Handle &annot) const
More stable comparison - takes loading order in account.
const CSeq_annot_Info & x_GetInfo(void) const
bitset< CSeqFeatData::eSubtype_max+3 > TAnnotTypesBitset
unsigned TMaxSearchSegments
void Reset(void)
Reset reference object.
void Swap(TThisType &ref)
Swaps the pointer with another reference.
uint8_t Uint1
1-byte (8-bit) unsigned integer
int32_t Int4
4-byte (32-bit) signed integer
uint64_t Uint8
8-byte (64-bit) unsigned integer
int8_t Int1
1-byte (8-bit) signed integer
position_type GetToOpen(void) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_STD_SCOPE
Place it for adding new funtionality to STD scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define END_STD_SCOPE
End previously defined STD scope.
#define BEGIN_SCOPE(ns)
Define a new scope.
#define NCBI_XOBJMGR_EXPORT
TFrom GetFrom(void) const
Get the From member data.
const TLocation & GetLocation(void) const
Get the Location member data.
const TProduct & GetProduct(void) const
Get the Product member data.
ENa_strand
strand of nucleic acid
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is orig
range(_Ty, _Ty) -> range< _Ty >
void Swap(T &a, T &b) RAPIDJSON_NOEXCEPT
Custom swap() to avoid dependency on C++ <algorithm> header.
const GenericPointer< typename T::ValueType > T2 value
Multi-threading – mutexes; rw-locks; semaphore.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
void SetPartial(CSeq_loc &loc, CRef< CSeq_feat > feat, CSeq_loc::TStrand strand, bool partial_start, bool partial_stop)
CSeq_annot::C_Data::E_Choice TAnnotType