51 #define NCBI_USE_ERRCODE_X ObjMgr_ObjSplitInfo
137 annot_ids.
insert(lit->first);
401 dst.push_back(
TLocation(location_id, location_range));
437 dst.
insert(dst.end(), ids.begin(), ids.end());
446 dst.
insert(dst.end(), ids.begin(), ids.end());
455 dst.
insert(dst.end(), ids.begin(), ids.end());
464 dst.
insert(dst.end(), ids.begin(), ids.end());
500 size_t keys_begin = infos.
GetKeys().size();
502 key.m_Handle = lit->first;
503 key.m_Range = lit->second;
504 if (
key.m_Range.Empty() ) {
506 if ( it->first.IsNamed() ) {
507 name =
" "+it->first.GetName();
509 ERR_POST_X(11,
"Empty region in split-info on "<<
510 key.m_Handle<<name<<
" "<<
513 key.m_Range =
key.m_Range.GetWhole();
517 size_t keys_end = infos.
GetKeys().size();
518 if ( keys_begin+1 == keys_end &&
524 info.SetKeys(keys_begin, keys_end);
538 return !
types.empty();
545 for (
size_t index =
range.first; index <
range.second; ++index ) {
561 return !
types.empty();
579 return !
types.empty();
586 for (
size_t index =
range.first; index <
range.second; ++index ) {
602 return !
types.empty();
672 if (
info->HasSingleKey() ) {
673 mapper.
Map(
info->GetKey(), index);
676 for (
size_t i =
info->GetKeysBegin();
677 i <
info->GetKeysEnd(); ++
i ) {
678 mapper.
Map(it->GetKey(
i), index);
746 list< CRef<CBioseq> > bioseqs;
747 bioseqs.push_back(
Ref(
const_cast<CBioseq*
>(&bioseq)));
User-defined methods of the data storage class.
static CSeqFeatData::ESubtype GetSubtypeForIndex(size_t index)
pair< size_t, size_t > TIndexRange
static TIndexRange GetFeatTypeRange(CSeqFeatData::E_Choice type)
void Guard(CDataSource &ds)
static E_Choice GetTypeFromSubtype(ESubtype subtype)
@Seq_descr.hpp User-defined methods of the data storage class.
bool Map(const SAnnotObject_Key &key, const SAnnotObject_Index &index) const
virtual void Loaded(CTSE_Chunk_Info &chunk)=0
bool x_GetRecords(const CSeq_id_Handle &id, bool bioseq) const
void x_InitObjectIndexList(void)
virtual ~CTSE_Chunk_Info(void)
void x_UpdateAnnotIndex(CTSE_Info &tse)
void x_SplitAttach(CTSE_Split_Info &split_info)
CTSE_Chunk_Info(TChunkId id)
void x_AddXref_ids(const SAnnotTypeSelector &type, const TFeatIdIntList &ids)
vector< TDescInfo > TDescInfos
void x_TSEAttach(CTSE_Info &tse, ITSE_Assigner &tse_info)
pair< TBioseqId, TBioseq_setId > TPlace
void x_AddAnnotPlace(const TBioseqId &id)
void x_LoadBioseq(const TPlace &place, const CBioseq &bioseq)
TBlobId GetBlobId(void) const
void x_LoadAnnot(const TPlace &place, const CSeq_annot &annot)
vector< TAssemblyInfo > TAssemblyInfos
CRef< CTSEChunkLoadListener > m_LoadListener
TObjectIndexList m_ObjectIndexList
void x_LoadBioseqs(const TPlace &place, const list< CRef< CBioseq > > &bioseqs)
void x_LoadAssembly(const TBioseqId &seq_id, const TAssembly &assembly)
list< TFeatIdStr > TFeatIdStrList
void x_AddDescInfo(TDescTypeMask type_mask, const TBioseqId &id)
Uint4 GetLoadBytes() const
list< CRef< CSeq_align > > TAssembly
CInitMutex< CObject > m_LoadLock
CTSE_Split_Info * m_SplitInfo
pair< TDescTypeMask, TPlace > TDescInfo
void x_SetLoadSeconds(double seconds)
void x_AddUsedMemory(size_t size)
vector< TBioseqId > TBioseqIds
void x_UpdateAnnotIndexContents(CTSE_Info &tse)
void x_LoadSequence(const TPlace &place, TSeqPos pos, const TSequence &seq)
void SetLoaded(CObject *obj=0)
TBioseqPlaces m_BioseqPlaces
vector< TLocation > TLocationSet
void x_DropAnnotObjects(void)
list< TObjectIndex > TObjectIndexList
void x_AddBioseqPlace(TBioseq_setId id)
void x_LoadDescr(const TPlace &place, const CSeq_descr &descr)
void x_LoadSeq_entry(CSeq_entry &entry, CTSE_SetObjectInfo *set_info=0)
TAnnotContents m_AnnotContents
void x_AddAssemblyInfo(const TBioseqId &id)
TChunkId GetChunkId(void) const
double GetLoadSeconds() const
TAssemblyInfos m_AssemblyInfos
void SetLoadListener(CRef< CTSEChunkLoadListener > listener)
vector< TFeatIdInt > TFeatIdIntList
void x_AddAnnotType(const CAnnotName &annot_name, const SAnnotTypeSelector &annot_type, const TLocationId &location_id)
void GetBioseqsIds(TBioseqIds &ids) const
list< CRef< CSeq_literal > > TSequence
void x_SetLoadBytes(Uint4 bytes)
CInitGuard * GetLoadInitGuard(void)
bool x_Attached(void) const
TBlobVersion GetBlobVersion(void) const
void x_AddSeq_data(const TLocationSet &location)
const CTSE_Split_Info & GetSplitInfo(void) const
pair< Uint4, double > GetLoadCost() const
pair< TLocationId, TLocationRange > TLocation
vector< TBioseq_setId > TBioseqPlaces
bool NotLoaded(void) const
SAnnotObjectsIndex TObjectIndex
bool ContainsBioseq(const CSeq_id_Handle &id) const
void x_AddBioseqId(const TBioseqId &id)
bool IsLoaded(void) const
bool x_ContainsFeatIds(CSeqFeatData::E_Choice type, EFeatIdType id_type) const
bool x_ContainsFeatType(CSeqFeatData::E_Choice type) const
void x_MapChunkByFeatType(CSeqFeatData::ESubtype subtype, TChunkId chunk_id)
CDataSource & GetDataSource(void) const
void x_MapChunkByFeatId(TFeatIdInt id, CSeqFeatData::ESubtype subtype, TChunkId chunk_id, EFeatIdType type)
TAnnotLock & GetAnnotLock(void) const
bool HasDataSource(void) const
const CAnnotName & GetName(void) const
void x_LoadBioseqs(const TPlace &place, const list< CRef< CBioseq > > &bioseqs, int chunk_id)
TBlobId GetBlobId(void) const
void x_AddAssemblyInfo(const TAssemblyInfo &info, TChunkId chunk_id)
void x_LoadDescr(const TPlace &place, const CSeq_descr &descr)
CInitMutexPool & GetMutexPool(void)
void x_AddSeq_data(const TLocationSet &location, CTSE_Chunk_Info &chunk)
TBlobVersion GetBlobVersion(void) const
void x_AddUsedMemory(size_t size)
void x_UpdateAnnotIndex(void)
void x_AddBioseqPlace(TBioseq_setId place_id, TChunkId chunk_id)
CDataLoader & GetDataLoader(void) const
void x_AddAnnotPlace(const TPlace &place, TChunkId chunk_id)
void x_LoadAssembly(const TBioseqId &seq_id, const TAssembly &assembly)
void x_LoadSequence(const TPlace &place, TSeqPos pos, const TSequence &sequence)
void x_LoadSeq_entry(CSeq_entry &entry, CTSE_SetObjectInfo *set_info=0)
void x_LoadAnnot(const TPlace &place, const CSeq_annot &annot, int chunk_id)
void x_AddDescInfo(const TDescInfo &info, TChunkId chunk_id)
void x_SetContainedSeqIds(const vector< TBioseqId > &seq_ids, const set< TBioseqId > &annot_ids, TChunkId chunk_id)
virtual void AddDescInfo(CTSE_Info &, const TDescInfo &info, TChunkId chunk_id)=0
virtual void AddAnnotPlace(CTSE_Info &, const TPlace &place, TChunkId chunk_id)=0
virtual void AddAssemblyInfo(CTSE_Info &, const TAssemblyInfo &info, TChunkId chunk_id)=0
virtual void AddSeq_data(CTSE_Info &, const TLocationSet &location, CTSE_Chunk_Info &chunk)=0
virtual void AddBioseqPlace(CTSE_Info &, TBioseq_setId place_id, TChunkId chunk_id)=0
iterator_bool insert(const value_type &val)
iterator_bool insert(const value_type &val)
static const char location[]
static void DLIST_NAME() init(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 ERR_POST_X(err_subcode, message)
Error posting with default error code and given error subcode.
virtual double EstimateLoadSeconds(const CTSE_Chunk_Info &chunk, Uint4 bytes) const
virtual Uint4 EstimateLoadBytes(const CTSE_Chunk_Info &chunk) const
virtual void GetChunk(TChunk chunk_info)
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
CObject(void)
Constructor.
uint32_t Uint4
4-byte (32-bit) unsigned integer
static TThisType GetWhole(void)
#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.
@ e_not_set
No variant selected.
Definition of all error codes used in objmgr libraries (xobjmgr.lib, xobjutil.lib and others).
range(_Ty, _Ty) -> range< _Ty >
constexpr auto sort(_Init &&init)
const struct ncbi::grid::netcache::search::fields::SIZE size
const struct ncbi::grid::netcache::search::fields::KEY key
CAnnotObject_Info * m_AnnotObject_Info
bool IsSingle(void) const
void AddInfo(const CAnnotObject_Info &info)
TObjectInfos & GetInfos(void)
const SAnnotObject_Key & GetKey(size_t i) const
const CAnnotName & GetName(void) const
deque< CAnnotObject_Info > TObjectInfos
void AddMap(const SAnnotObject_Key &key, const SAnnotObject_Index &index)
const TObjectKeys & GetKeys(void) const
NCBI_DEFINE_ERR_SUBCODE_X(11)
static bool x_HasFeatType(const CTSE_Chunk_Info::TAnnotTypes &types, CSeqFeatData::E_Choice type)
static bool x_HasFeatIds(const CTSE_Chunk_Info::TFeatIdsMap &types, CSeqFeatData::E_Choice type)
static const struct type types[]