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

NCBI C++ ToolKit: src/app/pubseq_gateway/server/async_resolve_base.cpp Source File

57 using namespace

std::placeholders;

65

m_Errors.push_back(err);

74  size_t

err_count = m_Errors.size();

75  string msg

=

"\n"

+ to_string(err_count) +

" error"

;

79  msg

+=

" encountered while resolving "

;

81  if

(seq_id_to_resolve.size() == 1) {

82  msg

+=

"the seq id:\n"

;

84  msg

+=

"multiple seq ids:\n"

;

87  for

(

size_t

index=0; index < err_count; ++index) {

91  msg

+= m_Errors[index].m_ErrorMessage;

104  for

(

const auto

& item : m_Errors) {

105

combined_code =

max

(combined_code, item.m_ErrorCode);

107  return

combined_code;

116

shared_ptr<CPSGS_Request> request,

117

shared_ptr<CPSGS_Reply> reply,

122

m_ContinueResolveCB(continue_resolve_cb),

123

m_FinishedCB(finished_cb),

125

m_StartProcessingCB(start_processing_cb),

126

m_ResolveStage(eInit),

130

m_StartProcessingCalled(

false

)

141

list<string> && secondary_id_list,

142  string

&& primary_seq_id,

168  if

(text_seq_id ==

nullptr

)

181  bool

need_comma =

false

;

185

seq_ids += item.seq_id;

199  if

(!seq_id.empty()) {

204  for

(

const auto

& item : annot_request.

m_SeqIds

) {

210  m_Reply

->SendTrace(

"The seq_ids to resolve list before sorting: "

+

222  m_Reply

->SendTrace(

"The seq_ids to resolve list after sorting: "

+

261  "Not handled request type "

+

282  "Not handled request type "

+

289  bool

effective_seq_id_resolve =

true

;

309  if

(effective_seq_id_resolve ==

false

) {

312  if

(app->Settings().m_SeqIdResolveAlways ==

true

) {

314  m_Reply

->SendTrace(

"The request seq_id_resolve flag " 315  "is set to 'no' however the configuration " 316  "parameter [CASSANDRA_PROCESSOR]/seq_id_resolve_always " 317  "overwrites it. The resolution will be done " 318  "without optimization."

,

321

effective_seq_id_resolve =

true

;

325  return

effective_seq_id_resolve;

331  const string

& primary_id,

332  int16_t

effective_seq_id_type)

const 334  if

(primary_id.empty()) {

428  "Not handled request type "

+

429

to_string(

static_cast<int>

(

m_Request

->GetRequestType())));

439  m_Reply

->SendTrace(

"Accession adjustment is not required " 440  "(bioseq info is not provided)"

,

449  m_Reply

->SendTrace(

"Accession adjustment is not required " 450  "(substitute option is 'never')"

,

465  m_Reply

->SendTrace(

"Accession adjustment is not required " 466  "(It is PDB, PIR or PRF with version == 0 " 467  "and substitute option is 'default')"

,

479  m_Reply

->SendTrace(

"Accession adjustment is not required " 480  "(substitute option is 'limited' and seq_id_type is not gi)"

,

595  bool

with_seq_id_type)

603

unique_ptr<CCassBioseqInfoFetch> details;

610  if

(with_seq_id_type) {

611  if

(seq_id_type != -1)

615

bioseq_info_request.

SetGI

(gi);

620

bioseq_keyspace.keyspace,

623

details->SetLoader(fetch_task);

625  if

(with_seq_id_type)

637  if

(with_seq_id_type) {

646  if

(with_seq_id_type)

648  "Cassandra request: "

+

653  "Cassandra request for INSDC types: "

+

658

fetch_task->

Wait

();

667

unique_ptr<CCassSi2csiFetch> details;

672  if

(effective_seq_id_type != -1)

678

bioseq_keyspace.keyspace,

682

details->SetLoader(fetch_task);

695  "Cassandra request: "

+

699

fetch_task->

Wait

();

734  auto

record_count = records.size();

741  string msg

= to_string(records.size()) +

" hit(s)"

;

742  for

(

const auto

& item : records) {

749  if

(record_count > 1) {

751  if

(index_to_pick < 0) {

754

to_string(records.size()) +

" bioseq info records were " 755  "found however it was impossible to choose one of them. " 756  "So report as not found"

,

765  if

(record_count != 1) {

767  if

(record_count > 1) {

770

app->GetCounters().Increment(

this

,

775

app->GetCounters().Increment(

this

,

790  string msg

=

"Data inconsistency. "

;

791  if

(record_count > 1) {

792  msg

+=

"More than one BIOSEQ_INFO table record is found for " 795  msg

+=

"A BIOSEQ_INFO table record is not found for " 825  if

(records.size() == 1)

826

prefix =

"Selected record:\n"

;

828

prefix =

"Record selected in accordance to priorities (live & not HUP, dead & not HUP, HUP + largest gi/version):\n"

;

844  string msg

=

"BIOSEQ_INFO Cassandra error: "

+

866

app->GetCounters().Increment(

this

,

874

vector<CBioseqInfoRecord>&& records)

883  string msg

= to_string(records.size()) +

884  " hit(s); decision status: "

+ to_string(

decision

.status);

885  for

(

const auto

& item : records) {

900

app->GetCounters().Increment(

this

,

910

app->GetCounters().Increment(

this

,

914  string msg

=

"Data inconsistency. A BIOSEQ_INFO table record " 915  "is not found for accession "

+

939

app->GetCounters().Increment(

this

,

942  string msg

=

"Data inconsistency. More than one BIOSEQ_INFO " 943  "table record is found for accession "

+

969  string msg

=

"Unexpected decision code when a secondary INSCD " 970  "request results processed while resolving seq id asynchronously"

;

991  EDiagSev

severity,

const string

& message)

1025  auto

record_count = records.size();

1032  string msg

= to_string(record_count) +

" hit(s)"

;

1033  for

(

const auto

& item : records) {

1036  if

(record_count > 1)

1037  msg

+=

"\nMore than one record => may be more tries"

;

1042  if

(record_count != 1) {

1044  if

(record_count > 1) {

1047

app->GetCounters().Increment(

this

,

1052

app->GetCounters().Increment(

this

,

1065

app->GetCounters().Increment(

this

,

1070

bioseq_info.

SetVersion

(records[0].GetVersion());

1072

bioseq_info.

SetGI

(records[0].GetGI());

1089  EDiagSev

severity,

const string

& message)

1128  m_Reply

->SendTrace(

"Could not resolve seq_id "

+ current_seq_id +

1129  ". There are more seq_id to try, switching to the next one."

,

1139  string msg

=

"Could not resolve "

;

1144  msg

+=

"any of the seq_ids: "

;

1145  bool

is_first =

true

;

1164  if

(async_bioseq_resolution.IsValid()) {

1177

app->GetCounters().Increment(

this

,

1182  if

(async_bioseq_resolution.m_Error.HasError()) {

1184

async_bioseq_resolution.m_Error.m_ErrorCode);

function< void(SBioseqResolution &&async_bioseq_resolution)> TSeqIdResolutionFinishedCB

function< void(void)> TSeqIdResolutionStartProcessingCB

function< void(void)> TContinueResolveCB

function< void(CRequestStatus::ECode status, int code, EDiagSev severity, const string &message, EPSGS_LoggingFlag logging_flag)> TSeqIdResolutionErrorCB

ssize_t SelectBioseqInfoRecord(const vector< CBioseqInfoRecord > &records)

CBioseqInfoFetchRequest & SetVersion(CBioseqInfoRecord::TVersion value)

CBioseqInfoFetchRequest & SetGI(CBioseqInfoRecord::TGI value)

CBioseqInfoFetchRequest & SetSeqIdType(CBioseqInfoRecord::TSeqIdType value)

CBioseqInfoFetchRequest & SetAccession(CBioseqInfoRecord::TAccession const &value)

TSeqIdType GetSeqIdType() const

TVersion GetVersion() const

CBioseqInfoRecord & SetSeqIdType(TSeqIdType value)

CBioseqInfoRecord & SetGI(TGI value)

TAccession const & GetAccession() const

CBioseqInfoRecord & SetVersion(TVersion value)

CBioseqInfoRecord & SetAccession(const TAccession &value)

void SetDataReadyCB(shared_ptr< CCassDataCallbackReceiver > callback)

void SetConsumeCallback(TBioseqInfoConsumeCallback callback)

void SetErrorCB(TDataErrorCallback error_cb)

void SetReadFinished(void)

CCassBlobWaiter * GetLoader(void)

void SetDataReadyCB(shared_ptr< CCassDataCallbackReceiver > callback)

void SetConsumeCallback(TSI2CSIConsumeCallback callback)

@ ePSGS_BioseqInfoNotFound

@ ePSGS_BioseqInfoFoundMany

@ ePSGS_InputSeqIdNotResolved

@ ePSGS_BioseqInfoFoundOne

void Increment(IPSGS_Processor *processor, EPSGS_CounterType counter)

CRequestStatus::ECode GetCombinedErrorCode(void) const

bool HasErrors(void) const

void AppendError(const string &msg, CRequestStatus::ECode code)

string GetCombinedErrorMessage(const list< SPSGSeqId > &seq_id_to_resolve) const

string GetCouldNotResolveMessage(void) const

bool MoveToNextSeqId(void)

SPSGS_RequestBase::EPSGS_AccSubstitutioOption GetAccessionSubstitutionOption(void)

string x_GetSeqIdsToResolveList(void) const

psg_time_point_t m_BioseqInfoStart

void x_OnBioseqInfoWithoutSeqIdType(vector< CBioseqInfoRecord > &&records)

list< SPSGSeqId > m_SeqIdsToResolve

psg_time_point_t m_AsyncCassResolutionStart

void x_SignalStartProcessing(void)

int16_t x_GetRequestSeqIdType(void)

void x_OnSi2csiError(CRequestStatus::ECode status, int code, EDiagSev severity, const string &message)

TSeqIdResolutionErrorCB m_ErrorCB

psg_time_point_t m_Si2csiStart

int16_t m_EffectiveSeqIdType

CBioseqInfoRecord::TSeqIdType m_BioseqInfoRequestedSeqIdType

list< string > m_SecondaryIdList

void x_PreparePrimaryBioseqInfoQuery(const CBioseqInfoRecord::TAccession &seq_id, CBioseqInfoRecord::TVersion version, CBioseqInfoRecord::TSeqIdType seq_id_type, CBioseqInfoRecord::TGI gi, bool with_seq_id_type)

virtual ~CPSGS_AsyncResolveBase()

CBioseqInfoRecord::TGI m_BioseqInfoRequestedGI

bool GetSeqIdResolve(void)

SBioseqResolution m_BioseqResolution

SPSGS_ResolveRequest::TPSGS_BioseqIncludeData GetBioseqInfoFields(void)

void SetupSeqIdToResolve(void)

void x_OnBioseqInfoError(CRequestStatus::ECode status, int code, EDiagSev severity, const string &message)

bool CanSkipBioseqInfoRetrieval(const CBioseqInfoRecord &bioseq_info_record)

int16_t m_EffectiveVersion

CPSGSResolveErrors m_ResolveErrors

bool OptimizationPrecondition(const string &primary_id, int16_t effective_seq_id_type) const

list< SPSGSeqId >::const_iterator m_CurrentSeqIdToResolve

bool NonKeyBioseqInfoFieldsRequested(void)

void x_OnBioseqInfo(vector< CBioseqInfoRecord > &&records)

void x_PrepareSecondaryAsIsSi2csiQuery(void)

TContinueResolveCB m_ContinueResolveCB

bool m_StartProcessingCalled

CCassFetch * m_NoSeqIdTypeFetch

EPSGS_AccessionAdjustmentResult AdjustBioseqAccession(SBioseqResolution &bioseq_resolution)

string x_GetRequestSeqId(void)

CCassFetch * m_CurrentFetch

TSeqIdResolutionStartProcessingCB m_StartProcessingCB

CBioseqInfoRecord::TVersion m_BioseqInfoRequestedVersion

TSeqIdResolutionFinishedCB m_FinishedCB

int16_t GetEffectiveVersion(const CTextseq_id *text_seq_id)

EPSGS_ResolveStage m_ResolveStage

void x_OnSi2csiRecord(vector< CSI2CSIRecord > &&records)

void x_OnSeqIdAsyncResolutionFinished(SBioseqResolution &&async_bioseq_resolution)

CBioseqInfoRecord::TAccession m_BioseqInfoRequestedAccession

void x_PrepareSecondarySi2csiQuery(void)

void x_PrepareSi2csiQuery(const string &secondary_id, int16_t effective_seq_id_type)

list< unique_ptr< CCassFetch > > m_FetchDetails

bool IsTimeoutError(const string &msg) const

static string TypeToString(EPSGS_Type req_type)

@ ePSGS_AnnotationRequest

@ ePSGS_IPGResolveRequest

@ ePSGS_AccessionVersionHistoryRequest

@ ePSGS_BlobBySeqIdRequest

CPSGSCounters & GetCounters(void)

static CPubseqGatewayApp * GetInstance(void)

SSatInfoEntry GetBioseqKeyspace(void) const

CSi2CsiFetchRequest & SetSecSeqId(CSI2CSIRecord::TSecSeqId const &value)

CSi2CsiFetchRequest & SetSecSeqIdType(CSI2CSIRecord::TSecSeqIdType value)

virtual void Process(void)=0

Main processing function.

shared_ptr< CPSGS_Reply > m_Reply

shared_ptr< CPSGS_Request > m_Request

static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)

EDiagSev

Severity level for the posted diagnostics.

@ eDiag_Error

Error message.

@ e500_InternalServerError

#define NCBI_THROW(exception_class, err_code, message)

Generic macro to throw an exception, given the exception class, error code and message string.

static string & ToUpper(string &str)

Convert string to upper case – string& version.

TVersion GetVersion(void) const

Get the Version member data.

bool CanGetVersion(void) const

Check if it is safe to call GetVersion method.

@ e_Other

for historical reasons, 'other' = 'refseq'

@ e_Gpipe

Internal NCBI genome pipeline processing ID.

@ e_Tpe

Third Party Annot/Seq EMBL.

@ e_Tpd

Third Party Annot/Seq DDBJ.

@ e_Gi

GenInfo Integrated Database.

@ e_Tpg

Third Party Annot/Seq Genbank.

SINSDCDecision DecideINSDC(const vector< CBioseqInfoRecord > &records, CBioseqInfoRecord::TVersion version)

bool IsINSDCSeqIdType(CBioseqInfoRecord::TSeqIdType seq_id_type)

const string version

version string

Defines NCBI C++ diagnostic APIs, classes, and macros.

const CConstRef< CSeq_id > GetAccession(const CSeq_id_Handle &id_handle)

string StripTrailingVerticalBars(const string &seq_id)

void PSGSortSeqIds(list< SPSGSeqId > &seq_ids, IPSGS_Processor *processor)

string ToJsonString(const CBioseqInfoRecord &bioseq_info, SPSGS_ResolveRequest::TPSGS_BioseqIncludeData include_data_flags, const string &custom_blob_id)

#define PSG_WARNING(message)

@ ePSGS_BioseqInfoAccessionAdjustmentError

@ ePSGS_NoBioseqInfoForGiError

EPSGS_AccessionAdjustmentResult

string SanitizeInputValue(const string &input_val)

Defines CRequestStatus class for NCBI C++ diagnostic API.

static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)

EPSGS_AccessionAdjustmentResult AdjustAccession(shared_ptr< CPSGS_Request > request, shared_ptr< CPSGS_Reply > reply)

EPSGS_ResolutionResult m_ResolutionResult

CBioseqInfoRecord & GetBioseqInfo(void)

void SetBioseqInfo(const CBioseqInfoRecord &record)

vector< string > m_SeqIds

EPSGS_AccSubstitutioOption

@ ePSGS_LimitedAccSubstitution

@ ePSGS_DefaultAccSubstitution

@ ePSGS_NeverAccSubstitute

int TPSGS_BioseqIncludeData

CRequestStatus::ECode m_ErrorCode


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