m_MappedObject.Reset();
102m_MappedObjectType = eMappedObjType_not_set;
167vector<CHandleRangeMap> hrmaps;
171 ITERATE( vector<CHandleRangeMap>, rowit, hrmaps ) {
173 if( dst_ids.
find(idit->first) != dst_ids.
end() ) {
174range.
CombineWith(idit->second.GetOverlappingRange());
228interval.
SetId(
id);
445 info.GetFeatFast()->GetProduct() :
info.GetFeatFast()->GetLocation();
454 TRangerg = it.GetRange();
455 SExtremes& ext = (*m_Map)[it.GetSeq_id_Handle()];
456 if( !ext.
Empty() ) {
478 return static_cast<const CIdRangeMap&
>(*m_MappedObject);
489: m_Seq_annot(annot_handle),
490m_AnnotIndex(object.GetAnnotIndex()),
491m_AnnotType(eAnnot_Regular)
493 if(
object.
IsFeat() ) {
494 if(
object.IsRegular() ) {
495 const CSeq_feat& feat = *
object.GetFeatFast();
505 if(
object.HasSingleKey() ) {
509 size_tbeg =
object.GetKeysBegin();
510 size_tend =
object.GetKeysEnd();
524: m_Seq_annot(annot_handle),
525m_AnnotIndex(
TAnnotIndex(snp_annot.GetIndex(snp))),
526m_AnnotType(eAnnot_SNPTable)
547 if( src_from == src_to ) {
562: m_Seq_annot(annot_handle),
564m_AnnotType(eAnnot_SortedSeqTable)
600 if(
object.
IsFeat() ) {
601 const CSeq_feat& feat = *
object.GetFeatFast();
805 if( !
map.IsMapped() ) {
808 if(
map.GetMappedObjectType() ==
map.eMappedObjType_Seq_feat ) {
810 return map.GetMappedSeq_feat();
815 map.SetMappedSeq_feat(*mapped_feat);
816 return map.GetMappedSeq_feat();
833 static const char*
constvariation_key =
"variation";
835 returnvariation_key;
845 if(
map.IsMappedLocation() ) {
847 if(
map.GetMappedObjectType() ==
map.eMappedObjType_Seq_feat ) {
851 else if(
map.GetMappedObjectType() ==
map.eMappedObjType_Seq_loc ) {
853 return map.GetMappedSeq_loc().GetStrand();
857 return map.GetMappedStrand();
864 return map.GetMappedStrand();
886 if(
map.IsMappedLocation() ) {
888 if(
map.GetMappedObjectType() ==
map.eMappedObjType_Seq_loc ) {
893 else if(
map.GetMappedObjectType() ==
map.eMappedObjType_Seq_id ) {
953 label+= (**it).GetQual();
954 if(!(**it).GetVal().empty()) {
956 label+= (**it).GetVal();
963 if( !
label.empty()) {
1001 if( x_annot_type != y_annot_type ) {
1002 returnx_annot_type < y_annot_type;
1021x_feat_type =
type.GetFeatType();
1022x_feat_subtype =
type.GetFeatSubtype();
1038y_feat_type =
type.GetFeatType();
1039y_feat_subtype =
type.GetFeatSubtype();
1043 if( x_feat_subtype != y_feat_subtype ) {
1044 intx_order =
GetTypeOrder(x_feat_type, x_feat_subtype);
1045 inty_order =
GetTypeOrder(y_feat_type, y_feat_subtype);
1046 if( x_order != y_order ) {
1047 returnx_order < y_order;
1059 if( x_minus != y_minus ) {
1070 if( x_complex != y_complex ) {
1072 returnx_minus ^ y_complex;
1088 if( x_feat_subtype != y_feat_subtype ) {
1089 returnx_feat_subtype < y_feat_subtype;
1092 _ASSERT(x_feat_type == y_feat_type);
1098 if( x_frame != y_frame ) {
1099 returnx_frame < y_frame;
1104 const char* x_key = x_create.
GetImpKey();
1105 const char* y_key = y_create.
GetImpKey();
1108 if( x_key != y_key ) {
1134 if( x_has_product != y_has_product ) {
1135 return!x_has_product;
1137 if( x_has_product ) {
1155 if( x_has_label != y_has_label ) {
1156 return!x_has_label;
1158 if( x_has_label ) {
1204 boolall_minus =
true;
1205 boolall_non_minus =
true;
1216 for( ; loc_ci; ++loc_ci ) {
1220 if( ! first_piece ) {
1221first_piece = loc_ci;
1223last_piece = loc_ci;
1229all_non_minus =
false;
1238lowest = piece_start;
1240lowest =
min( lowest, piece_start );
1244highest = piece_stop;
1246highest =
max( highest, piece_stop );
1251 if( ! all_minus && ! all_non_minus ) {
1252is_circular =
false;
1262 if( first_piece ) {
1273 if( first_piece ) {
1312 boolx_circular = x_from >= x_to;
1313 booly_circular = y_from >= y_to;
1314 if( x_circular != y_circular ) {
1315 returnx_circular ? -1 : 1;
1318 if( x_from != y_from ) {
1319 returnx_from < y_from ? -1 : 1;
1322 if( x_to != y_to ) {
1323 returnx_to > y_to ? -1 : 1;
1345 for(; x_it != x_idmap.
end() && y_it != y_idmap.
end(); ++x_it, ++y_it) {
1346 if(x_it->first != y_it->first)
returnx_it->first < y_it->first;
1347 int cmp=
CompareRanges(x_it->second.from, x_it->second.to, y_it->second.from, y_it->second.to);
1348 if(
cmp!= 0)
return cmp< 0;
1350 if(y_it != y_idmap.
end())
return true;
1351 if(x_it != x_idmap.
end())
return false;
1370 boolx_circular = x_from >= x_to;
1371 booly_circular = y_from >= y_to;
1372 if( x_circular != y_circular ) {
1376 if( x_from != y_from ) {
1377 returnx_from < y_from;
1380 if( x_to != y_to ) {
1416 for(; x_it != x_idmap.
end() && y_it != y_idmap.
end(); ++x_it, ++y_it) {
1417 if(x_it->first != y_it->first)
returny_it->first < x_it->first;
1419x_it->second.from, x_it->second.to, y_it->second.from, y_it->second.to);
1420 if(
cmp!= 0)
return cmp> 0;
1422 if(x_it != x_idmap.
end())
return true;
1423 if(y_it != y_idmap.
end())
return false;
1437 boolx_circular = x_from >= x_to;
1438 booly_circular = y_from >= y_to;
1439 if( x_circular != y_circular ) {
1443 if( x_to != y_to ) {
1447 if( x_from != y_from ) {
1448 returnx_from < y_from;
1535 ReleaseRefsTo(&orig_feat, 0, &created_point, &created_interval);
1541 ResetRefsFrom(&orig_feat, 0, &created_point, &created_interval);
1574 if(
map.MappedSeq_locNeedsUpdate() ) {
1580 if( mapped_feat ) {
1582mapped_feat.
Reset();
1598 ReleaseRefsTo(0, &mapped_loc, &created_point, &created_interval);
1599 map.UpdateMappedSeq_loc(mapped_loc,
1604 ResetRefsFrom(0, &mapped_loc, &created_point, &created_interval);
1606 else if(
map.IsMapped() ) {
1607ret =
const_cast<CSeq_loc*
>(&
map.GetMappedSeq_loc());
1617 if( !
map.IsMapped() ) {
1620 else if( !
map.MappedSeq_locNeedsUpdate() ) {
1621 return Ref(
const_cast<CSeq_loc*
>(&
map.GetMappedSeq_loc()));
1633 if(
map.GetMappedObjectType() ==
map.eMappedObjType_Seq_feat) {
1647 if(
map.GetMappedObjectType() ==
map.eMappedObjType_Seq_feat) {
1648ret = &
map.GetMappedSeq_feat();
1650 else if( !
map.IsMapped() ) {
1662 map.InitializeMappedSeq_feat(orig_feat, *mapped_feat);
1667 if( !
map.IsMappedLocation() ) {
1670 if( !
map.IsMappedProduct() ) {
1679 if(
map.IsMappedLocation() ) {
1682 else if(
map.IsMappedProduct() ) {
1686 if(
map.IsPartial() ) {
1720m_FromOtherTSE(
false)
1745 return size>= limit;
1779 const size_t count=
1782 for(
int i=
count- 1;
i>= 0; --
i) {
1793pair<size_t, size_t> idxs =
1795 for(
size_t i= idxs.first;
i< idxs.second; ++
i) {
1804pair<size_t, size_t> range =
1806 for(
size_tindex = range.first; index < range.second; ++index ) {
1820 if( max_time <= 86400 ) {
1842 if( !
n.IsNamed() ) {
1849found_accs.
insert(acc);
1852 if( !found_accs.
empty() ) {
1857 for(
auto& acc : found_accs ) {
1874 "Bioseq handle is null");
1881master_range.
AddRange(range, strand);
1885 boolexact_depth = selector.
GetExactDepth() && depth_is_set;
1894 booldeeper =
true;
1895 if( adaptive_flags || !exact_depth ||
depth== 0 ) {
1900deeper =
depth> 0 &&
1903 if( deeper && by_policy ) {
1907 boolonly_named_annot_accs =
false;
1908unique_ptr<SAnnotSelector> local_sel;
1909 if( deeper && adaptive_flags ) {
1928 for(
intlevel = 1; level <=
depth&& deeper; ++level ) {
1931 if( adaptive_flags || !exact_depth ||
depth== level ) {
1933*master_loc_empty, level);
1939deeper =
depth> level;
1941 if( deeper && adaptive_flags ) {
1955 LOG_POST(
"Need full conversion set for "<<
1962 for(
intlevel = 1; level <= last_depth; ++level ) {
1964 if( adaptive_flags || !exact_depth ||
depth== level ) {
1966*master_loc_empty, level, cvt_set);
1983 boolexact_depth = selector.
GetExactDepth() && depth_is_set;
1990 booldeeper =
true;
1991 if( adaptive_flags || !exact_depth ||
depth== 0 ) {
1996deeper =
depth> 0 &&
1999 if( deeper && adaptive_flags ) {
2006 for(
intlevel = 1; level <=
depth&& deeper; ++level ) {
2009 if( adaptive_flags || !exact_depth ||
depth== level ) {
2016deeper =
depth> level;
2018 if( deeper && adaptive_flags ) {
2029 LOG_POST(
"Need full conversion set for "<<
2033 for(
intlevel = 1; level <= last_depth; ++level ) {
2035 if( adaptive_flags || !exact_depth ||
depth== level ) {
2098master_range, 0, check_adaptive);
2108 if( !only_gi || syn_it->IsGi() ) {
2110master_range, 0, check_adaptive);
2130master_range, 0, check_adaptive);
2140 boolsyns_initialized =
false;
2142 const CTSE_Info& tse_info = *tse_it->first;
2146 if( !syns_initialized ) {
2148syns_initialized =
true;
2152master_range, 0, check_adaptive);
2157syns->GetSeq_id_Handle(syn_it),
2158master_range, 0, check_adaptive);
2169 if( !only_gi || syn_it->IsGi() ) {
2171master_range, 0, check_adaptive);
2263 boolhas_more =
false;
2280 x_SearchMapped(smit, master_loc_empty, master_id, master_range);
2304 booltop_level)
const 2322 "Cannot resolve master id");
2334 const_cast<CSeq_id&
>(*idit->first.GetSeqId()));
2381 boolhas_more =
false;
2388 "Cannot resolve master id");
2405 const_cast<CSeq_id&
>(*idit->first.GetSeqId()));
2444 x_SearchMapped(smit, *master_loc_empty, idit->first, idit->second);
2464 _ASSERT(iter->second == tse);
2474 return&
a.x_GetInfo() < &
b.x_GetInfo();
2479 return&
a.x_GetInfo() <
b;
2484 return a< &
b.x_GetInfo();
2503 unsigned intloc_index)
2524vector<CAnnotObject_Ref> partial_refs;
2528 if( !amit->second ) {
2533amit->second->Convert(annot_ref, loctype);
2534 if( amit->second->IsPartial() &&
2535amit->second->HasUnconvertedId() ) {
2559feat.
Set(*
this, obj);
2564graph.
Set(*
this, obj);
2586amit->second.GetNCObject().Convert(annot_ref, loctype);
2587 LOG_POST(
"Full conversion, was: "<<
2590cvt.
Convert(annot_ref, loctype);
2592 LOG_POST(
"Full conversion, now: "<<
2627it->GetMappingInfo().SetIdRangeMap(*id_rg_map);
2658 return info== limit;
2665 if(
info== limit ) {
2668 if( !
info->HasParent_Info() ) {
2671 info= &
info->GetParentSeq_entry_Info();
2678 return info== limit;
2682 "CAnnot_Collector::x_MatchLimitObject: invalid mode");
2780 "CAnnot_Collector::x_GetTSE_Info: invalid mode");
2792 boolcheck_adaptive)
2795 return x_SearchTSE2(tseh,
id, hr, cvt, check_adaptive);
2812 boolcheck_adaptive)
2815 boolfound =
false;
2831 if( check_adaptive &&
2843index <
count; ++index ) {
2866index <
count; ++index ) {
2914 unsigned intloc_index)
2927 if( !mapping_set ) {
2932mapping_set->
Add(*cvt_copy, loc_index);
2968 x_SearchRange(tseh, objs, guard, annot_name,
id, hr, cvt);
2977 static const size_tkAnnotTypeIndex_SNP =
2991 if( snp_it != snp_annot.
end() ) {
2995 if( !sah || &sah.
x_GetInfo() != &annot_info ) {
2996sah.
x_Set(annot_info, tseh);
3001 if( snp.
NoMore(range) ) {
3026}
while( ++snp_it != snp_annot.
end() );
3038 if( xrefs.size() == 1 ) {
3042 if(
data.IsGene() ) {
3072 size_tfrom_idx = 0;
3073 boolenough =
false;
3075 typedefvector<const CTSE_Chunk_Info*> TStubs;
3078 boolrestart =
false;
3084 ITERATE( TStubs, it, stubs ) {
3094 for(
auto& it : stubmap) {
3096it.first->LoadChunk(it.second.front());
3100it.second.erase(unique(it.second.begin(), it.second.end()), it.second.end());
3101it.first->LoadChunks(it.second);
3113index <
count; ++index ) {
3130 boolneed_unique =
false;
3136aoit(rmap.
begin(range));
3139*aoit->second.m_AnnotObject_Info;
3143annot_info.
IsFeat() ) {
3193stubs.push_back(&chunk);
3204 if( annot_info.
IsLocs() ) {
3222 if( !ref_loc.
IsInt() ) {
3224 "Seq-annot.locs is not Seq-interval");
3242 TSeqPosloc_from = aoit->first.GetFrom();
3243 TSeqPosloc_to = aoit->first.GetTo();
3250ref_search_range.
Set(ref_from + (loc_view_from - loc_from),
3251ref_to + (loc_view_to - loc_to));
3254ref_search_range.
Set(ref_from - (loc_view_to - loc_to),
3255ref_to - (loc_view_from - loc_from));
3257ref_rmap.
AddRanges(ref_idh).AddRange(ref_search_range,
3294 if( !
x_MatchRange(hr, aoit->first, aoit->second) ) {
3301sah.
x_Set(seq_annot, tseh);
3344 boolis_circular = aoit->second.m_HandleRange &&
3345aoit->second.m_HandleRange->GetData().IsCircular();
3346need_unique |= is_circular;
3349 if( !sah || &sah.
x_GetInfo() != &sa_info ){
3350sah.
x_Set(sa_info, tseh);
3354 if( !cvt && aoit->second.GetMultiIdFlag() ) {
3358 TSeqPosfrom = aoit->second.m_HandleRange->
3359GetData().GetLeft();
3360 TSeqPosto =aoit->second.m_HandleRange->
3361GetData().GetRight();
3367aoit->second.m_AnnotLocationIndex);
3370 if(cvt && !annot_ref.
IsAlign() ) {
3381 if( is_circular ) {
3382 TSeqPosfrom = aoit->second.m_HandleRange->
3383GetData().GetLeft();
3384 TSeqPosto = aoit->second.m_HandleRange->
3385GetData().GetRight();
3392aoit->second.m_AnnotLocationIndex);
3413 if( need_unique || hr.
end() - hr.
begin() > 1 ) {
3414TAnnotSet::iterator first_added =
m_AnnotSet.begin() + start_size;
3428}
while( restart );
3437 boolfound =
false;
3439 if( idit->second.Empty() ) {
3450 "Cannot find id synonyms");
3478syns->GetSeq_id_Handle(syn_it),
3479idit->second, cvt, check_adaptive);
3489 if( !only_gi || syn_it->IsGi() ) {
3491idit->second, cvt, check_adaptive);
3513found |=
x_SearchTSE(tse_it->first, tse_it->second,
3514idit->second, cvt, check_adaptive);
3529 const CTSE_Info& tse_info = *tse_it->first;
3531found |=
x_SearchTSE(tse_it->second, idit->first,
3532idit->second, cvt, check_adaptive);
3539 boolsyns_initialized =
false;
3541 const CTSE_Info& tse_info = *tse_it->first;
3544 if( !syns_initialized ) {
3547syns_initialized =
true;
3550found |=
x_SearchTSE(tse_it->second, idit->first,
3551idit->second, cvt, check_adaptive);
3556syns->GetSeq_id_Handle(syn_it),
3557idit->second, cvt, check_adaptive);
3568 if( !only_gi || syn_it->IsGi() ) {
3570idit->second, cvt, check_adaptive);
3613 "CAnnot_Collector::x_SearchAll: invalid mode");
3631 if( entry_info.
IsSet() ) {
3687 static const size_tkAnnotTypeIndex_SNP =
3720shift = ref_seg_range.
GetFrom() - master_seg_range.
GetFrom();
3723shift = ref_seg_range.
GetTo() + master_seg_range.
GetFrom();
3731 if( !range.
Empty() ) {
3777 "CAnnot_Collector: " 3778 "search time limit exceeded, no annotations found");
3784 "CAnnot_Collector: " 3785 "search segments limit exceeded, no annotations found");
3789 "search segments limit exceeded, no annotations found");
3802shift = ref_seg_range.
GetFrom() - master_seg_range.
GetFrom();
3805shift = ref_seg_range.
GetTo() + master_seg_range.
GetFrom();
3813 if( !range.
Empty() ) {
3867 names->insert(it->GetSeq_annot_Info().GetName());
static CRef< CScope > m_Scope
bool IsReverse(ENa_strand s)
ENa_strand Reverse(ENa_strand s)
@ eExtreme_Positional
numerical value
User-defined methods of the data storage class.
User-defined methods of the data storage class.
static bool sx_IsEmpty(const SAnnotSelector &sel)
static const bool kTraceFullCvt
NCBI_DEFINE_ERR_SUBCODE_X(2)
static bool sx_GeneIsSuppressed(const CSeq_feat &feat)
static CScope::EGetBioseqFlag sx_GetFlag(const SAnnotSelector &selector)
static CSeqFeatData::ESubtype s_DefaultAdaptiveTriggers[]
Annotation iterators exceptions.
map< CAnnotObject_Ref, CRef< CSeq_loc_Conversion_Set > > TAnnotMappingSet
TAnnotMappingSet m_AnnotMappingSet
void InitializeMappedSeq_feat(const CSeq_feat &src, CSeq_feat &dst) const
const CSeq_align & GetMappedSeq_align(const CSeq_align &orig) const
bool MappedSeq_locNeedsUpdate(void) const
void SetMappedSeq_align_Cvts(CSeq_loc_Conversion_Set &cvts)
CRef< CObject > m_MappedObject
const CIdRangeMap & GetIdRangeMap(void) const
void SetMappedSeq_id(CSeq_id &id)
void SetTotalRange(const TRange &range)
const CGraphRanges * GetGraphRanges(void) const
void SetGraphRanges(CGraphRanges *ranges)
const TRange & GetTotalRange(void) const
bool IsMappedLocation(void) const
void SetIdRangeMap(CIdRangeMap &id_range_map)
TSeqPos GetFrom(void) const
bool IsMapped(void) const
void UpdateMappedSeq_loc(CRef< CSeq_loc > &loc, CRef< CSeq_point > &pnt_ref, CRef< CSeq_interval > &int_ref, const CSeq_feat *orig_feat) const
EMappedObjectType GetMappedObjectType(void) const
ENa_strand GetMappedStrand(void) const
const CSeq_id * GetProductId(void) const
const CSeq_feat & GetMappedSeq_feat(void) const
TSeqPos GetToOpen(void) const
bool IsMappedProduct(void) const
const CSeq_id * GetLocationId(void) const
bool IsMappedPoint(void) const
@ eMappedObjType_IdRangeMap
@ eMappedObjType_Seq_align
@ eMappedObjType_Seq_loc_Conv
@ eMappedObjType_Seq_feat
@ eMappedObjType_Seq_loc_Conv_Set
void SetMappedConverstion(CSeq_loc_Conversion &cvt)
void SetMappedSeq_feat(CSeq_feat &feat)
void SetMappedStrand(ENa_strand strand)
bool IsPartial(void) const
void SetPartial(bool value)
void SetMappedSeq_align(CSeq_align *align)
CRef< CGraphRanges > m_GraphRanges
const CSeq_id & GetMappedSeq_id(void) const
CSeq_loc_Conversion & GetMappedSeq_loc_Conv(void) const
void SetAnnotObjectRange(const TRange &range, bool product)
const CSeq_loc & GetMappedSeq_loc(void) const
CBioseq_Handle m_BioseqHandle
CNearnessTester(const CBioseq_Handle &handle)
bool operator()(const CSeq_id *id) const
DECLARE_OPERATOR_BOOL(m_BioseqHandle)
const CTSE_Chunk_Info & GetChunk_Info(void) const
const CSeq_loc & GetLocs(void) const
const CSeq_annot_Info & GetSeq_annot_Info(void) const
const CSeq_graph & GetGraph(void) const
bool IsRegular(void) const
static void x_ProcessAlign(vector< CHandleRangeMap > &hrmaps, const CSeq_align &align, const CMasterSeqSegments *master)
const CSeq_feat * GetFeatFast(void) const
TFeatSubtype GetFeatSubtype(void) const
TIndex GetAnnotIndex(void) const
const CSeq_feat & GetFeat(void) const
TFeatType GetFeatType(void) const
bool IsChunkStub(void) const
TAnnotType GetAnnotType(void) const
const CSeq_align & GetAlign(void) const
bool IsRemoved(void) const
const CSeq_annot_SNP_Info & GetSeq_annot_SNP_Info(void) const
bool IsSortedSeqTableFeat(void) const
const CSeq_graph & GetGraph(void) const
const CAnnotObject_Info & GetAnnotObject_Info(void) const
bool IsAnySeqTableFeat(void) const
const SSNP_Info & GetSNP_Info(void) const
const CSeq_annot_Info & GetSeq_annot_Info(void) const
bool IsSNPTableFeat(void) const
const CSeq_align & GetAlign(void) const
const CSeq_feat & GetFeat(void) const
bool IsFromOtherTSE(void) const
CAnnotMapping_Info m_MappingInfo
void SetFromOtherTSE(bool from_other_tse=true)
TAnnotIndex GetAnnotIndex(void) const
bool IsPlainFeat(void) const
const CSeqTableInfo & GetSeqTableInfo(void) const
bool HasAnnotObject_Info(void) const
CAnnotMapping_Info & GetMappingInfo(void) const
static size_t GetSubtypeIndex(CSeqFeatData::ESubtype subtype)
static SAnnotTypeSelector GetTypeSelector(size_t index)
static TIndexRange GetIndexRange(const SAnnotTypeSelector &sel)
TMaxSearchSegments m_SearchSegments
unique_ptr< TAnnotLocsSet > m_AnnotLocsSet
void x_Initialize0(const SAnnotSelector &selector)
void x_SearchObjects(const CTSE_Handle &tse, const SIdAnnotObjs *objs, CMutexGuard &guard, const CAnnotName &name, const CSeq_id_Handle &id, const CHandleRange &hr, CSeq_loc_Conversion *cvt)
bool x_FoundAllNamedAnnotAccessions(unique_ptr< SAnnotSelector > &local_sel)
bool x_SearchTSE2(const CTSE_Handle &tse, const CSeq_id_Handle &id, const CHandleRange &hr, CSeq_loc_Conversion *cvt, bool check_adaptive)
CAnnot_Collector(CScope &scope)
TTSE_LockMap m_TSE_LockMap
vector< SAnnotTypeSelector > TAnnotTypes
void x_AddObject(CAnnotObject_Ref &object_ref)
const TAnnotTypes & x_GetAnnotTypes(void) const
unique_ptr< CAnnotMappingCollector > m_MappingCollector
bool x_SearchSegments(const CBioseq_Handle &bh, const CSeq_id_Handle &master_id, const CHandleRange &master_range, CSeq_loc &master_loc_empty, int level)
void x_SearchMaster(const CBioseq_Handle &bh, const CSeq_id_Handle &master_id, const CHandleRange &master_range)
void x_AddPostMappings(void)
bool x_CheckAdaptive(const CSeq_id_Handle &id) const
void x_StopSearchLimits(void)
void x_AddPostMappingsCvt(CSeq_loc_Conversion_Set &cvt)
bool x_SearchMapped(const CSeqMap_CI &seg, CSeq_loc &master_loc_empty, const CSeq_id_Handle &master_id, const CHandleRange &master_hr)
CBioseq_Handle x_GetBioseqHandle(const CSeq_id_Handle &id, bool top_level=false) const
bool x_MaxSearchSegmentsLimitIsReached(void) const
bool x_MatchLocIndex(const SAnnotObject_Index &index) const
void x_CollectSegments(const CBioseq_Handle &bh, const CSeq_id_Handle &master_id, const CHandleRange &master_range, CSeq_loc &master_loc_empty, int level, CSeq_loc_Conversion_Set &cvt_set)
bool x_SearchLoc(const CHandleRangeMap &loc, CSeq_loc_Conversion *cvt, const CTSE_Handle *using_tse, bool top_level=false)
set< CAnnotName > TAnnotNames
TAnnotTypesBitset m_CollectAnnotTypes
void x_AddTSE(const CTSE_Handle &tse)
bool CanResolveId(const CSeq_id_Handle &idh, const CBioseq_Handle &bh)
SAnnotSelector::EMaxSearchSegmentsAction m_SearchSegmentsAction
bool x_MatchRange(const CHandleRange &hr, const CRange< TSeqPos > &range, const SAnnotObject_Index &index) const
bool x_MatchLimitObject(const CAnnotObject_Info &annot_info) const
vector< CAnnotObject_Ref > TAnnotSet
bool x_NoMoreObjects(void) const
TAnnotTypesBitset m_TriggerTypes
const TAnnotNames & x_GetAnnotNames(void) const
void x_Initialize(const SAnnotSelector &selector, const CBioseq_Handle &bioseq, const CRange< TSeqPos > &range, ENa_strand strand)
TAnnotTypes m_AnnotTypes2
double x_GetCostOfLoadingInSeconds(void) const
TAnnotTypesBitset m_UnseenAnnotTypes
CConstRef< CSerialObject > x_GetMappedObject(const CAnnotObject_Ref &obj)
Uint8 x_GetCostOfLoadingInBytes(void) const
void x_SearchRange(const CTSE_Handle &tse, const SIdAnnotObjs *objs, CMutexGuard &guard, const CAnnotName &name, const CSeq_id_Handle &id, const CHandleRange &hr, CSeq_loc_Conversion *cvt)
void x_AddObjectMapping(CAnnotObject_Ref &object_ref, CSeq_loc_Conversion *cvt, unsigned int loc_index)
SAnnotSelector::TMaxSize TMaxSize
void x_CollectMapped(const CSeqMap_CI &seg, CSeq_loc &master_loc_empty, const CSeq_id_Handle &master_id, const CHandleRange &master_hr, CSeq_loc_Conversion_Set &cvt_set)
TAnnotTypesBitset m_AnnotTypes
const SAnnotSelector * m_Selector
bool x_SearchTSE(const CTSE_Handle &tse, const CSeq_id_Handle &id, const CHandleRange &hr, CSeq_loc_Conversion *cvt, bool check_adaptive)
const SAnnotSelector & GetSelector(void) const
unique_ptr< TAnnotNames > m_AnnotNames
const TAnnot & GetAnnot(void) const
vector< CRef< CSeq_annot_Info > > TAnnot
vector< CRef< CSeq_entry_Info > > TSeq_set
const CSeq_feat & GetOriginalFeat(void)
ENa_strand GetStrand(bool by_product)
const CSeq_loc * GetComplexLoc(bool by_product)
const CAnnotObject_Ref & m_Ref
const CSeq_feat & GetMappedFeat(void)
int GetCdregionOrder(void)
const char * GetImpKey(void)
string GetFeatLabel(void)
CRef< CSeq_feat > m_CreatedOriginalFeat
static const CSeq_loc & GetLoc(const CSeq_feat &feat, bool by_product)
CConstRef< CSeq_id > GetProductId(void)
CCreateFeat(const CAnnotObject_Ref &ref, const CAnnotObject_Info *info)
const CAnnotObject_Info * m_Info
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.
void Guard(resource_type &resource)
Manually force the guard to protect some other resource.
void Release()
Manually force the resource to be released.
void AddRanges(const CSeq_id_Handle &h, const CHandleRange &hr)
const_iterator find(const CSeq_id_Handle &idh) const
const TLocMap & GetMap(void) const
TLocMap::const_iterator const_iterator
const_iterator end(void) const
TTotalRangeFlags GetStrandsFlag(void) const
void AddRange(TRange range, ENa_strand strand)
bool IntersectingWith(const CHandleRange &hr) const
const_iterator begin(void) const
bool IntersectingWithTotalRange(const CHandleRange &hr) const
bool IntersectingWith_NoStrand(const CHandleRange &hr) const
TRange GetOverlappingRange(TTotalRangeFlags flags=eStrandAny) const
const_iterator end(void) const
map< CSeq_id_Handle, SExtremes > TIdRangeMap
virtual ~CIdRangeMap(void)
unique_ptr< TIdRangeMap > m_Map
CIdRangeMap(const CAnnotObject_Ref &annot_ref, const SAnnotSelector &sel)
const TIdRangeMap & GetMap(void) const
CBioseq_Handle GetBioseqHandleFromTSE(const CSeq_id_Handle &id, const CTSE_Handle &tse)
vector< pair< CTSE_Handle, CSeq_id_Handle > > TTSE_LockMatchSet
CConstRef< CSynonymsSet > GetSynonyms(const CSeq_id_Handle &id, int get_flag)
CBioseq_Handle GetBioseqHandle(const CSeq_id_Handle &id, int get_flag)
TIds GetIds(const CSeq_id_Handle &idh, TGetFlags flags=0)
void GetTSESetWithAnnots(const CSeq_id_Handle &idh, TTSE_LockMatchSet &tse_set)
CConstRef< CSeq_id > GetLocationId(size_t row) const
void UpdateSeq_feat(size_t row, CRef< CSeq_feat > &seq_feat, CRef< CSeq_point > &seq_pnt, CRef< CSeq_interval > &seq_int) const
SAnnotTypeSelector GetType(void) const
ENa_strand GetLocationStrand(size_t row) const
const SAnnotObject_Key & GetAnnotObjectKey(size_t i) const
const TAnnotObjectInfos & GetAnnotObjectInfos(void) const
const CAnnotObject_Info & GetInfo(TAnnotIndex index) const
bool TableFeat_HasLabel(TAnnotIndex index) const
string TableFeat_GetLabel(TAnnotIndex index) const
bool MatchBitFilter(const SAnnotSelector &sel, const CSeq_annot_SortedIter &iter) const
bool IsSortedTable(void) const
const CAnnotName & GetName(void) const
bool x_HasSNP_annot_Info(void) const
SAnnotObjectsIndex::TObjectInfos TAnnotObjectInfos
void UpdateAnnotIndex(void) const
const CSeqTableInfo & GetTableInfo(void) const
static const TAnnotIndex kWholeAnnotIndex
CSeq_annot_SortedIter StartSortedIterator(CRange< TSeqPos > range) const
const CSeq_annot_SNP_Info & x_GetSNP_annot_Info(void) const
const CSeq_id & GetSeq_id(void) const
const SSNP_Info & GetInfo(size_t index) const
const CSeq_annot_Info & GetParentSeq_annot_Info(void) const
TSNP_Set::const_iterator const_iterator
const_iterator end(void) const
const_iterator FirstIn(const TRange &range) const
const CRange< TSeqPos > & GetRange(void) const
const CBioseq_Base_Info & x_GetBaseInfo(void) const
void UpdateAnnotIndex(void) const
const TSet & GetSet(void) const
namespace ncbi::objects::
int GetTypeSortingOrder(void) const
Return relative importance order of features by their type.
Used as a helper for determining which pieces of a CSeq_loc to compare.
Seq-loc iterator class â iterates all intervals from a seq-loc in the correct order.
void Add(CSeq_loc_Conversion &cvt, unsigned int loc_index)
const TSeq_id_Handles & GetDst_id_Handles(void) const
void Convert(CAnnotObject_Ref &obj, CSeq_loc_Conversion::ELocationType loctype)
bool Convert(const CSeq_loc &src, CRef< CSeq_loc > &dst, EConvertFlag flag=eCnvDefault)
bool IsPartial(void) const
void MakeDstMix(CSeq_loc_mix &dst, const CSeq_loc_mix &src) const
bool ConvertInterval(TSeqPos src_from, TSeqPos src_to, ENa_strand src_strand)
void SetMappedLocation(CAnnotObject_Ref &ref, ELocationType loctype)
const CSeq_id & GetId(void) const
void CombineWith(CSeq_loc_Conversion &cvt)
bool ConvertPoint(TSeqPos src_pos, ENa_strand src_strand)
void SetSrcId(const CSeq_id_Handle &src)
TChunkId GetChunkId(void) const
const CTSE_Split_Info & GetSplitInfo(void) const
pair< Uint4, double > GetLoadCost() const
bool NotLoaded(void) const
CBioseq_Handle GetBioseqHandle(const CSeq_id &id) const
Get Bioseq handle from this TSE.
bool AddUsedTSE(const CTSE_Handle &tse) const
Register argument TSE as used by this TSE, so it will be released by scope only after this TSE is rel...
const CTSE_Info & x_GetTSE_Info(void) const
bool x_DirtyAnnotIndex(void) const
TNamedAnnotObjs m_NamedAnnotObjs
void UpdateAnnotIndex(const CSeq_id_Handle &id) const
bool OnlyGiAnnotIds(void) const
CSeq_id_Handle ContainsMatchingBioseq(const CSeq_id_Handle &id) const
SIdAnnotObjs::TSNPSet TSNPSet
bool HasMatchingAnnotIds(void) const
TAnnotLock & GetAnnotLock(void) const
const SIdAnnotObjs * x_GetIdObjects(const TAnnotObjs &objs, const CSeq_id_Handle &idh) const
const SIdAnnotObjs * x_GetUnnamedIdObjects(const CSeq_id_Handle &id) const
container_type::const_iterator const_iterator
container_type::iterator iterator
const_iterator begin() const
const_iterator end() const
const_iterator lower_bound(const key_type &key) const
iterator_bool insert(const value_type &val)
container_type::value_type value_type
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator end() const
parent_type::const_iterator const_iterator
static unsigned char depth[2 *(256+1+29)+1]
static const struct name_t names[]
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define ERASE_ITERATE(Type, Var, Cont)
Non-constant version with ability to erase current element, if container permits.
int TSignedSeqPos
Type for signed sequence position.
const TSeqPos kInvalidSeqPos
Define special value for invalid sequence position.
#define ERR_POST_X(err_subcode, message)
Error posting with default error code and given error subcode.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
void Warning(CExceptionArgs_Base &args)
static const TObjectType * SafeCast(TTypeInfo type)
#define MSerial_AsnText
I/O stream manipulators â.
const string AsFastaString(void) const
CConstRef< CSeq_id > GetSeqId(void) const
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
ENa_strand GetStrand(void) const
Get the location's strand.
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
bool IsSetStrand(void) const
Get strand.
CSeq_id_Handle GetSeq_id_Handle(void) const
int CompareSubLoc(const CSeq_loc &loc, ENa_strand strand, const ISubLocFilter *filter=NULL) const
Compare first-level sub-locations sequentially to order them by biological "complexity".
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
TRange GetRange(void) const
Get the range.
void InvalidateTotalRangeCache(void) const
ENa_strand GetStrand(void) const
void SetNull(void)
Override all setters to incorporate cache invalidation.
TSeqPos GetStop(ESeqLocExtremes ext) const
@ eOrder_Biological
Iterate sub-locations in positional order.
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,...
@ eGetBioseq_Loaded
Search in all loaded TSEs in the scope.
@ eGetBioseq_All
Search bioseq, load if not loaded yet.
const CSeq_annot_SNP_Info & x_GetSNP_annot_Info(void) const
const SSNP_Info & x_GetSNP_Info(void) const
vector< CSeq_id_Handle > TId
TFeatIndex x_GetFeatIndex() const
EFeatureFetchPolicy GetFeatureFetchPolicy(void) const
const CTSE_Handle & GetTSE_Handle(void) const
Get CTSE_Handle of containing TSE.
void x_Set(const CSeq_annot_Info &annot, const CTSE_Handle &tse)
CSeq_id_Handle GetAccessSeq_id_Handle(void) const
Get any CSeq_id_Handle handle that can be used to access this bioseq Use GetSeq_id_Handle() if it's n...
CConstRef< CSeq_feat > m_CreatedOriginalFeat
TInst_Topology GetInst_Topology(void) const
bool IsTableSNP(void) const
Check if this is SNP table feature.
bool CanGetInst_Topology(void) const
const CSeq_annot_Info & x_GetSeq_annot_Info(void) const
const CSeq_annot_Info & x_GetInfo(void) const
CConstRef< CSeq_feat > GetPlainSeq_feat(void) const
Get current seq-feat.
CConstRef< CSeq_feat > GetOriginalSeq_feat(void) const
bool IsTableFeat(void) const
Check if this is non-SNP table feature.
const CSeqMap & GetSeqMap(void) const
Get sequence map.
const TId & GetId(void) const
bool IsSynonym(const CSeq_id &id) const
Check if this id can be used to obtain this bioseq handle.
@ eFeatureFetchPolicy_default
@ eFeatureFetchPolicy_only_near
vector< SAnnotTypeSelector > TAdaptiveTriggers
TSeqPos GetEndPosition(void) const
return end position of current segment in sequence (exclusive)
AutoPtr< CHandleRangeMap > m_SourceLoc
bool m_CollectCostOfLoading
EResolveMethod m_ResolveMethod
bool GetExactDepth(void) const
GetExactDepth() returns current value of 'exact depth' flag.
vector< CAnnotName > TAnnotsNames
Object manager recognizes several fields of Seq-annot as annot name.
TMaxSearchTime GetMaxSearchTime(void) const
Get maximum time (in seconds) to search before giving up.
void Set(CAnnot_Collector &collector, const CAnnotObject_Ref &annot_ref)
SSeqMapSelector & SetBySequenceClass(void)
bool IsIncludedAnyNamedAnnotAccession(void) const
check if any named annot accession is included in the search
EUnresolvedFlag m_UnresolvedFlag
CConstRef< CObject > m_LimitObject
TSeqPos GetRefPosition(void) const
TMaxSearchSegments GetMaxSearchSegments(void) const
Get maximum number of empty segments to search before giving up.
void CheckLimitObjectType(void) const
EMaxSearchSegmentsAction GetMaxSearchSegmentsAction(void) const
int GetResolveDepth(void) const
GetResolveDepth() returns current limit of subsegment resolution in searching annotations.
ELimitObject m_LimitObjectType
EResolveMethod GetResolveMethod(void) const
GetResolveMethod() returns current value of resolve_method.
bool HasBitFilter(void) const
TAnnotTypesBitset m_AnnotTypesBitset
bool ExcludedAnnotName(const CAnnotName &name) const
TAdaptiveTriggers m_AdaptiveTriggers
TMaxSize GetMaxSize(void) const
Get maximum allowed number of annotations to find.
const CSeq_graph & GetMappedGraph(void) const
Graph mapped to the master sequence.
virtual bool Less(const CSeq_feat &f1, const CSeq_feat &f2, CScope *scope)=0
bool GetRefMinusStrand(void) const
TAdaptiveDepthFlags GetAdaptiveDepthFlags(void) const
GetAdaptiveDepthFlags() returns current set of adaptive depth heuristics flags.
bool HasExplicitAnnotsNames() const
CMappedFeat & Set(CAnnot_Collector &collector, const CAnnotObject_Ref &feat_ref)
const TAnnotsNames & GetIncludedAnnotsNames(void) const
bool GetFeatProduct(void) const
Return true if the features should be searched using their product rather than location.
SSeqMapSelector & SetLimitTSE(const CSeq_entry_Handle &tse)
Limit TSE to resolve references.
bool HasIncludedOnlyNamedAnnotAccessions() const
CSeq_id_Handle GetRefSeqid(void) const
The following function makes sense only when the segment is a reference to another seq.
bool ExtractZoomLevel(const string &full_name, string *acc_ptr, int *zoom_level_ptr)
Extract optional zoom level suffix from named annotation string.
EOverlapType m_OverlapType
bool FeaturePolicyWasApplied(void) const
const TNamedAnnotAccessions & GetNamedAnnotAccessions(void) const
Uint1 TAdaptiveDepthFlags
TSeqPos GetRefEndPosition(void) const
TSeqPos GetPosition(void) const
return position of current segment in sequence
SAnnotSelector & ExcludeNamedAnnotAccession(const string &acc)
bool GetExcludeIfGeneIsSuppressed(void) const
bool MatchType(const CAnnotObject_Info &annot_info) const
Check if type of the annotation matches the selector.
SSeqMapSelector & SetByFeaturePolicy(void)
CConstRef< CSeq_feat > GetSeq_feat(void) const
Get current seq-feat.
const CTSE_Handle & GetUsingTSE(void) const
@ eSortOrder_Reverse
decresing end, decreasing length
@ eSortOrder_Normal
default - increasing start, decreasing length
@ eOverlap_Intervals
default - overlapping of individual intervals
@ eIgnoreUnresolved
Ignore unresolved ids (default)
@ eSearchUnresolved
Search annotations for unresolvable IDs.
@ eFailUnresolved
Throw exception for unresolved ids.
@ eResolve_TSE
default - search only on segments in the same TSE
@ eResolve_All
Search annotations for all referenced sequences.
@ eResolve_None
Do not search annotations on segments.
@ eMaxSearchSegmentsThrow
bool HasSegmentOfType(ESegmentType type) const
@ eSeqRef
reference to Bioseq
bool IsNull(void) const THROWS_NONE
Check if pointer is null â same effect as Empty().
void AtomicResetFrom(const TThisType &ref)
Reset reference object to new pointer.
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
bool ReferencedOnlyOnce(void) const THROWS_NONE
Check if object is referenced only once.
TObjectType * GetPointerOrNull(void) THROWS_NONE
Get pointer value.
TObjectType & GetNCObject(void) const
Get object.
void AtomicReleaseTo(TThisType &ref)
Release referenced object to another CRef<> object.
uint64_t Uint8
8-byte (64-bit) unsigned integer
position_type GetLength(void) const
const_iterator begin(void) const
position_type GetTo(void) const
TThisType & CombineWith(const TThisType &r)
position_type GetToOpen(void) const
position_type GetFrom(void) const
static TThisType GetEmpty(void)
TThisType & Set(position_type from, position_type to)
TThisType & SetOpen(position_type from, position_type toOpen)
static TThisType GetWhole(void)
#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.
static int CompareNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive compare of a substring with another string.
bool IsRunning(void) const
Check state of stopwatch.
double Elapsed(void) const
Return time elapsed since first Start() or last Restart() call (in seconds).
void Stop(void)
Suspend the timer.
void Start(void)
Start the timer.
static const char label[]
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
const TDesc & GetDesc(void) const
Get the Desc member data.
bool IsSetLocus_tag(void) const
systematic gene name (e.g., MI0001, ORF0069) Check if a value has been assigned to Locus_tag data mem...
bool IsSetLocus(void) const
Official gene symbol Check if a value has been assigned to Locus data member.
bool IsSetDesc(void) const
descriptive name Check if a value has been assigned to Desc data member.
const TLocus & GetLocus(void) const
Get the Locus member data.
bool IsSetTitle(void) const
for user defined label Check if a value has been assigned to Title data member.
TXref & SetXref(void)
Assign a value to Xref data member.
const TKey & GetKey(void) const
Get the Key member data.
bool IsSetComment(void) const
Check if a value has been assigned to Comment data member.
TDbxref & SetDbxref(void)
Assign a value to Dbxref data member.
void ResetPartial(void)
Reset Partial data member.
const TData & GetData(void) const
Get the Data member data.
void ResetTitle(void)
Reset Title data member.
bool IsSetQual(void) const
qualifiers Check if a value has been assigned to Qual data member.
const TExts & GetExts(void) const
Get the Exts member data.
bool IsSetExt(void) const
user defined structure extension Check if a value has been assigned to Ext data member.
void SetLocation(TLocation &value)
Assign a value to Location data member.
const TIds & GetIds(void) const
Get the Ids member data.
TIds & SetIds(void)
Assign a value to Ids data member.
const TTitle & GetTitle(void) const
Get the Title member data.
void SetComment(const TComment &value)
Assign a value to Comment data member.
void ResetExcept(void)
Reset Except data member.
void SetCit(TCit &value)
Assign a value to Cit data member.
void SetPartial(TPartial value)
Assign a value to Partial data member.
void SetProduct(TProduct &value)
Assign a value to Product data member.
void ResetExp_ev(void)
Reset Exp_ev data member.
const TQual & GetQual(void) const
Get the Qual member data.
bool IsSetPartial(void) const
incomplete in some way? Check if a value has been assigned to Partial data member.
void ResetExcept_text(void)
Reset Except_text data member.
bool IsSetXref(void) const
cite other relevant features Check if a value has been assigned to Xref data member.
TExts & SetExts(void)
Assign a value to Exts data member.
const TLocation & GetLocation(void) const
Get the Location member data.
E_Choice
Choice variants.
void SetExcept(TExcept value)
Assign a value to Except data member.
void SetExt(TExt &value)
Assign a value to Ext data member.
void SetTitle(const TTitle &value)
Assign a value to Title data member.
void ResetIds(void)
Reset Ids data member.
void ResetExts(void)
Reset Exts data member.
void ResetPseudo(void)
Reset Pseudo data member.
void ResetId(void)
Reset Id data member.
TFrame GetFrame(void) const
Get the Frame member data.
const TData & GetData(void) const
Get the Data member data.
bool IsSetData(void) const
the specific data Check if a value has been assigned to Data data member.
bool IsSetExcept(void) const
something funny about this? Check if a value has been assigned to Except data member.
const TExcept_text & GetExcept_text(void) const
Get the Except_text member data.
void SetId(TId &value)
Assign a value to Id data member.
bool IsSetExcept_text(void) const
explain if except=TRUE Check if a value has been assigned to Except_text data member.
void SetData(TData &value)
Assign a value to Data data member.
bool IsSetExp_ev(void) const
Check if a value has been assigned to Exp_ev data member.
void ResetComment(void)
Reset Comment data member.
const TCdregion & GetCdregion(void) const
Get the variant data.
bool IsSetIds(void) const
set of Ids; will replace 'id' field Check if a value has been assigned to Ids data member.
void SetExp_ev(TExp_ev value)
Assign a value to Exp_ev data member.
bool IsSetId(void) const
Check if a value has been assigned to Id data member.
TPseudo GetPseudo(void) const
Get the Pseudo member data.
const TProduct & GetProduct(void) const
Get the Product member data.
bool IsSetPseudo(void) const
annotated on pseudogene? Check if a value has been assigned to Pseudo data member.
const TComment & GetComment(void) const
Get the Comment member data.
void ResetExt(void)
Reset Ext data member.
bool IsSetExts(void) const
set of extensions; will replace 'ext' field Check if a value has been assigned to Exts data member.
bool IsSetCit(void) const
citations for this feature Check if a value has been assigned to Cit data member.
void SetPseudo(TPseudo value)
Assign a value to Pseudo data member.
const TGene & GetGene(void) const
Get the variant data.
TPartial GetPartial(void) const
Get the Partial member data.
void SetExcept_text(const TExcept_text &value)
Assign a value to Except_text data member.
TExcept GetExcept(void) const
Get the Except member data.
const TXref & GetXref(void) const
Get the Xref member data.
vector< CRef< CSeqFeatXref > > TXref
void ResetProduct(void)
Reset Product data member.
vector< CRef< CGb_qual > > TQual
void ResetXref(void)
Reset Xref data member.
void ResetDbxref(void)
Reset Dbxref data member.
bool IsSetDbxref(void) const
support for xref to other databases Check if a value has been assigned to Dbxref data member.
TQual & SetQual(void)
Assign a value to Qual data member.
bool IsSetProduct(void) const
product of process Check if a value has been assigned to Product data member.
TExp_ev GetExp_ev(void) const
Get the Exp_ev member data.
void ResetQual(void)
Reset Qual data member.
const TImp & GetImp(void) const
Get the variant data.
void ResetCit(void)
Reset Cit data member.
@ eFrame_not_set
not set, code uses one
void SetTo(TTo value)
Assign a value to To data member.
void SetPoint(TPoint value)
Assign a value to Point data member.
void SetId(TId &value)
Assign a value to Id data member.
void ResetFuzz_to(void)
Reset Fuzz_to data member.
bool IsMix(void) const
Check if variant Mix is selected.
ENa_strand
strand of nucleic acid
const TId & GetId(void) const
Get the Id member data.
void SetId(TId &value)
Assign a value to Id data member.
void SetStrand(TStrand value)
Assign a value to Strand data member.
TFrom GetFrom(void) const
Get the From member data.
void SetFuzz(TFuzz &value)
Assign a value to Fuzz data member.
void ResetFuzz(void)
Reset Fuzz data member.
void SetFrom(TFrom value)
Assign a value to From data member.
void ResetStrand(void)
Reset Strand data member.
void ResetFuzz_from(void)
Reset Fuzz_from data member.
virtual void Reset(void)
Reset the whole object.
void SetFuzz_to(TFuzz_to &value)
Assign a value to Fuzz_to data member.
void SetFuzz_from(TFuzz_from &value)
Assign a value to Fuzz_from data member.
bool IsPacked_int(void) const
Check if variant Packed_int is selected.
bool IsSetStrand(void) const
Check if a value has been assigned to Strand data member.
TStrand GetStrand(void) const
Get the Strand member data.
TTo GetTo(void) const
Get the To member data.
bool IsInt(void) const
Check if variant Int is selected.
const TInt & GetInt(void) const
Get the variant data.
void SetStrand(TStrand value)
Assign a value to Strand data member.
void ResetStrand(void)
Reset Strand data member.
const TMix & GetMix(void) const
Get the variant data.
E_Choice
Choice variants.
@ e_not_set
No variant selected.
Definition of all error codes used in objmgr libraries (xobjmgr.lib, xobjutil.lib and others).
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 whole
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
void timsort(RandomAccessIterator const first, RandomAccessIterator const last)
Same as std::stable_sort(first, last).
const struct ncbi::grid::netcache::search::fields::SIZE size
const struct ncbi::grid::netcache::search::fields::KEY key
static bool GetSeqId(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)
string GetProduct(const CProt_ref &prot_ref)
bool operator()(const CAnnotObject_Ref &x, const CAnnotObject_Ref &y) const
CNearnessTester m_TesterForIgnoreFarLocationsForSorting
IFeatComparator * m_FeatComparator
static int GetTypeOrder(CSeqFeatData::E_Choice type, CSeqFeatData::ESubtype subtype)
CAnnotObjectType_Less(const SAnnotSelector *sel, CScope *scope=0)
bool m_DoWeIgnoreFarLocationsForSorting
CAnnotObject_LessReverse(const SAnnotSelector *sel, CScope *scope=0)
CAnnotObjectType_Less type_less
bool operator()(const CAnnotObject_Ref &x, const CAnnotObject_Ref &y) const
static int CompareRanges(TSeqPos x_from, TSeqPos x_to, TSeqPos y_from, TSeqPos y_to)
CAnnotObjectType_Less type_less
CAnnotObject_Less(const SAnnotSelector *sel, CScope *scope=0)
bool operator()(const CAnnotObject_Ref &x, const CAnnotObject_Ref &y) const
static void GetRangeOpen(TSeqPos &out_from, TSeqPos &out_to, const CAnnotObject_Ref &obj_ref)
void x_GetExtremes(TSeqPos &out_from, TSeqPos &out_to, const CAnnotObject_Ref &obj_ref) const
CBioseq_Handle ignore_far_handle
CRef< CObjectFor< CHandleRange > > m_HandleRange
CAnnotObject_Info * m_AnnotObject_Info
Uint2 m_AnnotLocationIndex
TAnnotType GetAnnotType(void) const
const TRangeMap & x_GetRangeMap(size_t index) const
bool x_RangeMapIsEmpty(size_t index) const
size_t x_GetRangeMapCount(void) const
bool operator()(const CSeq_annot_Handle &a, const CSeq_annot_Handle &b) const
bool operator()(const CSeq_annot_Info *a, const CSeq_annot_Info *b) const
bool operator()(const CSeq_annot_Handle &a, const CSeq_annot_Info *b) const
bool operator()(const CSeq_annot_Info *a, const CSeq_annot_Handle &b) const
bool NoMore(const TRange &range) const
bool NotThis(const TRange &range) const
TSeqPos GetFrom(void) const
void UpdateSeq_feat(CRef< CSeq_feat > &seq_feat, const CSeq_annot_SNP_Info &annot_info) const
bool MinusStrand(void) const
TSeqPos GetTo(void) const
bool PlusStrand(void) const
Selector used in CSeqMap methods returning iterators.
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