51 #if defined(HAVE_PSG_LOADER)
56 {
"", objects::CSeq_id::eSNPScaleLimit_Default},
57 {
"Unit", objects::CSeq_id::eSNPScaleLimit_Unit},
58 {
"Contig", objects::CSeq_id::eSNPScaleLimit_Contig},
59 {
"Supercontig", objects::CSeq_id::eSNPScaleLimit_Supercontig},
60 {
"Chromosome", objects::CSeq_id::eSNPScaleLimit_Chromosome},
64 objects::CSeq_id::eSNPScaleLimit_Default,
102 return id &&
m_Id ==
id->m_Id;
112 return m_Id <
id->m_Id;
118 string ssat, ssatkey;
120 if (ssat.empty() || ssatkey.empty())
return false;
122 sat = NStr::StringToNumeric<int>(ssat);
123 satkey = NStr::StringToNumeric<int>(ssatkey);
134 if (
auto psg_blob_id =
dynamic_cast<const CPsgBlobId*
>(&blob_id) ) {
153 #define PSGLOADER_NAME "GBLOADER"
160 return TSNP_Scale_Limit::GetDefault();
166 TSNP_Scale_Limit::SetDefault(
value);
278 int score1 = GetScore(id1);
279 int score2 = GetScore(id2);
280 if ( score1 != score2 ) {
281 return score1 > score2;
294 sort(ids.begin(), ids.end(), SBetterId());
481 const string& named_acc)
540 if (gb_blob_id)
return *gb_blob_id;
const TId & GetId(void) const
TSatKey GetSatKey() const
void SetSatKey(TSatKey v)
CObjectManager::TPriority GetPriority(const TPluginManagerParamTree *params) const
CObjectManager::EIsDefault GetIsDefault(const TPluginManagerParamTree *params) const
bool ValidParams(const TPluginManagerParamTree *params) const
TRegisterInfo GetRegisterInfo(void)
Data loader exceptions, used by GenBank loader.
CRef< CPsgBlobId > GetBlobId(const CSeq_id_Handle &idh)
void GetAccVers(const TIds &ids, TLoaded &loaded, TIds &ret)
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)
CTSE_Lock GetBlobById(CDataSource *data_source, const CPsgBlobId &blob_id)
void LoadChunks(CDataSource *data_source, const CDataLoader::TChunkSet &chunks)
int GetSequenceState(CDataSource *data_source, const CSeq_id_Handle &idh)
void GetSequenceStates(CDataSource *data_source, const TIds &ids, TLoaded &loaded, TSequenceStates &ret)
TTaxId GetTaxId(const CSeq_id_Handle &idh)
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)
CDataLoader::STypeFound GetSequenceType(const CSeq_id_Handle &idh)
void GetGis(const TIds &ids, TLoaded &loaded, TGis &ret)
void GetLabels(const TIds &ids, TLoaded &loaded, TLabels &ret)
void GetSequenceTypes(const TIds &ids, TLoaded &loaded, TSequenceTypes &ret)
TSeqPos GetSequenceLength(const CSeq_id_Handle &idh)
void GetSequenceLengths(const TIds &ids, TLoaded &loaded, TSequenceLengths &ret)
CDataLoader::SHashFound GetSequenceHash(const CSeq_id_Handle &idh)
void GetBlobs(CDataSource *data_source, TTSE_LockSets &tse_sets)
void GetCDDAnnots(CDataSource *data_source, const TSeqIdSets &id_sets, TLoaded &loaded, TCDD_Locks &ret)
CDataLoader::TTSE_LockSet GetAnnotRecordsNA(CDataSource *data_source, const TIds &ids, const SAnnotSelector *sel, CDataLoader::TProcessedNAs *processed_nas)
void GetTaxIds(const TIds &ids, TLoaded &loaded, TTaxIds &ret)
CDataLoader::SAccVerFound GetAccVer(const CSeq_id_Handle &idh)
void GetLabels(const TIds &ids, TLoaded &loaded, TLabels &ret) override
void GetCDDAnnots(const TSeqIdSets &id_sets, TLoaded &loaded, TCDD_Locks &ret) override
void GetGis(const TIds &ids, TLoaded &loaded, TGis &ret) override
void GetSequenceHashes(const TIds &ids, TLoaded &loaded, TSequenceHashes &ret, THashKnown &known) override
bool CanGetBlobById(void) const override
void GetIds(const CSeq_id_Handle &idh, TIds &ids) override
TBlobId GetBlobIdFromString(const string &str) const override
TRealBlobId x_GetRealBlobId(const TBlobId &blob_id) const override
void GetTaxIds(const TIds &ids, TLoaded &loaded, TTaxIds &ret) override
void GetChunk(TChunk chunk) override
static void SetSNP_Scale_Limit(CSeq_id::ESNPScaleLimit value)
int GetSequenceState(const CSeq_id_Handle &idh) override
Request for a state of a sequence.
static CSeq_id::ESNPScaleLimit GetSNP_Scale_Limit(void)
void GetSequenceStates(const TIds &ids, TLoaded &loaded, TSequenceStates &ret) override
SAccVerFound GetAccVerFound(const CSeq_id_Handle &idh) override
TTaxId GetTaxId(const CSeq_id_Handle &idh) override
Request for a taxonomy id of a sequence.
static TRegisterLoaderInfo RegisterInObjectManager(CObjectManager &om, CObjectManager::EIsDefault is_default=CObjectManager::eNonDefault, CObjectManager::TPriority priority=CObjectManager::kPriority_NotSet)
SGiFound GetGiFound(const CSeq_id_Handle &idh) override
void DropTSE(CRef< CTSE_Info > tse_info) override
void GetChunks(const TChunkSet &chunks) override
void GetSequenceLengths(const TIds &ids, TLoaded &loaded, TSequenceLengths &ret) override
SHashFound GetSequenceHashFound(const CSeq_id_Handle &idh) override
void GetAccVers(const TIds &ids, TLoaded &loaded, TIds &ret) override
TBlobId GetBlobId(const CSeq_id_Handle &idh) override
TSeqPos GetSequenceLength(const CSeq_id_Handle &idh) override
Request for a length of a sequence.
TTSE_LockSet GetExternalAnnotRecordsNA(const CBioseq_Info &bioseq, const SAnnotSelector *sel, TProcessedNAs *processed_nas) override
void GetBlobs(TTSE_LockSets &tse_sets) override
TTSE_LockSet GetRecords(const CSeq_id_Handle &idh, EChoice choice) override
Request from a datasource using handles and ranges instead of seq-loc The TSEs loaded in this call wi...
STypeFound GetSequenceTypeFound(const CSeq_id_Handle &idh) override
TTSE_LockSet GetOrphanAnnotRecordsNA(const CSeq_id_Handle &idh, const SAnnotSelector *sel, TProcessedNAs *processed_nas) override
new Get*AnnotRecords() methods
TNamedAnnotNames GetNamedAnnotAccessions(const CSeq_id_Handle &idh) override
void GetSequenceTypes(const TIds &ids, TLoaded &loaded, TSequenceTypes &ret) override
CRef< CPSGDataLoader_Impl > m_Impl
TTSE_Lock GetBlobById(const TBlobId &blob_id) override
virtual CDataLoader * CreateAndRegister(CObjectManager &om, const TPluginManagerParamTree *params) const
virtual ~CPSG_DataLoaderCF(void)
virtual string ToString(void) const override
Get string representation of blob id.
CPsgBlobId(const string &id)
static CConstRef< CPsgBlobId > GetPsgBlobId(const CBlobId &blob_id)
virtual bool operator<(const CBlobId &id) const override
virtual bool operator==(const CBlobId &id) const override
bool GetSatSatkey(int &sat, int &satkey) const
const TBlobId & GetBlobId(void) const
definition of a Culling tree
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const struct name_t names[]
unsigned int TSeqPos
Type for sequence locations and lengths.
SStrictId_Tax::TId TTaxId
Taxon id type.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
CConstRef< CSeq_id > GetSeqId(void) const
const CTextseq_id * GetTextseq_Id(void) const
Return embedded CTextseq_id, if any.
ESNPScaleLimit
SNP annotation scale limits.
TLoader * GetLoader(void) const
Get pointer to the loader.
vector< TSeqPos > TSequenceLengths
vector< CTSE_Lock > TCDD_Locks
vector< CSeq_id_Handle > TIds
vector< bool > THashKnown
CDataSource * GetDataSource(void) const
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< CSeq_inst::TMol > TSequenceTypes
vector< vector< CSeq_id_Handle > > TSeqIdSets
virtual TTaxId GetTaxId(const CSeq_id_Handle &idh)
Request for a taxonomy id of a sequence.
EIsDefault
Flag defining if the data loader is included in the "default" group.
vector< bool > TLoaded
Bulk loading interface for a small pieces of information per id.
static void RegisterInObjectManager(CObjectManager &om, CLoaderMaker_Base &loader_maker, CObjectManager::EIsDefault is_default, CObjectManager::TPriority priority)
Register the loader only if the name is not yet registered in the object manager.
vector< int > TSequenceStates
vector< int > TSequenceHashes
vector< TChunk > TChunkSet
bool LessByTypeId(const CBlobId &id2) const
set< TTSE_Lock > TTSE_LockSet
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
void Reset(void)
Reset reference object.
@ eParam_NoThread
Do not use per-thread values.
#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 SplitInTwo(const CTempString str, const CTempString delim, string &str1, string &str2, TSplitFlags flags=0)
Split a string into two pieces using the specified delimiters.
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.
bool IsSetAccession(void) const
Check if a value has been assigned to Accession data member.
bool IsGeneral(void) const
Check if variant General is selected.
bool IsLocal(void) const
Check if variant Local is selected.
bool IsSetVersion(void) const
Check if a value has been assigned to Version data member.
constexpr auto sort(_Init &&init)
Helper classes and templates to implement plugins.
NCBI_PARAM_ENUM_DECL(objects::CSeq_id::ESNPScaleLimit, PSG_LOADER, SNP_SCALE_LIMIT)
NCBI_PARAM_ENUM_ARRAY(objects::CSeq_id::ESNPScaleLimit, PSG_LOADER, SNP_SCALE_LIMIT)
typedef NCBI_PARAM_TYPE(PSG_LOADER, SNP_SCALE_LIMIT) TSNP_Scale_Limit
const char kDataLoader_PSG_DriverName[]
NCBI_PARAM_ENUM_DEF_EX(objects::CSeq_id::ESNPScaleLimit, PSG_LOADER, SNP_SCALE_LIMIT, objects::CSeq_id::eSNPScaleLimit_Default, eParam_NoThread, PSG_LOADER_SNP_SCALE_LIMIT)
CRef< objects::CObjectManager > om
static const char * str(char *buf, int n)
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,...