A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/scope__impl_8cpp_source.html below:

NCBI C++ ToolKit: src/objmgr/scope_impl.cpp Source File

81 #define USE_OBJMGR_SHARED_POOL 0 83 #define NCBI_USE_ERRCODE_X ObjMgr_Scope 105

m_Transaction(

NULL

),

106

m_BioseqChangeCounter(0),

107

m_AnnotChangeCounter(0),

108

m_KeepExternalAnnotsForEdit(

CScope

::GetDefaultKeepExternalAnnotsForEdit())

111

x_AttachToOM(objmgr);

188

(*it)->GetDefaultPriority() : priority);

230  "Seq-entry already added to the scope"

);

254  "Seq-entry already added to the scope"

);

259 #if USE_OBJMGR_SHARED_POOL 285  "Bioseq already added to the scope"

);

312  "Bioseq already added to the scope"

);

317 #if USE_OBJMGR_SHARED_POOL 346  "Seq-annot already added to the scope"

);

373  "Seq-annot already added to the scope"

);

378 #if USE_OBJMGR_SHARED_POOL 391

tse_lock->

GetSet

().

GetAnnot

()[0]->GetSeq_annotCore() == &annot);

414  class

CClearCacheOnRemoveGuard

421

~CClearCacheOnRemoveGuard(

void

)

424  m_Scope

->x_ClearCacheOnRemoveData();

436

CClearCacheOnRemoveGuard(

const

CClearCacheOnRemoveGuard&);

437  void

operator=(

const

CClearCacheOnRemoveGuard&);

450  "CScope_Impl::RemoveDataLoader: " 451  "data loader not found in the scope"

);

455

CClearCacheOnRemoveGuard guard2(

this

);

469

CClearCacheOnRemoveGuard guard2(

this

);

488  "CScope_Impl::RemoveTopLevelSeqEntry: " 489  "TSE not found in the scope"

);

493  CTSE_Lock

tse_lock(tse_info->GetTSE_Lock());

497  "CScope_Impl::RemoveTopLevelSeqEntry: " 498  "TSE doesn't belong to the scope"

);

502  "CScope_Impl::RemoveTopLevelSeqEntry: " 503  "can not remove a loaded TSE"

);

508  _ASSERT

(!tse_info->IsAttached());

681 #define CHECK_HANDLE(func, handle) \ 683  NCBI_THROW(CObjMgrException, eInvalidHandle, \ 684  "CScope_Impl::"

#func ": null " #handle " handle"); \

687 #define CHECK_REMOVED_HANDLE(func, handle) \ 688  if ( !handle.IsRemoved() ) { \ 689  NCBI_THROW(CObjMgrException, eInvalidHandle, \ 690  "CScope_Impl::"

#func ": " \

691

#handle " handle is not removed"); \

944  "adding new data to a scope with non-empty history " 945  "make data inconsistent on "

<<conflict_id->

AsString

());

950  "adding new data to a scope with non-empty history " 951  "may cause the data to become inconsistent"

);

960  TIds

seq_ids, annot_ids;

970  TIds

seq_ids(1, new_id), annot_ids;

978  TIds

seq_ids, annot_ids;

985  const TIds

& annot_ids)

991  size_t

add_count = seq_ids.size();

993  size_t

scan_time = add_count + old_count;

994  double

lookup_time = (double)

min

(add_count, old_count) *

995

(2. *

log

((

double

)

max

(add_count, old_count)+2.));

996  if

( scan_time < lookup_time ) {

998

TIds::const_iterator it1 = seq_ids.begin();

1001  if

( *it1 < it2->

first

) {

1005  else if

( it2->first < *it1 ) {

1009  if

( it2->second.m_Bioseq_Info ) {

1015

conflict_id = &*it1;

1021  else if

( add_count < old_count ) {

1026

it2->second.m_Bioseq_Info ) {

1032

conflict_id = &*it1;

1039  if

( it2->second.m_Bioseq_Info ) {

1040

TIds::const_iterator it1 = lower_bound(seq_ids.begin(),

1043  if

( it1 != seq_ids.end() && *it1 == it2->first ) {

1049

conflict_id = &*it1;

1055  if

( conflict_id ) {

1058  if

( !annot_ids.empty() ) {

1071  if

( it->second.m_Bioseq_Info ) {

1086

it->second.x_ResetAnnotRef_Info();

1099  if

( it->second.m_Bioseq_Info ) {

1103

it->second.x_ResetAnnotRef_Info();

1134

it->second.x_ResetAnnotRef_Info();

1135  if

( it->second.m_Bioseq_Info ) {

1156

&*it->second.m_Bioseq_Info == &seq ) {

1165

&*it->second.m_Bioseq_Info == &seq ) {

1175

&*it->second.m_Bioseq_Info == &seq ) {

1199  "CScope::GetSeq_entryHandle(loader, blob_id): " 1200  "data loader is not in the scope"

);

1210  "CScope::GetSeq_entryHandle(loader, blob_id): " 1211  "entry is not found"

);

1279  if

( !it.GetRange().Empty() ) {

1280

loc_id = it.GetSeq_id_Handle();

1281

loc_pos = it.GetRange().GetFrom();

1290  "CScope_Impl::GetSeq_featHandle: " 1291  "Seq-feat location is empty"

);

1297

it->FindSeq_feat_Lock(loc_id, loc_pos, feat);

1298  if

( lock.first.first ) {

1300

*lock.first.second),

1308  "CScope_Impl::GetSeq_featHandle: Seq-feat not found"

);

1337

TMap::iterator iter = pmap.

lower_bound

(priority);

1338  while

( iter != pmap.end() && iter->first == priority ) {

1339  if

( iter->second.IsLeaf() && iter->second.GetLeaf().CanBeEdited() ) {

1340  return Ref

(&iter->second.GetLeaf());

1359

TMap::iterator iter = pmap.

lower_bound

(priority);

1360  while

( iter != pmap.end() && iter->first == priority ) {

1361  if

( iter->second.IsLeaf() && iter->second.GetLeaf().IsConst() ) {

1362  return Ref

(&iter->second.GetLeaf());

1386  if

( &*it == ds2 ) {

1387

it.InsertBefore(*ds_info);

1393  "CScope_Impl::AddDSBefore: ds2 is not attached"

);

1420  "CScope_Impl::x_GetTSE_Lock: entry is not attached"

);

1437  "CScope_Impl::x_GetSeq_entry_Lock: entry is not attached"

);

1454  "CScope_Impl::x_GetSeq_annot_Lock: annot is not attached"

);

1471  "CScope_Impl::x_GetBioseq_set_Lock: " 1472  "bioseq set is not attached"

);

1489  "CScope_Impl::x_GetBioseq_Lock: bioseq is not attached"

);

1597  if

( !tse.

IsSet

() ) {

1627

seqset.

GetAnnot

()[0] != &annot ) {

1678  "Not a top level Bioseq"

);

1689  "Not a top level Bioseq-set"

);

1700  "Not a top level Seq-annot"

);

1784  return info

.second.m_Bioseq_Info;

1795  info

.second.m_Bioseq_Info.Reset(&bioseq_info);

1799  return info

.second.m_Bioseq_Info.GetPointerOrNull() == &bioseq_info;

1837  if

( !

info

|| !

info

->HasBioseq() ||

1838

&

info

->x_GetTSE_ScopeInfo() != &tse_info ) {

1864  for

(

size_t i

= 0;

i

< ids.size(); ++

i

) {

1874  if

( !

info

|| !

info

->HasBioseq() ||

1875

&

info

->x_GetTSE_ScopeInfo() != &tse_info ) {

1884

new_matching_ids[

i

] = match_id;

1887  if

( !new_matching_ids.

empty

() ) {

1889  auto

matches = tse_info.

ResolveBulk

(new_matching_ids);

1890  for

(

auto

& m : matches ) {

1982

scope_info.

SetEditTSE

(new_tse_lock, *new_ds_info);

1996  else if

( old_ds_info->

IsConst

() ) {

2073

ids.

insert

(citer.GetSeq_id_Handle());

2075  if

( ids.

empty

() ) {

2088  if

(ids.

size

() == 1) {

2093  "CScope_Impl::GetBioseqHandle: " 2094  "Seq-loc references multiple unresolvable seq-ids"

);

2106  if

(segs->

FindSeg

(*

id

) < 0) {

2107  if

(ids.

size

() > 1) {

2118  if

(valid && master) {

2122  else if

(ids.

size

() > 1) {

2129  "CScope_Impl::GetBioseqHandle: " 2130  "Seq-loc references multiple seq-ids"

);

2185  if

( new_priority != last_priority ) {

2191

last_priority = new_priority;

2243  else if

( node.

IsLeaf

() ) {

2263  if

( !id_info.second.m_Bioseq_Info ) {

2266

id_info.second.m_Bioseq_Info = bioseq;

2270

bioseq = id_info.second.m_Bioseq_Info;

2282

id_info.second.m_Bioseq_Info = bioseq;

2383

(annot_ref_info->m_SearchTimestamp !=

2390

cache->match.clear();

2394

annot_ref_info = cache;

2401 #ifdef EXCLUDE_EDITED_BIOSEQ_ANNOT_SET 2424

cache->match.clear();

2428

annot_ref_info = cache;

2452  info

.first.GetReverseMatchingHandles(ids);

2463

lock.reserve(lock.size()+add.size());

2465

save_match->reserve(save_match->size()+add.size());

2469

it->first->GetName().IsNamed() &&

2470

filter_nas->count(it->first->GetName().GetName()) ) {

2484

lock.push_back(pair<CTSE_Handle, CSeq_id_Handle>(tse, it->second));

2493

lock.resize(

size

);

2494  for

(

size_t i

= 0;

i

<

size

; ++

i

) {

2496

lock[

i

].second =

match

[

i

].second;

2502

unique_ptr<SAnnotSelector>& sel_copy,

2506  if

( !processed_nas.

empty

() ) {

2507  if

( sel && !sel_copy ) {

2509

sel = sel_copy.get();

2511  for

(

auto

& na : processed_nas ) {

2517

processed_nas.clear();

2531

bioseq = binfo->

GetLock

(

null

);

2535

unique_ptr<SAnnotSelector> sel_copy;

2540  if

( &*it == excl_ds ) {

2546  if

( excl_ds && it->

m_EditDS

== excl_ds &&

2551

ds_lock, sel, &processed_nas);

2570

unique_ptr<SAnnotSelector> sel_copy;

2580

ids.

insert

(syns->GetSeq_id_Handle(syn_it));

2591  if

( &*it == ds_info ) {

2595

bioseq->x_GetTSE_ScopeInfo().m_TSE_Lock,

2596

ds_lock, sel, &processed_nas);

2598  if

( it->m_EditDS == ds_info ) {

2604

ds_lock, sel, &processed_nas);

2617  sort

(lock.begin(), lock.end());

2618

lock.erase(unique(lock.begin(), lock.end()), lock.end());

2634

bioseq->x_GetTSE_ScopeInfo().m_TSE_Lock,

2637  sort

(lock.begin(), lock.end());

2638

lock.erase(unique(lock.begin(), lock.end()), lock.end());

2671

it->second.x_ResetAnnotRef_Info();

2672  if

( it->second.m_Bioseq_Info ) {

2688

it->second->ResetHistory(action);

2737  info

.GetDataSource().GetBioseqs(

info

, info_set, filter, level);

2742

handles.push_back(bh);

2758  "CScope::GetIds(): null Seq-id handle"

);

2768  if

(

info

&&

info

->HasBioseq() ) {

2770  return info

->GetIds();

2777

it->GetDataSource().GetIds(idh, ret);

2778  if

( !ret.empty() ) {

2786  "CScope::GetIds("

<<idh<<

"): sequence not found"

);

2797  "CScope::GetAccVer(): null Seq-id handle"

);

2812  if

(

info

&&

info

->HasBioseq() ) {

2818  "CScope::GetAccVer("

<<idh<<

"): no accession"

);

2827  if

(

data

.sequence_found ) {

2832  "CScope::GetAccVer("

<<idh<<

"): no accession"

);

2834  return data

.acc_ver;

2841  "CScope::GetAccVer("

<<idh<<

"): sequence not found"

);

2852  "CScope::GetGi(): null Seq-id handle"

);

2861  if

(

info

&&

info

->HasBioseq() ) {

2867  "CScope::GetGi("

<<idh<<

"): no GI"

);

2876  if

(

data

.sequence_found ) {

2881  "CScope::GetGi("

<<idh<<

"): no GI"

);

2889  "CScope::GetGi("

<<idh<<

"): sequence not found"

);

2899  "CScope::GetLabel(): null Seq-id handle"

);

2904  if

( !ret.empty() ) {

2915  if

(

info

&&

info

->HasBioseq() ) {

2922  string

ret = it->GetDataSource().GetLabel(idh);

2923  if

( !ret.empty() ) {

2930  "CScope::GetLabel(): sequence not found"

);

2940  "CScope::GetTaxId(): null Seq-id handle"

);

2946  const CDbtag

& dbtag =

id

->GetGeneral();

2948  if

( obj_id.

IsId

() && dbtag.

GetDb

() ==

"TAXID"

) {

2960  if

(

info

&&

info

->HasBioseq() ) {

2962  TTaxId

ret =

info

->GetObjectInfo().GetTaxId();

2966  "CScope::GetTaxId("

<<idh<<

"): no TaxID"

);

2973  TTaxId

ret = it->GetDataSource().GetTaxId(idh);

2978  "CScope::GetTaxId("

<<idh<<

"): no TaxID"

);

2986  "CScope::GetTaxId("

<<idh<<

"): sequence not found"

);

2997  "CScope::GetSequenceLength(): null Seq-id handle"

);

3006  if

(

info

&&

info

->HasBioseq() ) {

3008  return info

->GetObjectInfo().GetBioseqLength();

3014  TSeqPos

length = it->GetDataSource().GetSequenceLength(idh);

3022  "CScope::GetSequenceLength("

<<idh<<

"): " 3023  "sequence not found"

);

3034  "CScope::GetSequenceType(): null Seq-id handle"

);

3043  if

(

info

&&

info

->HasBioseq() ) {

3045  return info

->GetObjectInfo().GetInst_Mol();

3059  "CScope::GetSequenceType("

<<idh<<

"): " 3060  "sequence not found"

);

3071  "CScope::GetSequenceState(): null Seq-id handle"

);

3080  if

(

info

&&

info

->HasBioseq() ) {

3081  return info

->GetBlobState();

3087  int state

= it->GetDataSource().GetSequenceState(idh);

3095  "CScope::GetSequenceState("

<<idh<<

"): " 3096  "sequence not found"

);

3120  "CScope::GetSequenceState(): null Seq-id handle"

);

3125  bool

found =

false

;

3129

it->GetDataSource().GetSequenceHash(idh);

3130  if

(

data

.sequence_found ) {

3131  if

(

data

.hash_known ) {

3155  "CScope::GetSequenceHash("

<<idh<<

"): no hash"

);

3162  "CScope::GetSequenceHash("

<<idh<<

"): " 3163  "sequence not found"

);

3209  "Bioseq["

<<

info

.IdString()<<

"]: " 3210  "id "

<<idh.

AsString

()<<

" is resolved to another " 3211  "Bioseq["

<<info2->

IdString

()<<

"]"

);

3225  if

(

info

.HasBioseq() ) {

3227  if

( it->HaveReverseMatch() ) {

3229

it->GetReverseMatchingHandles(hset);

3237  if

( it->IsAccVer() ) {

3239  auto

seq_id = it->GetSeqId();

3240  auto

text_id = seq_id->GetTextseq_Id();

3241  if

( text_id->IsSetAccession() &&

3242

(text_id->IsSetName() || text_id->IsSetRelease()) ) {

3246

new_text_id->ResetRelease();

3252  info

.m_SynCache = syn_set;

3254  return info

.m_SynCache;

3267

guard(it->GetTSE_InfoMapMutex());

3279  if

( it->GetDataLoader() ) {

3280  return

&it->GetDataSource();

3310  "CScope_Impl::AttachToTransaction: already attached to another transaction"

);

3325 #ifdef NCBI_COMPILER_WORKSHOP 3327  std::count

(loaded.begin(), loaded.end(),

false

, tmp_count);

3328  return

size_t(tmp_count);

3330  return std::count

(loaded.begin(), loaded.end(),

false

);

3345

TSeqMatchMap match_map;

3346  for

(

size_t i

= from;

i

< from +

count

; ++

i

) {

3349

match_map[ids[

i

]];

3352  if

( match_map.empty() ) {

3356

it->GetBlobs(match_map);

3358  for

(

size_t i

= from;

i

< from +

count

; ++

i

) {

3365

TSeqMatchMap::iterator

match

= match_map.find(ids[

i

]);

3366  if

(

match

!= match_map.end() &&

match

->second) {

3372

id_info.second.m_Bioseq_Info =

info

;

3374

ret[

i

].m_Handle_Seq_id = ids[

i

];

3375

ret[

i

].m_Info =

info

->GetLock(

match

->second.m_Bioseq);

3378  if

( !id_info.second.m_Bioseq_Info ) {

3385

ret[

i

].m_Handle_Seq_id = ids[

i

];

3386

ret[

i

].m_Info.Reset(

info

);

3390

ret[

i

].m_Handle_Seq_id = ids[

i

];

3392  if

(

info

->HasBioseq() ) {

3393

ret[

i

].m_Info =

info

->GetLock(

null

);

3396

ret[

i

].m_Info.Reset(

info

);

3410  size_t count

= sorted_ids.size();

3411

ret.resize(

count

);

3412  if

(

count

> 200 ) {

3414  for

(

size_t

pos = 0; pos <

count

; ) {

3416  if

(

cnt

> 150 )

cnt

= 100;

3442  size_t count

= bhs.size(), remaining =

count

;

3443

vector<bool> loaded(

count

);

3447  for

(

const auto

& bh : bhs) {

3448

id_sets.push_back(bh.x_GetScopeInfo().GetIds());

3457

it->GetDataSource().GetCDDAnnots(id_sets, loaded, cdd_locks);

3461  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3462  if

(!loaded[

i

] || !cdd_locks[

i

])

continue

;

3469

ret[

i

] = *tse_lock;

3477  const TIds

& unsorted_ids,

3484  size_t count

= ids.size(), remaining =

count

;

3486

vector<bool> loaded(

count

);

3491  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3492  if

( loaded[

i

] ) {

3501  if

(

info

->HasBioseq() ) {

3502

ret[

i

] =

info

->GetIds();

3503

loaded[

i

] =

true

;

3508

loaded[

i

] =

true

;

3521

it->GetDataSource().GetBulkIds(ids, loaded, ret);

3527  "CScope::GetBulkIds(): some sequences not found"

);

3535  const TIds

& unsorted_ids,

3542  size_t count

= ids.size(), remaining =

count

;

3544

vector<bool> loaded(

count

);

3546  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3547  if

( ids[

i

].IsAccVer() ) {

3548

ret[

i

] = ids[

i

];

3549

loaded[

i

] =

true

;

3558  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3559  if

( loaded[

i

] ) {

3568  if

(

info

->HasBioseq() ) {

3570

loaded[

i

] =

true

;

3583

it->GetDataSource().GetAccVers(ids, loaded, ret);

3589  "CScope::GetAccVers(): some sequences not found"

);

3593  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3594  if

( loaded[

i

] && !ret[

i

] ) {

3596  "CScope::GetAccVers(): some sequences have no acc"

);

3606  const TIds

& unsorted_ids,

3613  size_t count

= ids.size(), remaining =

count

;

3615

vector<bool> loaded(

count

);

3617  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3618  if

( ids[

i

].IsGi() ) {

3619

ret[

i

] = ids[

i

].GetGi();

3620

loaded[

i

] =

true

;

3629  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3630  if

( loaded[

i

] ) {

3639  if

(

info

->HasBioseq() ) {

3641

loaded[

i

] =

true

;

3654

it->GetDataSource().GetGis(ids, loaded, ret);

3660  "CScope::GetGis(): some sequences not found"

);

3664  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3665  if

( loaded[

i

] && ret[

i

] ==

ZERO_GI

) {

3667  "CScope::GetGis(): some sequences have no GI"

);

3677  const TIds

& unsorted_ids,

3684  size_t count

= ids.size(), remaining =

count

;

3685

ret.assign(

count

,

string

());

3686

vector<bool> loaded(

count

);

3688  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3690  if

( !ret[

i

].

empty

() ) {

3691

loaded[

i

] =

true

;

3700  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3701  if

( loaded[

i

] ) {

3710  if

(

info

->HasBioseq() ) {

3712

loaded[

i

] =

true

;

3725

it->GetDataSource().GetLabels(ids, loaded, ret);

3731  "CScope::GetLabels(): some sequences not found"

);

3739  const TIds

& unsorted_ids,

3746  size_t count

= ids.size(), remaining =

count

;

3748

vector<bool> loaded(

count

);

3750  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3753  const CDbtag

& dbtag =

id

->GetGeneral();

3755  if

( obj_id.

IsId

() && dbtag.

GetDb

() ==

"TAXID"

) {

3757

loaded[

i

] =

true

;

3767  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3768  if

( loaded[

i

] ) {

3777  if

(

info

->HasBioseq() ) {

3779

ret[

i

] =

info

->GetObjectInfo().GetTaxId();

3780

loaded[

i

] =

true

;

3793

it->GetDataSource().GetTaxIds(ids, loaded, ret);

3799  "CScope::GetTaxIds(): some sequences not found"

);

3807  const TIds

& unsorted_ids,

3814  size_t count

= ids.size(), remaining =

count

;

3816

vector<bool> loaded(

count

);

3821  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3822  if

( loaded[

i

] ) {

3831  if

(

info

->HasBioseq() ) {

3833

ret[

i

] =

info

->GetObjectInfo().GetBioseqLength();

3834

loaded[

i

] =

true

;

3847

it->GetDataSource().GetSequenceLengths(ids, loaded, ret);

3852  "CScope::GetSequenceLengths(): some sequences not found"

);

3860  const TIds

& unsorted_ids,

3867  size_t count

= ids.size(), remaining =

count

;

3869

vector<bool> loaded(

count

);

3874  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3875  if

( loaded[

i

] ) {

3884  if

(

info

->HasBioseq() ) {

3886

ret[

i

] =

info

->GetObjectInfo().GetInst_Mol();

3887

loaded[

i

] =

true

;

3900

it->GetDataSource().GetSequenceTypes(ids, loaded, ret);

3905  "CScope::GetSequenceTypes(): some sequences not found"

);

3913  const TIds

& unsorted_ids,

3923  size_t count

= ids.size(), remaining =

count

;

3924

ret.assign(

count

, kNotFound);

3925

vector<bool> loaded(

count

);

3930  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3931  if

( loaded[

i

] ) {

3940  if

(

info

->HasBioseq() ) {

3942

ret[

i

] =

info

->GetBlobState();

3943

loaded[

i

] =

true

;

3956

it->GetDataSource().GetSequenceStates(ids, loaded, ret);

3961  "CScope::GetSequenceStates(): some sequences not found"

);

3969  const TIds

& unsorted_ids,

3976  size_t count

= ids.size(), remaining =

count

;

3977

ret.assign(

count

, 0);

3978

vector<bool> loaded(

count

);

3979

vector<bool> known(

count

);

3988

it->GetDataSource().GetSequenceHashes(ids, loaded, ret, known);

3992  for

(

size_t i

= 0;

i

<

count

; ++

i

) {

3997  if

( !loaded[

i

] ) {

4007  "CScope::GetSequenceHash("

<<ids[

i

]<<

"): " 4015  "CScope::GetSequenceHashes(): some sequences not found"

);

static CRef< CScope > m_Scope

User-defined methods of the data storage class.

User-defined methods of the data storage class.

User-defined methods of the data storage class.

Checksum and hash calculation classes.

bool IsSetDescr(void) const

bool IsSetAnnot(void) const

const TAnnot & GetAnnot(void) const

const CSeq_entry_Info & GetParentSeq_entry_Info(void) const

CConstRef< TObject > GetBioseqCore(void) const

atomic< int > m_IdChangeCounter

bool HasBioseq(void) const

TAnnotRefInfo m_BioseqAnnotRef_Info

string IdString(void) const

const CBioseq_Info & GetObjectInfo(void) const

void SetUnresolved(TBlobStateFlags flag, int timestamp)

CInitMutex< CSynonymsSet > m_SynCache

atomic< int > m_UnresolvedTimestamp

const TIds & GetIds(void) const

TBioseq_Lock GetLock(CConstRef< CBioseq_Info > bioseq)

void x_ResetAnnotRef_Info()

TNAAnnotRefInfo m_NABioseqAnnotRef_Info

CBioseq_set_EditHandle –.

bool IsSetClass(void) const

bool IsEmptySeq_set(void) const

bool IsSetSeq_set(void) const

bool IsSetDate(void) const

CRef< CSeq_entry_Info > AddEntry(CSeq_entry &entry, int index, bool set_uniqid=false)

bool IsSetLevel(void) const

bool IsSetColl(void) const

bool IsSetRelease(void) const

Blob state exceptions, used by GenBank loader.

CChecksum – Checksum calculator.

const TTSE_InfoMap & GetTSE_InfoMap(void) const

void SetCanRemoveOnResetHistory(void)

pair< TSeq_annot_Lock, int > TSeq_feat_Lock

TTSE_InfoMapMutex & GetTSE_InfoMapMutex(void) const

CScope_Impl & GetScopeImpl(void) const

CDataSource & GetDataSource(void)

void ResetHistory(int action_if_locked)

TTSE_Lock GetTSE_Lock(const CTSE_Lock &tse)

CRef< CDataSource_ScopeInfo > m_EditDS

SSeqMatch_Scope BestResolve(const CSeq_id_Handle &idh, int get_flag)

CDataLoader * GetDataLoader(void)

bool CanBeEdited(void) const

TSeq_entry_Lock GetSeq_entry_Lock(const CBlobIdKey &blob_id)

TTSE_Lock GetSharedTSE(void) const

TTSE_Lock AddStaticTSE(CSeq_entry &se)

bool CanBeEdited(void) const

bool DropStaticTSE(CTSE_Info &info)

TPriority GetDefaultPriority(void) const

CDataLoader * GetDataLoader(void) const

void DropAllTSEs(void)

Get TSE info by seq-id handle.

const CConstRef< CObject > & GetSharedObject(void) const

vector< CConstRef< CBioseq_Info > > TBioseq_InfoSet

vector< CTSE_Lock > TCDD_Locks

void GetTSESetWithOrphanAnnots(const TSeq_idSet &ids, TTSE_LockMatchSet &tse_set, const SAnnotSelector *sel, CDataLoader::TProcessedNAs *processed_nas=0)

void GetTSESetWithBioseqAnnots(const CBioseq_Info &bioseq, const TTSE_Lock &tse, TTSE_LockMatchSet &tse_set, const SAnnotSelector *sel, CDataLoader::TProcessedNAs *processed_nas=0, bool external_only=false)

vector< vector< CSeq_id_Handle > > TSeqIdSets

void GetTSESetWithExternalAnnots(const CBioseq_Info &bioseq, const TTSE_Lock &tse, TTSE_LockMatchSet &tse_set, const SAnnotSelector *sel, CDataLoader::TProcessedNAs *processed_nas=0)

void Release()

Manually force the resource to be released.

int FindSeg(const CSeq_id_Handle &h) const

Base class for all object manager exceptions.

CPriorityTree & GetTree(void)

TPriorityMap & GetTree(void)

bool Insert(const CPriorityNode &node, TPriority priority)

size_t Erase(const TLeaf &leaf)

bool HasSeveralNodes(void)

bool IsDetached(void) const

CScope_Impl & x_GetScopeImpl(void) const

CTSE_ScopeInfo & x_GetTSE_ScopeInfo(void) const

CSeq_entry_EditHandle x_AttachEntry(const CBioseq_set_EditHandle &seqset, CRef< CSeq_entry_Info > entry, int index)

CRef< CBioseq_ScopeInfo > x_GetBioseq_Info(const CSeq_id_Handle &id, int get_flag, SSeqMatch_Scope &match)

void x_ClearAnnotCache(void)

CRef< CDataSource_ScopeInfo > GetConstDS(TPriority priority)

TBioseq_Lock x_GetBioseq_Lock(const CBioseq &bioseq, int action)

friend class CSeq_entry_Handle

TSeqPos GetSequenceLength(const CSeq_id_Handle &id, TGetFlags flags)

CDataSource::TTSE_LockMatchSet TTSE_LockMatchSet_DS

IScopeTransaction_Impl & GetTransaction()

string GetLabel(const CSeq_id_Handle &idh, TGetFlags flags)

void ResetDataAndHistory(void)

CBioseq_ScopeInfo::TTSE_MatchSet TTSE_MatchSet

TBioseqHandles GetBioseqHandles(const TIds &ids)

friend class CSeq_annot_EditHandle

CPriorityTree m_setDataSrc

CSeq_annot_EditHandle x_AttachAnnot(const CSeq_entry_EditHandle &entry, CRef< CSeq_annot_Info > annot)

void x_ReportNewDataConflict(const CSeq_id_Handle *conflict_id=0)

SSeqMatch_Scope x_FindBioseqInfo(const CPriorityTree &tree, const CSeq_id_Handle &idh, int get_flag)

void x_UpdateHandleSeq_id(CBioseq_Handle &bh)

CConstRef< CSynonymsSet > x_GetSynonyms(CBioseq_ScopeInfo &info)

CRef< CSeq_entry > x_MakeDummyTSE(CBioseq &seq) const

friend class CBioseq_set_Handle

CRef< CObjectManager > m_ObjMgr

CBioseq_Handle AddBioseq(CBioseq &bioseq, TPriority pri, TExist action)

void GetSequenceStates(TSequenceStates &ret, const TIds &idhs, TGetFlags flags)

void x_ClearCacheOnRemoveAnnot(const CTSE_Info &old_tse)

bool Exists(const CSeq_id_Handle &id)

void GetTaxIds(TTaxIds &ret, const TIds &idhs, TGetFlags flags)

vector< CBioseq_Handle > TBioseqHandles

Bulk retrieval methods.

CSeq_entry_Handle AddSeq_entry(CSeq_entry &entry, TPriority pri, TExist action)

void x_ClearCacheOnRemoveSeqId(const CSeq_id_Handle &id, CBioseq_ScopeInfo &seq)

TSeq_idMapValue * x_FindSeq_id_Info(const CSeq_id_Handle &id)

int GetSequenceHash(const CSeq_id_Handle &id, TGetFlags flags)

TCDD_Entries GetCDDAnnots(const TIds &idhs)

void SetKeepExternalAnnotsForEdit(bool keep=true)

CTSE_ScopeUserLock TTSE_Lock

TBioseqHandles GetBioseqHandlesFromTSE(const TIds &ids, const CTSE_Handle &tse)

CBioseq_Handle x_GetBioseqHandle(const CBioseq_Info &seq, const CTSE_Handle &tse)

vector< CTSE_Handle > TCDD_Entries

friend class CBioseq_Handle

void AddDefaults(TPriority priority)

IScopeTransaction_Impl * m_Transaction

CSeq_entry_Handle GetSeq_entryHandle(CDataLoader *loader, const CBlobIdKey &blob_id, TMissing action)

void GetGis(TGIs &ret, const TIds &idhs, TGetFlags flags)

void RemoveBioseq(const CBioseq_EditHandle &seq)

CSeq_annot_Handle AddSharedSeq_annot(const CSeq_annot &annot, TPriority pri, TExist action)

TSeq_idMap::value_type TSeq_idMapValue

CBioseq_Handle GetBioseqHandleFromTSE(const CSeq_id_Handle &id, const CTSE_Handle &tse)

CBioseq_Handle x_GetBioseqHandleFromTSE(const CSeq_id_Handle &id, const CTSE_Handle &tse)

void x_ClearCacheOnNewAnnot(const CTSE_Info &new_tse)

void RemoveFromHistory(const CTSE_Handle &tse, int action)

void x_ClearCacheOnRemoveData(const CTSE_Info *old_tse=0)

bool GetKeepExternalAnnotsForEdit() const

void SetActiveTransaction(IScopeTransaction_Impl *)

virtual ~CScope_Impl(void)

void x_ResolveSeq_id(TSeq_idMapValue &id, int get_flag, SSeqMatch_Scope &match)

CSeq_annot_Handle AddSeq_annot(CSeq_annot &annot, TPriority pri, TExist action)

void GetAccVers(TIds &ret, const TIds &idhs, TGetFlags flags)

void x_GetTSESetWithAnnots(TTSE_LockMatchSet &lock, CBioseq_ScopeInfo &binfo, const SAnnotSelector *sel=0)

TSeq_annot_Lock x_GetSeq_annot_Lock(const CSeq_annot &annot, int action)

bool m_KeepExternalAnnotsForEdit

vector< TSeqPos > TSequenceLengths

void RemoveAnnot(const CSeq_annot_EditHandle &annot)

pair< CConstRef< CSeq_entry_Info >, TTSE_Lock > TSeq_entry_Lock

void x_ClearCacheOnNewData(const TIds &seq_ids, const TIds &annot_ids)

CRef< CDataSource_ScopeInfo > GetEditDataSource(CDataSource_ScopeInfo &ds, const CTSE_ScopeInfo *replaced_tse=0)

void RemoveEntry(const CSeq_entry_EditHandle &entry)

void AddScope(CScope_Impl &scope, TPriority priority)

CBioseq_set_EditHandle SelectSet(const CSeq_entry_EditHandle &entry, CBioseq_set &seqset)

vector< pair< CTSE_Handle, CSeq_id_Handle > > TTSE_LockMatchSet

vector< CBioseq_Handle > TBioseq_HandleSet

void x_GetTSESetWithOrphanAnnots(TTSE_LockMatchSet &lock, TTSE_MatchSet *save_match, const TSeq_idSet &ids, CBioseq_ScopeInfo *binfo, const SAnnotSelector *sel)

CBioseq_ScopeInfo::TAnnotRefInfo & x_GetAnnotRef_Info(const SAnnotSelector *sel, CBioseq_ScopeInfo::TAnnotRefInfo &main_info, CBioseq_ScopeInfo::TNAAnnotRefInfo &na_info)

void GetAllTSEs(TTSE_Handles &tses, int kind)

void SelectNone(const CSeq_entry_EditHandle &entry)

void x_PopulateBioseq_HandleSet(const CSeq_entry_Handle &tse, TBioseq_HandleSet &handles, CSeq_inst::EMol filter, TBioseqLevelFlag level)

friend class CBioseq_EditHandle

void RemoveTopLevelBioseq(const CBioseq_Handle &seq)

void x_GetTSESetWithBioseqAnnots(TTSE_LockMatchSet &lock, TTSE_MatchSet *save_match, CBioseq_ScopeInfo &binfo, const SAnnotSelector *sel)

void x_ClearCacheOnNewDS(void)

void GetBulkIds(TBulkIds &ret, const TIds &idhs, TGetFlags flags)

CDataSource_ScopeInfo::TBioseq_Lock TBioseq_Lock

void AddDataLoader(const string &loader_name, TPriority priority)

void RemoveTopLevelAnnot(const CSeq_annot_Handle &annot)

CSeq_inst::TMol GetSequenceType(const CSeq_id_Handle &id, TGetFlags flags)

CInitMutexPool m_MutexPool

friend class CScopeTransaction_Impl

vector< int > TSequenceStates

TBioseq_set_Lock x_GetBioseq_set_Lock(const CBioseq_set &seqset, int action)

CSeq_annot_Handle GetSeq_annotHandle(const CSeq_annot &annot, TMissing action)

bool IsSameBioseq(const CSeq_id_Handle &id1, const CSeq_id_Handle &id2, int get_flag)

void ResetHistory(int action)

CSeq_entry_Handle AddSeq_submit(CSeq_submit &submit, TPriority pri)

friend class CBioseq_ScopeInfo

void x_AddTSESetWithAnnots(TTSE_LockMatchSet &lock, TTSE_MatchSet *save_match, const TTSE_LockMatchSet_DS &add, CDataSource_ScopeInfo &ds_info, CDataLoader::TProcessedNAs *filter_nas=0)

CSeq_entry_Handle AddSharedSeq_entry(const CSeq_entry &entry, TPriority pri, TExist action)

atomic< int > m_AnnotChangeCounter

CSeq_annot_EditHandle AttachAnnot(const CSeq_entry_EditHandle &entry, CSeq_annot &annot)

vector< CSeq_entry_Handle > TTSE_Handles

CSeq_feat_Handle GetSeq_featHandle(const CSeq_feat &feat, TMissing action)

atomic< int > m_BioseqChangeCounter

void x_ClearCacheOnEdit(const CTSE_ScopeInfo &replaced_tse)

friend class CDataSource_ScopeInfo

void x_GetBioseqHandlesFromTSE(const TIds &ids, TBioseqHandles &ret, const CTSE_Handle &tse)

void GetSequenceTypes(TSequenceTypes &ret, const TIds &idhs, TGetFlags flags)

CBioseq_Handle AddSharedBioseq(const CBioseq &bioseq, TPriority pri, TExist action)

vector< CSeq_inst::TMol > TSequenceTypes

CConstRef< CSynonymsSet > GetSynonyms(const CSeq_id_Handle &id, int get_flag)

TSeq_entry_Lock x_GetSeq_entry_Lock(const CSeq_entry &entry, int action)

void RemoveDataLoader(const string &loader_name, int action)

TSeq_idMapLock m_Seq_idMapLock

CRef< CBioseq_ScopeInfo > x_FindBioseq_Info(const CSeq_id_Handle &id, int get_flag, SSeqMatch_Scope &match)

void GetSequenceLengths(TSequenceLengths &ret, const TIds &idhs, TGetFlags flags)

vector< CSeq_id_Handle > TIds

void x_DetachFromOM(void)

CSeq_entry_EditHandle AttachEntry(const CBioseq_set_EditHandle &seqset, CSeq_entry &entry, int index=-1)

void x_AttachToOM(CObjectManager &objmgr)

CRef< CDataSource_ScopeInfo > AddDSBefore(CRef< CDataSource > ds, CRef< CDataSource_ScopeInfo > ds2, const CTSE_ScopeInfo *replaced_tse=0)

void GetSequenceHashes(TSequenceHashes &ret, const TIds &idhs, TGetFlags flags)

CBioseq_set_EditHandle x_SelectSet(const CSeq_entry_EditHandle &entry, CRef< CBioseq_set_Info > seqset)

void RemoveTopLevelBioseq_set(const CBioseq_set_Handle &seqset)

CSeq_id_Handle GetAccVer(const CSeq_id_Handle &idh, TGetFlags flags)

void GetLabels(TLabels &ret, const TIds &idhs, TGetFlags flags)

CDataSource * GetFirstLoaderSource(void)

bool x_IsDummyTSE(const CTSE_Info &tse, const CBioseq_Info &seq) const

CBioseq_Handle GetBioseqHandle(const CSeq_id_Handle &id, int get_flag)

CBioseq_set_Handle GetBioseq_setHandle(const CBioseq_set &seqset, TMissing action)

friend class CSeq_entry_EditHandle

CRef< CDataSource_ScopeInfo > AddDS(CRef< CDataSource > ds, TPriority priority)

CRef< CBioseq_ScopeInfo > x_InitBioseq_Info(TSeq_idMapValue &info, int get_flag, SSeqMatch_Scope &match)

TIds GetIds(const CSeq_id_Handle &idh, TGetFlags flags=0)

void x_GetBioseqHandlesSorted(const TIds &ids, size_t from, size_t count, TBioseqHandles &ret)

Bulk retrieval methods.

pair< CConstRef< CSeq_annot_Info >, TTSE_Lock > TSeq_annot_Lock

void RemoveBioseq_set(const CBioseq_set_EditHandle &seqset)

CRef< CDataSource_ScopeInfo > GetEditDS(TPriority priority)

TTSE_Lock x_GetTSE_Lock(const CSeq_entry &tse, int action)

CBioseq_EditHandle SelectSeq(const CSeq_entry_EditHandle &entry, CBioseq &seq)

pair< CConstRef< CBioseq_set_Info >, TTSE_Lock > TBioseq_set_Lock

TGi GetGi(const CSeq_id_Handle &idh, TGetFlags flags)

CTSE_Handle GetEditHandle(const CTSE_Handle &src_tse)

TSeq_idMapValue & x_GetSeq_id_Info(const CSeq_id_Handle &id)

CRef< CDataSource_ScopeInfo > x_GetDSInfo(CDataSource &ds)

void GetTSESetWithAnnots(const CSeq_id_Handle &idh, TTSE_LockMatchSet &tse_set)

friend class CBioseq_set_EditHandle

CBioseq_EditHandle x_SelectSeq(const CSeq_entry_EditHandle &entry, CRef< CBioseq_Info > bioseq)

TTaxId GetTaxId(const CSeq_id_Handle &idh, TGetFlags flags)

void x_AddSynonym(const CSeq_id_Handle &idh, CSynonymsSet &syn_set, CBioseq_ScopeInfo &info)

void x_LockMatchSet(TTSE_LockMatchSet &lock, const TTSE_MatchSet &match)

void x_UpdateProcessedNAs(const SAnnotSelector *&sel, unique_ptr< SAnnotSelector > &sel_copy, CDataLoader::TProcessedNAs &filter_nas, CDataLoader::TProcessedNAs &processed_nas)

void RemoveTopLevelSeqEntry(const CTSE_Handle &entry)

bool IsTransactionActive() const

int GetSequenceState(const CSeq_id_Handle &id, TGetFlags flags)

IScopeTransaction_Impl * CreateTransaction()

const CSeq_entry_Info & GetParentSeq_entry_Info(void) const

TSeq & SelectSeq(TSeq &seq)

CRef< CSeq_annot_Info > AddAnnot(CSeq_annot &annot)

const TSeq & GetSeq(void) const

virtual void GetSeqAndAnnotIds(TSeqIds &seq_ids, TSeqIds &annot_ids) const

const TSet & GetSet(void) const

namespace ncbi::objects::

Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.

void GetSortedBioseqs(TBioseqs &bioseqs) const

void RestoreOrder(vector< TValue > &values) const

void RestoreOrder(vector< TValue > &values) const

void GetSortedIds(TIds &ids) const

bool ContainsSynonym(const CSeq_id_Handle &id) const

void AddSynonym(const value_type &syn)

bool CanBeEdited(void) const

Return true if this TSE handle is local to scope and can be edited.

TScopeInfo & x_GetScopeInfo(void) const

const CTSE_Info & x_GetTSE_Info(void) const

const CTSE_Info & GetTSE_Info(void) const

void SetTopLevelObject(ETopLevelObjectType type, CSerialObject *ptr)

CConstRef< CSeq_entry > GetTSECore(void) const

CConstRef< CMasterSeqSegments > GetMasterSeqSegments(void) const

void SetTopLevelObjectType(ETopLevelObjectType type)

unique_ptr< SBaseTSE > m_BaseTSE

CConstRef< CBioseq_Info > GetSegSetMaster(void) const

CDataSource_ScopeInfo & GetDSInfo(void) const

void AddAnnot(CSeq_entry_ScopeInfo &entry, CSeq_annot_ScopeInfo &info)

void ResetEntry(CSeq_entry_ScopeInfo &info)

CRef< CBioseq_ScopeInfo > GetBioseqInfo(const SSeqMatch_Scope &match)

CSeq_id_Handle ContainsMatchingBioseq(const CSeq_id_Handle &id) const

void ReplaceTSE(const CTSE_Info &old_tse)

void RemoveFromHistory(const CTSE_Handle *tseh, int action_if_locked, bool drop_from_ds=false)

void RemoveAnnot(CSeq_annot_ScopeInfo &info)

void SelectSet(CSeq_entry_ScopeInfo &entry, CBioseq_set_ScopeInfo &info)

SSeqMatch_Scope Resolve(const CSeq_id_Handle &id)

bool CanBeEdited(void) const

map< size_t, SSeqMatch_Scope > ResolveBulk(const map< size_t, CSeq_id_Handle > &ids)

CScope_Impl & GetScopeImpl(void) const

TBioseq_Lock GetBioseqLock(CRef< CBioseq_ScopeInfo > info, CConstRef< CBioseq_Info > bioseq)

void SelectSeq(CSeq_entry_ScopeInfo &entry, CBioseq_ScopeInfo &info)

void SetEditTSE(const CTSE_Lock &new_tse_lock, CDataSource_ScopeInfo &new_ds)

void RemoveEntry(CSeq_entry_ScopeInfo &info)

void AddEntry(CBioseq_set_ScopeInfo &seqset, CSeq_entry_ScopeInfo &info, int index)

virtual void AddScope(CScope_Impl &)=0

virtual bool HasScope(CScope_Impl &) const =0

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)

const_iterator find(const key_type &key) const

const_iterator lower_bound(const key_type &key) const

iterator_bool insert(const value_type &val)

static void DLIST_NAME() init(DLIST_LIST_TYPE *list)

static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)

unsigned int TSeqPos

Type for sequence locations and lengths.

#define ITERATE(Type, Var, Cont)

ITERATE macro to sequence through container elements.

#define NON_CONST_ITERATE(Type, Var, Cont)

Non constant version of ITERATE macro.

SStrictId_Tax::TId TTaxId

Taxon id type.

const TSeqPos kInvalidSeqPos

Define special value for invalid sequence position.

#define TAX_ID_FROM(T, value)

Uint4 GetChecksum(void) const

Return calculated checksum.

void AddChars(const char *str, size_t len)

Update current control sum with data provided.

#define LOG_POST_X(err_subcode, message)

#define ERR_POST_X(err_subcode, message)

Error posting with default error code and given error subcode.

#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)

#define NCBI_THROW_FMT(exception_class, err_code, message)

The same as NCBI_THROW but with message processed as output to ostream.

void Info(CExceptionArgs_Base &args)

C * SerialClone(const C &src)

Create on heap a clone of the source object.

string GetDirectLabel(const CSeq_id &id)

Return best label for a sequence from single Seq-id, or set of Seq-ids.

CConstRef< CSeq_id > GetSeqId(void) const

bool IsAccVer(void) const

static CSeq_id_Handle GetHandle(const CSeq_id &id)

Normal way of getting a handle, works for any seq-id.

string AsString(void) const

CSeq_id::E_Choice Which(void) const

string GetLabel(const CSeq_id &id)

const CTextseq_id * GetTextseq_Id(void) const

Return embedded CTextseq_id, if any.

void AcquireDefaultDataSources(TDataSourcesLock &sources)

void SetKeepExternalAnnotsForEdit(bool keep=true)

Change this scope's KeepExternalAnnotsForEdit flag.

static bool IsActive(void)

TDataSourceLock AcquireSharedSeq_entry(const CSeq_entry &object)

bool GetKeepExternalAnnotsForEdit() const

Return this scope's KeepExternalAnnotsForEdit flag.

void RevokeScope(CScope_Impl &scope)

TBlobState GetBlobState(void)

CDataSource * GetDataSource(void) const

TDataSourceLock AcquireSharedBioseq(const CBioseq &object)

vector< CBioseq_Handle > TBioseqHandles

static CSeq_id_Handle x_GetAccVer(const TIds &ids)

TDataSourceLock AcquireSharedSeq_annot(const CSeq_annot &object)

void RegisterScope(CScope_Impl &scope)

TDataSourceLock AcquireDataLoader(CDataLoader &loader)

static TGi x_GetGi(const TIds &ids)

static bool GetDefaultKeepExternalAnnotsForEdit()

Return current application-wide KeepExternalAnnotsForEdit flag.

static void SetDefaultKeepExternalAnnotsForEdit(bool keep=true)

Set new application-wide KeepExternalAnnotsForEdit flag.

CRef< CScope_Impl > m_Impl

@ fThrowOnMissing

throw exception if sequence or requested data aren't found

@ fThrowOnMissingData

fThrowOnMissingData will cause exception to be thrown if sequence is found but doesn't have the data ...

@ fDoNotRecalculate

avoid time-consuming recalculation of missing data

@ fThrowOnMissingSequence

fThrowOnMissingSequence will cause exception to be thrown if sequence not found.

@ fForceLoad

ignore already loaded information and alway request data loader

@ eGetBioseq_Resolved

Search only in already resolved ids.

@ eGetBioseq_Loaded

Search in all loaded TSEs in the scope.

@ eGetBioseq_All

Search bioseq, load if not loaded yet.

@ kPriority_Default

Use default priority for added data.

vector< CSeq_id_Handle > TId

TScopeInfo & x_GetScopeInfo(void) const

const CTSE_Handle & GetTSE_Handle(void) const

const CTSE_Handle & GetTSE_Handle(void) const

Get CTSE_Handle of containing TSE.

CSeq_annot_Info & x_GetInfo(void) const

TScopeInfo & x_GetScopeInfo(void) const

E_Choice Which(void) const

const CTSE_Handle & GetTSE_Handle(void) const

bool IsRemoved(void) const

bool IsRemoved(void) const

const CTSE_Handle & GetTSE_Handle(void) const

const CBioseq_ScopeInfo & x_GetScopeInfo(void) const

const CSeq_entry_Info & x_GetInfo(void) const

bool IsRemoved(void) const

Check if handle points to a removed bioseq.

CSeq_id_Handle m_Handle_Seq_id

bool IsRemoved(void) const

const CBioseq_set_Info & x_GetInfo(void) const

CBioseq_set_Info & x_GetInfo(void) const

CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const

Complete and get const reference to the seq-entry.

const CSeq_annot_Info & x_GetInfo(void) const

CSeq_entry_EditHandle GetParentEntry(void) const

Navigate object tree.

const CBioseq_Info & x_GetInfo(void) const

CSeq_entry_EditHandle GetParentEntry(void) const

Get parent seq-entry edit handle.

CSeq_entry_Info & x_GetInfo(void) const

CBioseq_ScopeInfo & x_GetScopeInfo(void) const

const TId & GetId(void) const

CSeq_entry_EditHandle GetParentEntry(void) const

Navigate object tree.

TScopeInfo & x_GetScopeInfo(void) const

@ eCoding_Iupac

Set coding to printable coding (Iupacna or Iupacaa)

bool IsIncludedAnyNamedAnnotAccession(void) const

check if any named annot accession is included in the search

TSNPScaleLimit GetSNPScaleLimit(void) const

const TNamedAnnotAccessions & GetNamedAnnotAccessions(void) const

SAnnotSelector & ExcludeNamedAnnotAccession(const string &acc)

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.

void Reset(void)

Reset reference object.

void Reset(void)

Reset reference object.

#define NCBI_PARAM_TYPE(section, name)

Generate typename for a parameter from its {section, name} attributes.

#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.

const TTag & GetTag(void) const

Get the Tag member data.

bool IsId(void) const

Check if variant Id is selected.

const TDb & GetDb(void) const

Get the Db member data.

TId GetId(void) const

Get the variant data.

const TLocation & GetLocation(void) const

Get the Location member data.

void ResetName(void)

Reset Name data member.

@ e_General

for other databases

TSet & SetSet(void)

Select the variant.

TAnnot & SetAnnot(void)

Assign a value to Annot data member.

TSeq & SetSeq(void)

Select the variant.

TSeq_set & SetSeq_set(void)

Assign a value to Seq_set data member.

@ e_not_set

No variant selected.

EMol

molecule class in living organism

@ eMol_not_set

> cdna = rna

E_Choice Which(void) const

Which variant is currently selected.

const TEntrys & GetEntrys(void) const

Get the variant data.

const TAnnots & GetAnnots(void) const

Get the variant data.

const TData & GetData(void) const

Get the Data member data.

Definition of all error codes used in objmgr libraries (xobjmgr.lib, xobjutil.lib and others).

constexpr auto sort(_Init &&init)

constexpr bool empty(list< Ts... >) noexcept

double value_type

The numeric datatype used by the parser.

const struct ncbi::grid::netcache::search::fields::SIZE size

static int match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, uint16_t top_bracket, PCRE2_SIZE frame_size, pcre2_match_data *match_data, match_block *mb)

static int sx_CalcHash(const CBioseq_Handle &bh)

NCBI_PARAM_DEF(bool, OBJMGR, KEEP_EXTERNAL_FOR_EDIT, false)

static size_t sx_CountFalse(const vector< bool > &loaded)

#define CHECK_REMOVED_HANDLE(func, handle)

NCBI_PARAM_DECL(bool, OBJMGR, KEEP_EXTERNAL_FOR_EDIT)

#define CHECK_HANDLE(func, handle)

Better replacement of GetAccVer(), this method should be defined in data loaders, GetAccVer() is left...

Better replacement of GetGi(), this method should be defined in data loaders, GetGi() is left for com...

Better replacement of GetSequenceHash(), this method should be defined in data loaders,...

Better replacement of GetSequenceType(), this method should be defined in data loaders,...

TBlobStateFlags m_BlobState

CTSE_ScopeUserLock m_TSE_Lock

CConstRef< CBioseq_Info > m_Bioseq

CRef< CTSE_ScopeInfo, CTSE_ScopeUserLocker > CTSE_ScopeUserLock


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