1 #ifndef SNP_CLIENT__HPP
2 #define SNP_CLIENT__HPP
73 objects::CSeq_id::ESNPScaleLimit
m_SNPScaleLimit = objects::CSeq_id::eSNPScaleLimit_Default;
79 typedef vector<CRef<objects::CID2S_Seq_annot_Info>>
TAnnotInfo;
99 CSNPBlobId(
const objects::CSNPDbSeqIterator& seq,
size_t filter_index);
129 return ParseNA(acc).first != 0;
157 size_t filter_index);
276 operator objects::CSNPDb& (void)
281 void AddSeq(
const objects::CSeq_id_Handle&
id);
286 typedef map<objects::CSeq_id_Handle, CRef<CSNPSeqInfo> >
TSeqById;
312 vector<SSNPData>
GetAnnotInfo(
const objects::CSeq_id_Handle&
id,
313 const string& name, objects::CSeq_id::ESNPScaleLimit scale_limit);
Int4 GetSubSat(void) const
void SetPrimaryTrackFeat()
bool IsValidSatKey(void) const
static bool IsValidSeqIndex(size_t seq_index)
bool m_IsPrimaryTrackGraph
int GetSubSatBase(void) const
static bool IsValidFilterIndex(size_t filter_index)
CSNPBlobId(const CSNPFileInfo &file, size_t seq_index, size_t filter_index)
bool IsValidSat(void) const
static pair< size_t, size_t > ParseNA(CTempString acc)
size_t GetFilterIndex(void) const
string ToString(void) const
Get string representation of blob id.
bool IsPrimaryTrackFeat() const
CSNPBlobId(const CTempString &str)
static bool IsValidNAIndex(size_t index)
static bool IsValidNAVersion(size_t version)
objects::CSeq_id_Handle GetSeqId(void) const
void FromString(CTempString str)
void SetSatNA(CTempString acc)
void SetSeqAndFilterIndex(size_t seq_index, size_t filter_index)
size_t GetNAVersion(void) const
static pair< size_t, size_t > ParseNA(CTempString acc)
void SetNAIndex(size_t na_index)
static bool IsValidNA(pair< size_t, size_t > na)
Int4 GetSatKey(void) const
void SetNAVersion(size_t na_version)
CSNPBlobId(const CSNPFileInfo &file, const objects::CSeq_id_Handle &seq_id, size_t filter_index)
size_t GetNAIndex(void) const
bool FromSatString(CTempString str)
bool IsPrimaryTrackGraph() const
objects::CSeq_id_Handle m_SeqId
int GetSatBase(void) const
bool IsValidSubSat(void) const
static bool IsValidNA(CTempString acc)
CSNPBlobId(const objects::CSNPDbSeqIterator &seq, size_t filter_index)
bool IsPrimaryTrack() const
static bool IsValidNAIndex(size_t index)
static bool IsValidNAVersion(size_t version)
string GetAccession(void) const
string GetSatNA(void) const
size_t GetSeqIndex(void) const
void SetPrimaryTrackGraph()
SSNPProcessor_Config m_Config
bool CanProcessRequest(CPSGS_Request &request, TProcessorPriority priority) const
SSNPData GetChunk(const string &id2info, int chunk_id)
void x_RegisterTiming(psg_time_point_t start, EPSGOperation operation, EPSGOperationStatus status)
bool IsValidSeqId(const objects::CSeq_id_Handle &idh) const
vector< SSNPData > GetAnnotInfo(const objects::CSeq_id_Handle &id, const string &name, objects::CSeq_id::ESNPScaleLimit scale_limit)
CRef< objects::CSnpPtisClient > m_PTISClient
CRef< objects::CID2S_Seq_annot_Info > x_GetGraphInfo(const string &name, const objects::CSeq_id_Handle &id)
CSNPClient(const SSNPProcessor_Config &config)
CRef< CSNPSeqInfo > GetSeqInfo(const CSNPBlobId &blob_id)
CRef< CSNPFileInfo > GetFileInfo(const string &acc)
vector< string > WhatNACanProcess(SPSGS_AnnotRequest &annot_request, TProcessorPriority priority=0) const
shared_ptr< objects::CVDBMgr > m_Mgr
bool HaveValidSeq_id(const SPSGS_AnnotRequest &request) const
CVDBCacheWithExpiration TSNPDbCache
SSNPData GetBlobByBlobId(const string &blob_id)
CRef< objects::CID2S_Seq_annot_Info > x_GetFeatInfo(const string &name, const objects::CSeq_id_Handle &id)
CRef< CSNPSeqInfo > GetSeqInfo(size_t seq_index)
unsigned m_RemainingOpenRetries
const string & GetAccession(void) const
CRef< CSNPSeqInfo > GetSeqInfo(const CSNPBlobId &blob_id)
map< objects::CSeq_id_Handle, CRef< CSNPSeqInfo > > TSeqById
objects::CSNPDb & GetDb(void)
map< size_t, CRef< CSNPSeqInfo > > TSeqByIdx
const string & GetFileName(void) const
const string & GetBaseAnnotName(void) const
CSNPBlobId GetAnnotBlobId(const objects::CSeq_id_Handle &id) const
void x_Initialize(CSNPDataLoader_Impl &impl, const string &file_name)
CRef< CSNPSeqInfo > GetSeqInfo(const objects::CSeq_id_Handle &seq_id)
bool IsValidNA(void) const
CSNPFileInfo(CSNPDataLoader_Impl &impl, const string &file_name)
string GetSNPAnnotName(size_t filter_index) const
void AddSeq(const objects::CSeq_id_Handle &id)
CSNPBlobId GetAnnotBlobId(void) const
bool IncludeFeat(void) const
bool m_IsPrimaryTrackGraph
void SetFromBlobId(const CSNPBlobId &blob_id)
CSNPBlobId GetBlobId(void) const
bool IncludeGraph(void) const
objects::CSeq_id_Handle m_SeqId
void SetFilterIndex(size_t filter_index)
int GetAnnotChunkId(TSeqPos ref_pos) const
void LoadBlob(SSNPData &data, bool split_enabled)
string GetAnnotName(void) const
CSNPSeqInfo(CSNPFileInfo *file, const objects::CSNPDbSeqIterator &it)
void LoadChunk(SSNPData &data, int chunk_id)
objects::CSNPDbSeqIterator GetSeqIterator(void) const
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
static const char * str(char *buf, int n)
unsigned int TSeqPos
Type for sequence locations and lengths.
int32_t Int4
4-byte (32-bit) signed integer
uint32_t Uint4
4-byte (32-bit) unsigned integer
uint16_t Uint2
2-byte (16-bit) unsigned integer
const string version
version string
psg_clock_t::time_point psg_time_point_t
static CNamedPipeClient * client
CRef< objects::CID2S_Split_Info > m_SplitInfo
vector< CRef< objects::CID2S_Seq_annot_Info > > TAnnotInfo
CRef< objects::CID2S_Chunk > m_Chunk
CRef< objects::CSeq_entry > m_TSE
unsigned m_FileRecheckTime
unsigned m_FileReopenTime
objects::CSeq_id::ESNPScaleLimit m_SNPScaleLimit