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/psg__loader__impl_8cpp_source.html below:

NCBI C++ ToolKit: src/objtools/data_loaders/genbank/psg_loader_impl.cpp Source File

66 #if defined(HAVE_PSG_LOADER) 83 #define DEFAULT_WAIT_TIME 1 84 #define DEFAULT_WAIT_TIME_MULTIPLIER 1.5 85 #define DEFAULT_WAIT_TIME_INCREMENT 1 86 #define DEFAULT_WAIT_TIME_MAX 30 100  "wait_time_multiplier"

,

105  "wait_time_increment"

,

117

m_CancelRequested(

false

),

119

m_QueueGuard(*loader.m_ThreadPool, *loader.m_Queue),

134

m_CancelRequested.store(

true

, memory_order_release);

139  return

m_CancelRequested.load(memory_order_acquire);

145

m_QueueGuard.CancelAll();

146

m_AddRequestSemaphore.Post();

147

m_ReadResultsThread.join();

161  while

( !IsCancelRequested() ) {

162  if

(

auto result

= m_QueueGuard.GetNextResult() ) {

166  LOG_POST

(

Warning

<<

"CPSGDataLoader: Failed to load CDDs info for "

<< processor->m_CDDIds);

172

m_AddRequestSemaphore.Wait();

180  if

( IsCancelRequested() ) {

189  if

( m_Loader.m_Caches->m_NoCDDCache.Find(blob_id) ) {

193  auto

cached = m_Loader.m_Caches->m_AnnotInfoCache.Find(make_pair(

kCDDAnnotName

, ids));

198  for

(

auto

&

id

: ids) {

202  auto

request = make_shared<CPSG_Request_NamedAnnotInfo>(std::move(bio_ids), annot_names);

210

m_Loader.m_Caches.get()));

211

m_QueueGuard.AddRequest(request, processor);

212

m_AddRequestSemaphore.Post();

220 #define NCBI_PSGLOADER_NAME "psg_loader" 221 #define NCBI_PSGLOADER_SERVICE_NAME "service_name" 222 #define NCBI_PSGLOADER_NOSPLIT "no_split" 223 #define NCBI_PSGLOADER_WHOLE_TSE "whole_tse" 224 #define NCBI_PSGLOADER_WHOLE_TSE_BULK "whole_tse_bulk" 225 #define NCBI_PSGLOADER_ADD_WGS_MASTER "add_wgs_master" 268 template

<

class

TParamType>

271  value

= NStr::StringToNumeric<TParamType>(

str

);

289 template

<

class

TParamDescription>

293  typename

TParam::TValueType

value

= TParam::GetDefault();

295

TParam::GetState(0, &

source

);

300

s_ConvertParamValue<typename TParam::TValueType>(

value

, node->GetValue().value);

311

unique_ptr<CPSGDataLoader::TParamTree> app_params;

325  if

(service_name.empty() && psg_params) {

328  if

(service_name.empty()) {

329

service_name = TPSG_ServiceName::GetDefault();

336  if

(!

value

.empty()) {

348  m_TSERequestMode

= (s_GetParamValue<X_NCBI_PARAM_DECLNAME(PSG_LOADER, WHOLE_TSE)>(psg_params)?

351  m_TSERequestModeBulk

= (s_GetParamValue<X_NCBI_PARAM_DECLNAME(PSG_LOADER, WHOLE_TSE_BULK)>(psg_params)?

359  if

( !param.empty() ) {

365  "Bad value of parameter " 367  ": \""

<<param<<

"\""

);

378  if

(!

value

.empty()) {

379

cache_lifespan = NStr::StringToNumeric<int>(

value

);

386  if

(!

value

.empty()) {

387

no_data_cache_lifespan = NStr::StringToNumeric<int>(

value

);

394  if

(!

value

.empty()) {

395

cache_max_size = NStr::StringToNumeric<size_t>(

value

);

403

s_GetParamValue<X_NCBI_PARAM_DECLNAME(PSG_LOADER, RETRY_COUNT)>(psg_params);

405

s_GetParamValue<X_NCBI_PARAM_DECLNAME(PSG_LOADER, BULK_RETRY_COUNT)>(psg_params);

411  m_Caches

= make_unique<CPSGCaches>(cache_lifespan, cache_max_size,

412

no_data_cache_lifespan, cache_max_size);

426  if

(TPSG_PrefetchCDD::GetDefault()) {

442  static size_t

s_PSGLoaderInstanceCounter = 0;

443  size_t

current_instance_number = ++s_PSGLoaderInstanceCounter;

444  if

( current_instance_number > 1 ) {

447

args.

AddValue

(

"client_id"

, new_client_id);

449  if

(!args.

GetArgs

().empty()) {

488 template

<

class

Call>

494  if

( retry_count == 0 ) {

497  for

(

int t

= 1;

t

< retry_count; ++

t

) {

509  LOG_POST

(

Warning

<<

"CPSGDataLoader::"

<<name<<

"() try "

<<

t

<<

" exception: "

<<exc);

517  LOG_POST

(

Warning

<<

"CPSGDataLoader::"

<<name<<

"() try "

<<

t

<<

" exception: "

<<exc);

519  catch

( exception& exc ) {

520  LOG_POST

(

Warning

<<

"CPSGDataLoader::"

<<name<<

"() try "

<<

t

<<

" exception: "

<<exc.

what

());

523  LOG_POST

(

Warning

<<

"CPSGDataLoader::"

<<name<<

"() try "

<<

t

<<

" exception"

);

527  LOG_POST

(

Warning

<<

"CPSGDataLoader: waiting "

<<wait_sec<<

"s before retry"

);

538

cref(idh), ref(ids)),

549  if

(!seq_info)

return

;

576  if

( seq_info->gi !=

ZERO_GI

) {

577

ret.

gi

= seq_info->gi;

603  if

( seq_info->canonical.IsAccVer() ) {

604

ret.

acc_ver

= seq_info->canonical;

630  _TRACE

(

"no seq_info for "

<<idh);

632  else if

( seq_info->tax_id <= 0 ) {

633  _TRACE

(

"bad tax_id for "

<<idh<<

" : "

<<seq_info->tax_id);

690  out

<<

"failed to load "

<<formatter.

type

<<

" in bulk request: first error "

<<formatter.

processor

;

708

cref(ids), ref(loaded), ref(ret)),

"GetTaxId"

);

714  auto

[ load_count1, failed_processor1 ] =

x_GetIpgTaxIds

(ids, loaded, ret);

715  auto

failed_processor = failed_processor1;

716  if

( load_count1 != ids.size() ) {

717

vector<shared_ptr<SPsgBioseqInfo>> infos;

718

infos.resize(ret.size());

722  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

723  if

(loaded[

i

] || !infos[

i

].get()) {

726

ret[

i

] = infos[

i

]->tax_id;

730  if

( !failed_processor1 ) {

731

failed_processor1 = failed_processor2;

734  if

( failed_processor ) {

745  "GetSequenceLength"

);

778  if

( seq_info->hash ) {

780

ret.

hash

= seq_info->hash;

806

ret.

type

= seq_info->molecule_type;

815

data_source, cref(idh)),

816  "GetSequenceState"

);

836  if

( !

info

.first ) {

840  if

(

info

.second.first ) {

841  state

|=

info

.second.first->blob_state_flags;

861

data_source, cref(idh), choice),

881  auto

bioseq_info =

m_Caches

->m_BioseqInfoCache.Find(idh);

882  if

( bioseq_info && bioseq_info->KnowsBlobId() ) {

884  if

( !bioseq_info->HasBlobId() ) {

891  if

(

m_Caches

->m_NoBioseqInfoCache.Find(idh) ) {

900  auto

request = make_shared<CPSG_Request_Biodata>(std::move(bio_id));

926  "failed to get bioseq info for "

<<idh<<

": "

<<

933  if

(

auto

tse_lock = processor->GetTSE_Lock() ) {

936  else if

( !processor->HasBlob_id() ) {

940  else if

( processor->GotForbidden() ) {

942  "blob state error for "

+idh.

AsString

(),

943

processor->GetForbiddenBlobState());

950  if

(

auto

bioseq_info =

m_Caches

->m_BioseqInfoCache.Find(idh) ) {

975  auto

seq_info =

m_Caches

->m_BioseqInfoCache.Find(idh);

976  if

( seq_info && seq_info->KnowsBlobId() ) {

984  auto

request = make_shared<CPSG_Request_Biodata>(std::move(bio_id));

996  _TRACE

(

"Failed to get blob id for "

<< idh);

998  "CPSGDataLoader::GetBlobId("

<<idh<<

") failed: "

<<

1005  _TRACE

(

"Failed to get blob id for "

<< idh);

1007  "CPSGDataLoader::GetBlobId() failed: "

<<

1010

seq_info = processor->GetBioseqInfoResult();

1012  if

( !seq_info->HasBlobId() ) {

1016  return

seq_info->GetDLBlobId();

1035

data_source, cref(blob_id)),

1046  _TRACE

(

"GetBlobById("

<<blob_id.

ToPsgId

()<<

") should fail"

);

1052  if

( load_lock && load_lock.

IsLoaded

() ) {

1053  _TRACE

(

"GetBlobById() already loaded "

<< blob_id.

ToPsgId

());

1069  auto

request = make_shared<CPSG_Request_Blob>(bid);

1082  "failed to get blob "

<<blob_id.

ToPsgId

()<<

": "

<<

1088

ret = processor->GetTSE_Lock();

1089  if

( !ret && (processor->GotForbidden() || processor->GotUnauthorized()) ) {

1091  if

( processor->GotUnauthorized() ) {

1097  state

|= processor->GetBlobInfoState(blob_id.

ToPsgId

());

1105  "CPSGDataLoader::GetBlobById("

+blob_id.

ToPsgId

()+

") failed"

);

1115

data_source, ref(loaded), ref(tse_sets)),

1160  return

make_optional<TResult>();

1166  return

make_optional<TResult>({tse});

1172  return

make_optional<TResult>({tse});

1189

optional<CPSGDataLoader_Impl::CGetRequests::TResult>

1198  if

( bioseq_info && bioseq_info->KnowsBlobId() ) {

1200  if

( !bioseq_info->HasBlobId() ) {

1207  const string

& blob_id = bioseq_info->GetPSGBlobId();

1210  if

( load_lock && load_lock.

IsLoaded

() ) {

1211  _TRACE

(

"CreateGetRequests: already loaded "

<< blob_id);

1212  return Ready

(idh, load_lock);

1216  _TRACE

(

"CreateGetRequests: forbidden "

<< blob_id);

1222  LOG_POST

(

Info

<<

"PSG loader: Re-loading blob: "

<< blob_id<<

" for "

<<idh);

1224  auto

request = make_shared<CPSG_Request_Blob>(

CPSG_BlobId

(blob_id));

1242  auto

request = make_shared<CPSG_Request_Biodata>(std::move(bio_id));

1265

optional<CPSGDataLoader_Impl::CGetRequests::TResult>

1268  if

(

result

.GetIndex() == eRequestGet ) {

1271

SaveFailure(processor);

1276  if

(

auto

tse_lock = processor->GetTSE_Lock() ) {

1277  return

Ready(idh, tse_lock);

1279  else if

( !processor->HasBlob_id() ) {

1291  LOG_POST

(

Info

<<

"PSG loader: Re-loading blob: "

<< processor->GetPSGBlobId()<<

" for "

<<idh);

1294  auto

request = make_shared<CPSG_Request_Blob>(std::move(blob_id));

1295

request->IncludeData(m_IncludeData);

1299

m_Loader.m_Caches.get(),

1300

m_Loader.m_AddWGSMasterDescr));

1301

m_GetBlob2Reqs[processor2].push_back(idh);

1302

AddRequest(request, processor2, eRequestGetBlob);

1308  TRequests

reqs = std::move(m_GetBlob2Reqs[processor]);

1309

m_GetBlob2Reqs.erase(processor);

1311

!processor->GetTSE_Lock() ) {

1312

SaveFailure(processor);

1316  auto

tse_lock = processor->GetTSE_Lock();

1317  return

Ready(std::move(reqs), tse_lock);

1325  if

( !m_FirstFailedProcessor ) {

1326

m_FirstFailedProcessor = processor;

1333  if

( m_FailedCount ) {

1348  if

( loaded.count(idh) ) {

1353

tse_sets[idh] = std::move(*tse_set);

1361

tse_sets[idh] = *tse_set;

1377

data_source, id_sets, ref(loaded), ref(ret)),

1387

chunks.push_back(

Ref

(&chunk_info));

1406  _TRACE

(

"Cannot make CDD entry because of wrong TSE state id="

<<blob_id.ToString());

1412  _TRACE

(

"Failed to open blob data stream for blob-id "

<< blob_id.ToString());

1427  for

(

auto

&

id

: annot_ids ) {

1441

data_source, cref(chunks)),

1449  if

(chunks.empty())

return

;

1458  for

(

auto

& it : chunks) {

1477  auto

request = make_shared<CPSG_Request_NamedAnnotInfo>(bio_id,

names

);

1480

ids.push_back(cdd_ids.gi);

1481  if

( cdd_ids.acc_ver ) {

1482

ids.push_back(cdd_ids.acc_ver);

1490

queue.

AddRequest

(request, processor, eRequestCDD);

1493  auto

request = make_shared<CPSG_Request_Blob>(blob_id.

ToPsgId

());

1501

queue.

AddRequest

(request, processor, eRequestDelayedTSE);

1514

queue.

AddRequest

(request, processor, eRequestChunk);

1517  size_t

failed_count = 0;

1521  _TRACE

(

"CPSGDataLoader::LoadChunks(): failed to process request "

<<

1524  if

( !first_failed_processor ) {

1525

first_failed_processor =

result

.GetProcessor();

1534  _TRACE

(

"CPSGDataLoader::LoadChunks(): failed to load chunk "

<<

1539  if

( failed_count ) {

1547

pair<CRef<CTSE_Chunk_Info>,

string

>

1550

pair<CRef<CTSE_Chunk_Info>,

string

> ret;

1552  unsigned

main_count = 0;

1553  unsigned

zoom_count = 0;

1573

vector<SAnnotTypeSelector>

types

;

1581  for

(

auto

feat_type_info_iter : annot_info.

GetFeat

() ) {

1583  int

feat_type = finfo.

GetType

();

1584  if

( feat_type == 0 ) {

1593  for

(

auto

feat_subtype : finfo.

GetSubtypes

() ) {

1608  if

(

names

.size() == 1 ) {

1609

ret.second = *

names

.begin();

1613  " annots: "

<<ret.second<<

" "

<<main_count<<

"+"

<<zoom_count);

1615  if

( !

names

.empty() ) {

1629

data_source, cref(ids), sel, processed_nas),

1630  "GetAnnotRecordsNA"

);

1636  const string

& name,

1642  auto

cached =

m_Caches

->m_AnnotInfoCache.Find(make_pair(name, ids));

1644  if

( !cached->infos.empty() ) {

1647  for

(

auto

&

info

: cached->infos ) {

1650

blob_id->SetTSEName(name);

1654

load_lock->

SetName

(cached->name);

1659

locks.

insert

(load_lock);

1664  if

(

m_Caches

->m_NoAnnotInfoCache.Find(make_pair(name, ids)) ) {

1679  if

( !data_source || ids.empty() ) {

1688  string

snp_name =

"SNP"

;

1691  for

(

auto

&

id

: ids) {

1702  string

name = it->first;

1703  if

(name ==

"SNP"

) {

1714

annot_names.push_back(it->first);

1719  if

( !annot_names.empty() ) {

1727  auto

request = make_shared<CPSG_Request_NamedAnnotInfo>(std::move(bio_ids), annot_names);

1728

request->SetSNPScaleLimit(snp_scale_limit);

1734

queue.

AddRequest

(request, processor, eRequestNA);

1738  typedef

vector<string> TRequests;

1741  if

(

result

.GetIndex() == eRequestNA ) {

1744  _TRACE

(

"Failed to load annotations for "

<<ids.front());

1746  "CPSGDataLoader::GetAnnotRecordsNA("

<<ids.front()<<

") failed: "

<<

1749  for

(

auto

&

r

: processor->GetResults() ) {

1750  if

(

r

.m_TSE_Lock ) {

1752

locks.

insert

(

r

.m_TSE_Lock);

1756  auto

request = make_shared<CPSG_Request_Blob>(std::move(blob_id));

1759

dl_blob_id->SetTSEName(

r

.m_NA);

1765

getblob2reqs[processor2].push_back(

r

.m_NA);

1766

queue.

AddRequest

(request, processor2, eRequestGetBlob);

1772

TRequests reqs = std::move(getblob2reqs[processor]);

1773

getblob2reqs.

erase

(processor);

1775  _TRACE

(

"Failed to load annotations for "

<<ids.front());

1777  "CPSGDataLoader::GetAnnotRecordsNA("

<<ids.front()<<

") failed: "

<<

1780  for

(

auto

& name : reqs ) {

1783

locks.

insert

(processor->GetTSE_Lock());

1791

locks.

insert

(tse_lock);

1804  if

(id_sets.empty())

return

;

1805  _ASSERT

(id_sets.size() == loaded.size());

1806  _ASSERT

(id_sets.size() == ret.size());

1812

vector<SCDDIds> cdd_ids(id_sets.size());

1813  for

(

size_t i

= 0;

i

< id_sets.size(); ++

i

) {

1814  if

( loaded[

i

] ) {

1818  const TIds

& ids = id_sets[

i

];

1819  if

( ids.empty() ) {

1824  if

( !cdd_ids[

i

] ) {

1826

loaded[

i

] =

true

;

1832

loaded[

i

] =

true

;

1837  for

(

auto

&

id

: ids) {

1840  for

(

auto

& bid : blob_ids) {

1855

loaded[

i

] =

true

;

1872

loaded[

i

] =

true

;

1879  for

(

auto

&

id

: ids) {

1882  auto

request = make_shared<CPSG_Request_NamedAnnotInfo>(std::move(bio_ids), annot_names);

1892  size_t

failed_count = 0;

1895  size_t i

=

result

.GetIndex();

1896  _ASSERT

(

i

< cdd_ids.size() && cdd_ids[

i

]);

1903  _TRACE

(

"Failed to load CDDs for "

<< cdd_ids[

i

]);

1905  if

( !first_failed_processor ) {

1906

first_failed_processor =

result

.GetProcessor();

1910

ret[

i

] = processor->m_TSE_Lock;

1911

loaded[

i

] =

true

;

1913  if

( failed_count ) {

1928

cref(ids), ref(loaded), ref(ret)),

1936

vector<shared_ptr<SPsgBioseqInfo>> infos;

1937

infos.resize(ret.size());

1941  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

1942  if

(loaded[

i

] || !infos[

i

].get())

continue

;

1944

ret[

i

].push_back(*it);

1946

loaded[

i

] =

true

;

1949  if

( failed_processor ) {

1959

cref(ids), ref(loaded), ref(ret)),

1967

vector<shared_ptr<SPsgBioseqInfo>> infos;

1968

infos.resize(ret.size());

1972  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

1973  if

(loaded[

i

] || !infos[

i

].get())

continue

;

1978

loaded[

i

] =

true

;

1981  if

( failed_processor ) {

1991

cref(ids), ref(loaded), ref(ret)),

1999

vector<shared_ptr<SPsgBioseqInfo>> infos;

2000

infos.resize(ret.size());

2004  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

2005  if

(loaded[

i

] || !infos[

i

].get())

continue

;

2006

ret[

i

] = infos[

i

]->gi;

2007

loaded[

i

] =

true

;

2010  if

( failed_processor ) {

2020

cref(ids), ref(loaded), ref(ret)),

2028

vector<shared_ptr<SPsgBioseqInfo>> infos;

2029

infos.resize(ret.size());

2033  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

2034  if

(loaded[

i

] || !infos[

i

].get())

continue

;

2036  if

(!ret[

i

].

empty

()) loaded[

i

] =

true

;

2039  if

( failed_processor ) {

2049

cref(ids), ref(loaded), ref(ret)),

2050  "GetSequenceLengths"

,

2057

vector<shared_ptr<SPsgBioseqInfo>> infos;

2058

infos.resize(ret.size());

2062  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

2063  if

(loaded[

i

] || !infos[

i

].get())

continue

;

2064  auto

length = infos[

i

]->length;

2066

loaded[

i

] =

true

;

2069  if

( failed_processor ) {

2079

cref(ids), ref(loaded), ref(ret)),

2080  "GetSequenceTypes"

,

2087

vector<shared_ptr<SPsgBioseqInfo>> infos;

2088

infos.resize(ret.size());

2092  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

2093  if

(loaded[

i

] || !infos[

i

].get())

continue

;

2094

ret[

i

] = infos[

i

]->molecule_type;

2095

loaded[

i

] =

true

;

2098  if

( failed_processor ) {

2111

data_source, cref(ids), ref(loaded), ref(ret)),

2112  "GetSequenceStates"

,

2123

infos.resize(ret.size());

2127  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

2128  if

( loaded[

i

] || !infos[

i

].

first

) {

2132

loaded[

i

] =

true

;

2135  if

( failed_processor ) {

2145

cref(ids), ref(loaded), ref(ret), ref(known)),

2146  "GetSequenceHashes"

,

2153

vector<shared_ptr<SPsgBioseqInfo>> infos;

2154

infos.resize(ret.size());

2158  for

(

size_t i

= 0;

i

< infos.size(); ++

i

) {

2159  if

(loaded[

i

] || !infos[

i

].get())

continue

;

2160

ret[

i

] = infos[

i

]->hash;

2161

known[

i

] = infos[

i

]->hash != 0;

2162

loaded[

i

] =

true

;

2165  if

( failed_processor ) {

2174  if

( shared_ptr<SPsgBioseqInfo> ret =

m_Caches

->m_BioseqInfoCache.Find(idh) ) {

2175  if

( ret->tax_id <= 0 ) {

2176  _TRACE

(

"bad tax_id for "

<<idh<<

" : "

<<ret->tax_id);

2180  if

(

m_Caches

->m_NoBioseqInfoCache.Find(idh) ) {

2188

shared_ptr<CPSG_Request_Resolve> request = make_shared<CPSG_Request_Resolve>(std::move(bio_id));

2203  return

processor->m_BioseqInfoResult;

2214  if

(!text_id)

return false

;

2217  if

((acc_info & kAccFlags) != kAccFlags) {

2220  if

( !text_id->IsSetAccession() || !text_id->IsSetVersion() ) {

2241  bool

is_wp_acc =

false

;

2249

shared_ptr<CPSG_Request_IpgResolve> request = make_shared<CPSG_Request_IpgResolve>(acc_ver);

2257  _TRACE

(

"Failed to get IPG tax id for "

<< idh);

2259  "Failed to get IPG tax id for "

+acc_ver);

2263  return

processor->m_TaxId;

2267

pair<size_t, CRef<CPSGL_Processor>>

2271  return

make_pair(0,

null

);

2276  size_t

load_count = 0;

2278  for

(

size_t i

= 0;

i

< ids.size(); ++

i

) {

2282

loaded[

i

] =

true

;

2288  bool

is_wp_acc =

false

;

2293

shared_ptr<CPSG_Request_IpgResolve> request = make_shared<CPSG_Request_IpgResolve>(acc_ver);

2300  size_t i

=

result

.GetIndex();

2302  _TRACE

(

"Failed to get IPG tax id for "

<< ids[

i

]);

2303  if

( !failed_processor ) {

2304

failed_processor =

result

.GetProcessor();

2310  auto

tax_id = processor->m_TaxId;

2313

loaded[

i

] =

true

;

2317  return

make_pair(load_count, failed_processor);

2352  "failed to get bioseq/blob info for "

<<idh);

2369

shared_ptr<SPsgBioseqInfo> bioseq_info =

m_Caches

->m_BioseqInfoCache.Find(idh);

2370

shared_ptr<SPsgBlobInfo> blob_info;

2371  if

( bioseq_info && bioseq_info->KnowsBlobId() ) {

2373

ret.first = bioseq_info;

2374  if

( !bioseq_info->HasBlobId() ) {

2378

blob_info =

m_Caches

->m_BlobInfoCache.Find(bioseq_info->GetPSGBlobId());

2381

ret.second.first = blob_info;

2386

ret.second.second =

m_Caches

->m_NoBlobInfoCache.Find(bioseq_info->GetPSGBlobId());

2393

shared_ptr<CPSG_Request_Blob> request = make_shared<CPSG_Request_Blob>(std::move(bid));

2401  else if

(

m_Caches

->m_NoBioseqInfoCache.Find(idh) ) {

2408  auto

blob_request = make_shared<CPSG_Request_Biodata>(std::move(bio_id));

2412

queue.

AddRequest

(blob_request, blob_processor,

2435  _TRACE

(

"Failed to get bioseq info for "

<< processor->GetSeq_id());

2438

ret.first = processor->m_BioseqInfoResult;

2440  _TRACE

(

"No bioseq info for "

<< processor->GetSeq_id());

2443

ret.second.first = processor->m_BlobInfoResult;

2444

ret.second.second = processor->m_BlobInfoStatus;

2445  if

( ret.second.first ) {

2449  else if

( ret.first->HasBlobId() &&

2451

ret.second.second =

m_Caches

->m_NoBlobInfoCache.Find(ret.first->GetPSGBlobId());

2458

shared_ptr<CPSG_Request_Blob> request = make_shared<CPSG_Request_Blob>(std::move(bid));

2481  _TRACE

(

"Failed to get blob info for "

<< processor->GetSeq_id());

2484

ret.second.first = processor->m_BlobInfoResult;

2485

ret.second.second = processor->m_BlobInfoStatus;

2486  if

( ret.second.first ) {

2491  _TRACE

(

"No blob info for "

<< processor->GetSeq_id());

2499  const string

& blob_id)

2502  if

( shared_ptr<SPsgBlobInfo> ret =

m_Caches

->m_BlobInfoCache.Find(blob_id) ) {

2506  if

( data_source ) {

2509  if

( load_lock && load_lock.IsLoaded() ) {

2510  auto

blob_info = make_shared<SPsgBlobInfo>(*load_lock);

2511  m_Caches

->m_BlobInfoCache.Add(blob_id, blob_info);

2525

shared_ptr<CPSG_Request_Blob> request = make_shared<CPSG_Request_Blob>(std::move(bid));

2542  _TRACE

(

"Failed to load blob info for "

<< blob_id);

2545  if

( !processor->m_BlobInfo ) {

2546  _TRACE

(

"No blob info for "

<< blob_id);

2549  auto

blob_info = make_shared<SPsgBlobInfo>(*processor->m_BlobInfo);

2550  m_Caches

->m_BlobInfoCache.Add(blob_id, blob_info);

2558  auto

seq_state =

info

.first->GetBioseqStateFlags();

2559  auto

chain_state =

info

.first->GetChainStateFlags();

2568

pair<size_t, CRef<CPSGL_Processor>>

2573  size_t

load_count = 0;

2578  for

(

size_t i

= 0;

i

< ids.size(); ++

i

) {

2580  if

( loaded[

i

] ) {

2586

ret[

i

] =

m_Caches

->m_BioseqInfoCache.Find(ids[

i

]);

2591  if

(

m_Caches

->m_NoBioseqInfoCache.Find(ids[

i

]) ) {

2596

shared_ptr<CPSG_Request_Resolve> request = make_shared<CPSG_Request_Resolve>(std::move(bio_id));

2604  size_t i

=

result

.GetIndex();

2610  _TRACE

(

"Failed to load bioseq info for "

<< ids[

i

]);

2611  if

( !failed_processor ) {

2612

failed_processor = processor;

2616

ret[

i

] = processor->m_BioseqInfoResult;

2621  return

make_pair(load_count, failed_processor);

2625

pair<size_t, CRef<CPSGL_Processor>>

2631  size_t

load_count = 0;

2633

vector<bool> errors(ids.size());

2637  for

(

size_t i

= 0;

i

< ids.size(); ++

i

) {

2651  if

( !failed_processor ) {

2652

failed_processor =

result

.GetProcessor();

2659  return

make_pair(load_count, failed_processor);

User-defined methods of the data storage class.

User-defined methods of the data storage class.

User-defined methods of the data storage class.

const string & GetName(void) const

Blob state exceptions, used by GenBank loader.

CTSE_LoadLock GetTSE_LoadLock(const TBlobId &blob_id)

CTSE_LoadLock GetTSE_LoadLockIfLoaded(const TBlobId &blob_id)

CDataLoader * GetDataLoader(void) const

vector< TBlobId > TLoadedBlob_ids

void GetLoadedBlob_ids(const CSeq_id_Handle &idh, TLoadedTypes types, TLoadedBlob_ids &blob_ids) const

static TParamTree * GetParamsSubnode(TParamTree *params, const string &subnode_name)

static string GetParam(const TParamTree *params, const string &param_name)

bool GetPSGNoSplit(void) const

const string & GetPSGServiceName(void) const

bool IsSetEnableCDD(void) const

const TParamTree * GetParamTree(void) const

bool IsSetEnableSNP(void) const

const string & GetWebCookie(void) const

bool GetEnableWGS(void) const

bool HasHUPIncluded(void) const

bool GetEnableCDD(void) const

bool GetEnableSNP(void) const

bool IsSetEnableWGS(void) const

CID2S_Feat_type_Info –.

CID2S_Seq_annot_Info –.

double GetTime(int step) const

void Init(CConfig &conf, const string &driver_name, const SAllParams &params)

Data loader exceptions, used by GenBank loader.

optional< TResult > CreateGetRequests(const CSeq_id_Handle &idh)

CPSGDataLoader_Impl & m_Loader

CGetRequests(CPSGDataLoader_Impl &loader, CDataSource *data_source, CPSG_Request_Biodata::EIncludeData include_data)

optional< TResult > ProcessResult(const CPSGL_ResultGuard &result)

vector< CSeq_id_Handle > TRequests

optional< TResult > NotReady()

CDataLoader::TTSE_LockSet TResult

void SaveFailure(const CRef< CPSGL_Processor > &processor)

CRef< CPSGL_Processor > m_FirstFailedProcessor

optional< TResult > Ready(const CSeq_id_Handle &request, const CTSE_Lock &tse)

const TRequests & GetReadyRequests() const

TRequests m_ReadyRequests

optional< TResult > Empty(const CSeq_id_Handle &request)

CPSG_Request_Biodata::EIncludeData m_IncludeData

CDataSource * m_DataSource

map< CRef< CPSGL_GetBlob_Processor >, TRequests > m_GetBlob2Reqs

optional< TResult > Ready(TRequests &&requests, const CTSE_Lock &tse)

void AddRequest(const CDataLoader::TIds &ids)

CPSG_PrefetchCDD_Task(CPSGDataLoader_Impl &loader)

CPSGDataLoader_Impl & m_Loader

CSemaphore m_AddRequestSemaphore

atomic< bool > m_CancelRequested

CPSGL_QueueGuard m_QueueGuard

thread m_ReadResultsThread

unique_ptr< CThreadPool > m_ThreadPool

CDataLoader::TSequenceStates TSequenceStates

pair< shared_ptr< SPsgBioseqInfo >, pair< shared_ptr< SPsgBlobInfo >, EPSG_Status > > TBioseqAndBlobInfo

void GetBulkIds(const TIds &ids, TLoaded &loaded, TBulkIds &ret)

void GetCDDAnnotsOnce(CDataSource *data_source, const TSeqIdSets &id_sets, TLoaded &loaded, TCDD_Locks &ret)

void GetBlobsOnce(CDataSource *data_source, TLoadedSeqIds &loaded, TTSE_LockSets &tse_sets)

shared_ptr< SPsgBlobInfo > x_GetBlobInfo(CDataSource *data_source, const string &blob_id)

void GetSequenceStatesOnce(CDataSource *data_source, const TIds &ids, TLoaded &loaded, TSequenceStates &ret)

CConstRef< CPsgBlobId > GetBlobIdOnce(const CSeq_id_Handle &idh)

void GetSequenceTypesOnce(const TIds &ids, TLoaded &loaded, TSequenceTypes &ret)

void GetAccVers(const TIds &ids, TLoaded &loaded, TIds &ret)

static void SetGetBlobByIdShouldFail(bool value)

CRef< CRequestContext > m_RequestContext

int x_MakeSequenceState(const TBioseqAndBlobInfo &info)

void GetTaxIdsOnce(const TIds &ids, TLoaded &loaded, TTaxIds &ret)

CDataLoader::TBulkIds TBulkIds

void GetIds(const CSeq_id_Handle &idh, TIds &ids)

CDataLoader::SGiFound GetGi(const CSeq_id_Handle &idh)

void DropTSE(const CPsgBlobId &blob_id)

void LoadChunk(CDataSource *data_source, CTSE_Chunk_Info &chunk_info)

bool x_ReadCDDChunk(CDataSource *data_source, CDataLoader::TChunk chunk, const CPSG_BlobInfo &blob_info, const CPSG_BlobData &blob_data)

CTSE_Lock GetBlobById(CDataSource *data_source, const CPsgBlobId &blob_id)

pair< size_t, CRef< CPSGL_Processor > > x_GetBulkBioseqInfo(const TIds &ids, const TLoaded &loaded, TBioseqInfos &ret)

void LoadChunks(CDataSource *data_source, const CDataLoader::TChunkSet &chunks)

int GetSequenceState(CDataSource *data_source, const CSeq_id_Handle &idh)

shared_ptr< SPsgBioseqInfo > x_GetBioseqInfo(const CSeq_id_Handle &idh)

void GetSequenceStates(CDataSource *data_source, const TIds &ids, TLoaded &loaded, TSequenceStates &ret)

void GetBulkIdsOnce(const TIds &ids, TLoaded &loaded, TBulkIds &ret)

CDataLoader::TSequenceHashes TSequenceHashes

CDataLoader::TTSE_LockSet GetRecordsOnce(CDataSource *data_source, const CSeq_id_Handle &idh, CDataLoader::EChoice choice)

CDataLoader::TSeqIdSets TSeqIdSets

TTaxId GetTaxId(const CSeq_id_Handle &idh)

void GetGisOnce(const TIds &ids, TLoaded &loaded, TGis &ret)

CDataLoader::TTSE_LockSet GetRecords(CDataSource *data_source, const CSeq_id_Handle &idh, CDataLoader::EChoice choice)

void GetSequenceHashes(const TIds &ids, TLoaded &loaded, TSequenceHashes &ret, THashKnown &known)

vector< shared_ptr< SPsgBioseqInfo > > TBioseqInfos

CDataLoader::TSequenceLengths TSequenceLengths

CDataLoader::STypeFound GetSequenceType(const CSeq_id_Handle &idh)

void GetGis(const TIds &ids, TLoaded &loaded, TGis &ret)

void GetSequenceHashesOnce(const TIds &ids, TLoaded &loaded, TSequenceHashes &ret, THashKnown &known)

CPSG_Request_Biodata::EIncludeData m_TSERequestMode

CPSG_Request_Biodata::EIncludeData m_TSERequestModeBulk

EProcessResult x_ProcessBioseqAndBlobInfoResult(CPSGL_QueueGuard &queue, const CSeq_id_Handle &idh, TBioseqAndBlobInfo &ret, const CPSGL_ResultGuard &result)

CRef< CPSG_PrefetchCDD_Task > m_CDDPrefetchTask

void GetLabels(const TIds &ids, TLoaded &loaded, TLabels &ret)

CDataLoader::SHashFound GetSequenceHashOnce(const CSeq_id_Handle &idh)

unique_ptr< CPSGCaches > m_Caches

void x_AdjustBlobState(TBioseqAndBlobInfo &info)

CTSE_Lock GetBlobByIdOnce(CDataSource *data_source, const CPsgBlobId &blob_id)

CDataLoader::STypeFound GetSequenceTypeOnce(const CSeq_id_Handle &idh)

vector< TBioseqAndBlobInfo > TBioseqAndBlobInfos

CConstRef< CPsgBlobId > GetBlobId(const CSeq_id_Handle &idh)

void GetSequenceTypes(const TIds &ids, TLoaded &loaded, TSequenceTypes &ret)

CRef< CPSGL_Queue > m_Queue

psgl::CPSGL_Queue CPSGL_Queue

CDataLoader::TLabels TLabels

CDataLoader::TSequenceTypes TSequenceTypes

int GetSequenceStateOnce(CDataSource *data_source, const CSeq_id_Handle &idh)

unsigned int m_RetryCount

TSeqPos GetSequenceLength(const CSeq_id_Handle &idh)

void GetSequenceLengths(const TIds &ids, TLoaded &loaded, TSequenceLengths &ret)

unsigned int m_BulkRetryCount

CDataLoader::TLoaded TLoaded

void GetLabelsOnce(const TIds &ids, TLoaded &loaded, TLabels &ret)

CDataLoader::SAccVerFound GetAccVerOnce(const CSeq_id_Handle &idh)

void LoadChunksOnce(CDataSource *data_source, const CDataLoader::TChunkSet &chunks)

bool x_CheckAnnotCache(const string &name, const TIds &ids, CDataSource *data_source, CDataLoader::TProcessedNAs *processed_nas, CDataLoader::TTSE_LockSet &locks)

CDataLoader::TTaxIds TTaxIds

~CPSGDataLoader_Impl(void) override

TTaxId GetTaxIdOnce(const CSeq_id_Handle &idh)

CDataLoader::SHashFound GetSequenceHash(const CSeq_id_Handle &idh)

void GetSequenceLengthsOnce(const TIds &ids, TLoaded &loaded, TSequenceLengths &ret)

CDataLoader::TTSE_LockSet GetAnnotRecordsNAOnce(CDataSource *data_source, const TIds &ids, const SAnnotSelector *sel, CDataLoader::TProcessedNAs *processed_nas)

std::invoke_result< Call >::type CallWithRetry(Call &&call, const char *name, int retry_count=0)

CDataLoader::THashKnown THashKnown

CIncreasingTime m_WaitTime

void GetBlobs(CDataSource *data_source, TTSE_LockSets &tse_sets)

TSeqPos GetSequenceLengthOnce(const CSeq_id_Handle &idh)

void GetCDDAnnots(CDataSource *data_source, const TSeqIdSets &id_sets, TLoaded &loaded, TCDD_Locks &ret)

static bool GetGetBlobByIdShouldFail()

CDataLoader::TTSE_LockSet GetAnnotRecordsNA(CDataSource *data_source, const TIds &ids, const SAnnotSelector *sel, CDataLoader::TProcessedNAs *processed_nas)

void GetIdsOnce(const CSeq_id_Handle &idh, TIds &ids)

CDataLoader::TCDD_Locks TCDD_Locks

EProcessResult x_CreateBioseqAndBlobInfoRequests(CPSGL_QueueGuard &queue, const CSeq_id_Handle &idh, TBioseqAndBlobInfo &ret, size_t id_index=0)

TTaxId x_GetIpgTaxId(const CSeq_id_Handle &idh)

void GetTaxIds(const TIds &ids, TLoaded &loaded, TTaxIds &ret)

pair< size_t, CRef< CPSGL_Processor > > x_GetIpgTaxIds(const TIds &ids, TLoaded &loaded, TTaxIds &ret)

void GetAccVersOnce(const TIds &ids, TLoaded &loaded, TIds &ret)

CDataLoader::SAccVerFound GetAccVer(const CSeq_id_Handle &idh)

TBioseqAndBlobInfo x_GetBioseqAndBlobInfo(CDataSource *data_source, const CSeq_id_Handle &idh)

pair< size_t, CRef< CPSGL_Processor > > x_GetBulkBioseqAndBlobInfo(CDataSource *data_source, const TIds &ids, const TLoaded &loaded, TBioseqAndBlobInfos &ret)

CPSGDataLoader_Impl(const CGBLoaderParams &params)

CDataLoader::SGiFound GetGiOnce(const CSeq_id_Handle &idh)

static CSeq_id::ESNPScaleLimit GetSNP_Scale_Limit(void)

void SetLockedDelayedChunkInfo(const string &psg_blob_id, CTSE_Chunk_Info &locked_chunk_info)

vector< CSeq_id_Handle > TSeq_ids

SProcessorDescrPrinter Descr() const

const vector< string > & GetErrors() const

CRef< CPSGL_Queue > m_Queue

void AddRequest(const shared_ptr< CPSG_Request > &request, const CRef< CPSGL_Processor > &processor, size_t index=0)

CThreadPool & m_ThreadPool

CPSGL_ResultGuard GetNextResult()

void SetRequestContext(const CRef< CRequestContext > &context)

CPSG_EventLoop & GetPSG_Queue()

Bio-id (such as accession)

const string & GetId() const

Get ID.

const string & GetId() const

Get ID.

Blob data meta information.

Named Annotations (NAs) metainfo – reply to CPSG_Request_NamedAnnotInfo.

CPSG_BlobId GetBlobId() const

Coordinates of the blob that contains the NA data.

TId2AnnotInfoList GetId2AnnotInfoList() const

void SetUserArgs(SPSG_UserArgs user_args)

Set arbitrary URL arguments to add to every request.

void SetRequestFlags(CPSG_Request::TFlags request_flags)

Set request flags.

EIncludeData

Specify which info and data is needed.

@ eSmartTSE

If ID2 split is available, return split info blob only.

@ eWholeTSE

If ID2 split is available, return all split blobs.

@ eOrigTSE

Return all Cassandra data chunks of the blob itself.

vector< string > TAnnotNames

Names of the named annotations.

const string & GetId2Info() const

virtual string ToString(void) const override

Get string representation of blob id.

const string & ToPsgId() const

static void x_ParseLocation(TLocationSet &vec, const CID2S_Seq_loc &loc)

TBlobId GetBlobId(void) const

void SetLoaded(CObject *obj=0)

vector< TLocation > TLocationSet

TChunkId GetChunkId(void) const

void x_AddAnnotType(const CAnnotName &annot_name, const SAnnotTypeSelector &annot_type, const TLocationId &location_id)

bool IsLoaded(void) const

void SetName(const CAnnotName &name)

const TBlobId & GetBlobId(void) const

CTSE_Split_Info & GetSplitInfo(void)

bool x_NeedsDelayedMainChunk(void) const

void SetSeq_entry(CSeq_entry &entry, CTSE_SetObjectInfo *set_info=0)

bool IsLoaded(void) const

void AddChunk(CTSE_Chunk_Info &chunk_info)

Main class implementing functionality of pool of threads.

definition of a Culling tree

Template class for iteration on objects of class C (non-medifiable version)

static void LoadWGSMaster(CDataLoader *loader, CRef< CTSE_Chunk_Info > chunk)

iterator_bool insert(const value_type &val)

const_iterator begin() const

Include a standard set of the NCBI C++ Toolkit most basic headers.

std::ofstream out("events_result.xml")

main entry point for tests

bool Empty(const CNcbiOstrstream &src)

static const struct name_t names[]

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

static const char * str(char *buf, int n)

static const struct type types[]

#define NCBI_GBLOADER_PARAM_ID_GC_SIZE

#define NCBI_GBLOADER_PARAM_ID_EXPIRATION_TIMEOUT

#define NCBI_GBLOADER_PARAM_NO_ID_EXPIRATION_TIMEOUT

static CNcbiApplicationGuard InstanceGuard(void)

Singleton method.

const CNcbiRegistry & GetConfig(void) const

Get the application's cached configuration parameters (read-only).

unsigned int TSeqPos

Type for sequence locations and lengths.

#define ITERATE(Type, Var, Cont)

ITERATE macro to sequence through container elements.

SStrictId_Tax::TId TTaxId

Taxon id type.

const TSeqPos kInvalidSeqPos

Define special value for invalid sequence position.

string GetStringUID(TUID uid=0) const

Return string representation of UID.

CDiagContext & GetDiagContext(void)

Get diag context instance.

void SetProperty(const string &name, const string &value)

Add/change property.

#define LOG_POST(message)

This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...

#define NCBI_RETHROW_FMT(prev_exception, exception_class, err_code, message)

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

TErrCode GetErrCode(void) const

Get error code.

#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_THROW2(exception_class, err_code, message, extra)

Throw exception with extra parameter.

#define NCBI_THROW_FMT(exception_class, err_code, message)

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

virtual const char * what(void) const noexcept

Standard report (includes full backlog).

void Info(CExceptionArgs_Base &args)

#define MSerial_AsnText

I/O stream manipulators –.

static TParamTree * ConvertRegToTree(const IRegistry &reg, NStr::ECase use_case=NStr::eNocase)

Reconstruct param tree from the application registry.

CConstRef< CSeq_id > GetSeqId(void) const

EAccessionInfo

For IdentifyAccession (below)

CSeq_id::EAccessionInfo IdentifyAccession(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.

@ eAcc_refseq_unique_prot

CConstBeginInfo ConstBegin(const C &obj)

Get starting point of non-modifiable object hierarchy.

string ToString(void) const

vector< CSeq_id_Handle > TIds

static void SetProcessedNA(const string &na, TProcessedNAs *processed_nas)

virtual string ToString(void) const =0

Get string representation of blob id.

EChoice

main blob is blob with sequence all other blobs are external and contain external annotations

vector< TChunk > TChunkSet

@ eOrphanAnnot

all external annotations if no Bioseq exists

bool IsIncludedAnyNamedAnnotAccession(void) const

check if any named annot accession is included in the search

TSNPScaleLimit GetSNPScaleLimit(void) const

bool ExtractZoomLevel(const string &full_name, string *acc_ptr, int *zoom_level_ptr)

Extract optional zoom level suffix from named annotation string.

const TNamedAnnotAccessions & GetNamedAnnotAccessions(void) const

CRef< C > Ref(C *object)

Helper functions to get CRef<> and CConstRef<> objects.

EParamSource

Source of the value returned by CParam::GetDefault().

@ eParam_NoThread

Do not use per-thread values.

@ eSource_Config

The app. config file.

@ eSource_NotSet

Not fully initialized.

@ eSource_Default

Hardcoded default.

uint32_t Uint4

4-byte (32-bit) unsigned integer

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define END_SCOPE(ns)

End the previously defined scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

#define BEGIN_SCOPE(ns)

Define a new scope.

static bool StringToBool(const CTempString str)

Convert string to bool.

static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)

Check if a string starts with a specified prefix value.

static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)

Case-insensitive equality of a substring with another string.

static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)

Convert numeric value to string.

@ eNocase

Case insensitive compare.

@ eCompleted

executed successfully

const TTreeType * FindSubNode(const TKeyType &key) const

Non recursive linear scan of all subnodes, with key comparison.

void AddValue(const string &name, const string &value)

Add new value even if an argument with the same name already exists.

const TArgs & GetArgs(void) const

Get the const list of arguments.

const TDb & GetDb(void) const

Get the Db member data.

const TSubtypes & GetSubtypes(void) const

Get the Subtypes member data.

const TSeq_loc & GetSeq_loc(void) const

Get the Seq_loc member data.

bool IsSetGraph(void) const

Check if a value has been assigned to Graph data member.

bool IsSetAlign(void) const

Check if a value has been assigned to Align data member.

bool IsSetSubtypes(void) const

Check if a value has been assigned to Subtypes data member.

const TName & GetName(void) const

Get the Name member data.

const TFeat & GetFeat(void) const

Get the Feat member data.

bool IsSetFeat(void) const

Check if a value has been assigned to Feat data member.

TType GetType(void) const

Get the Type member data.

E_Choice

Choice variants.

const TGeneral & GetGeneral(void) const

Get the variant data.

@ e_General

for other databases

@ eMol_not_set

> cdna = rna

Pool of generic task-executing threads.

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

const GenericPointer< typename T::ValueType > T2 value

const CharType(& source)[N]

void SleepMilliSec(unsigned long ml_sec, EInterruptOnSignal onsignal=eRestartOnSignal)

Multi-threading – classes, functions, and features.

std::istream & in(std::istream &in_, double &x_)

double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)

SCDDIds x_ParseLocalCDDEntryId(const CPsgBlobId &blob_id)

CTSE_Lock x_CreateLocalCDDEntry(CDataSource *data_source, const SCDDIds &ids)

const char kCDDAnnotName[]

SCDDIds x_GetCDDIds(const vector< CSeq_id_Handle > &ids)

bool x_IsLocalCDDEntryId(const CPsgBlobId &blob_id)

unsigned s_GetDebugLevel()

bool s_GetBlobByIdShouldFail

CObjectIStream * GetBlobDataStream(const CPSG_BlobInfo &blob_info, const CPSG_BlobData &blob_data)

const bool kCreateLocalCDDEntries

CPSG_BioId x_LocalCDDEntryIdToBioId(const SCDDIds &cdd_ids)

string x_MakeLocalCDDEntryId(const SCDDIds &cdd_ids)

void x_CreateEmptyLocalCDDEntry(CDataSource *data_source, CTSE_Chunk_Info *chunk)

bool x_IsEmptyCDD(const CTSE_Info &tse)

EPSG_Status

Retrieval result.

@ eSuccess

Successfully retrieved.

@ eForbidden

User is not authorized for the retrieval.

@ eError

An error was encountered while trying to send request or to read and to process the reply.

vector< CPSG_BioId > CPSG_BioIds

static const TPluginManagerParamTree * s_FindSubNode(const TPluginManagerParamTree *params, const string &name)

#define NCBI_PSGLOADER_SERVICE_NAME

typedef NCBI_PARAM_TYPE(PSG_LOADER, SERVICE_NAME) TPSG_ServiceName

static pair< CRef< CTSE_Chunk_Info >, string > s_CreateNAChunk(const CPSG_NamedAnnotInfo &psg_annot_info)

const int kDefaultNoDataCacheLifespanSeconds

static TParamDescription::TValueType s_GetParamValue(const TPluginManagerParamTree *config)

static auto FormatError(const CPSGL_Processor *processor)

#define DEFAULT_WAIT_TIME_MAX

NCBI_PARAM_DEF_EX(string, PSG_LOADER, SERVICE_NAME, "PSG2", eParam_NoThread, PSG_LOADER_SERVICE_NAME)

static bool s_IsIpgAccession(const CSeq_id_Handle &idh, string &acc_ver, bool &is_wp_acc)

static CIncreasingTime::SAllParams s_WaitTimeParams

const size_t kDefaultMaxCacheSize

@ kProcessorIndex_BlobInfo

#define NCBI_PSGLOADER_NAME

#define NCBI_PSGLOADER_NOSPLIT

NCBI_PARAM_DECL(string, PSG_LOADER, SERVICE_NAME)

static auto FormatBulkError(const char *type, const CPSGL_Processor *processor)

const unsigned int kDefaultRetryCount

#define DEFAULT_WAIT_TIME_MULTIPLIER

static ostream & operator<<(ostream &out, SErrorFormatter formatter)

#define DEFAULT_WAIT_TIME_INCREMENT

static bool CannotProcess(const CSeq_id_Handle &sih)

void s_ConvertParamValue< bool >(bool &value, const string &str)

static void s_ConvertParamValue(TParamType &value, const string &str)

#define NCBI_PSGLOADER_ADD_WGS_MASTER

const unsigned int kDefaultBulkRetryCount

const int kDefaultCacheLifespanSeconds

#define DEFAULT_WAIT_TIME

static bool GetSeqId(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)

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

SErrorFormatter processor

SBulkErrorFormatter(const char *type, const CPSGL_Processor *processor)

const CPSGL_Processor * processor

SErrorFormatter(const CPSGL_Processor *processor)

Arbitrary request URL arguments.

vector< CSeq_id_Handle > TIds


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