NCBI C++ ToolKit
tse_assigner.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef OBJECTS_OBJMGR_IMPL___TSE_ASSIGNER__HPP
2 #define OBJECTS_OBJMGR_IMPL___TSE_ASSIGNER__HPP
3 
4 /* $Id: tse_assigner.hpp 75695 2016-12-07 16:40:59Z vasilche $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Maxim Didenko
30 *
31 * File Description:
32 *
33 */
34 
36 
39 
41 
43 {
44 public:
54 
55  virtual ~ITSE_Assigner() {}
56 
57  virtual void AddDescInfo(CTSE_Info&, const TDescInfo& info,
58  TChunkId chunk_id) = 0;
59  virtual void AddAnnotPlace(CTSE_Info&, const TPlace& place,
60  TChunkId chunk_id) = 0;
61  virtual void AddBioseqPlace(CTSE_Info&, TBioseq_setId place_id,
62  TChunkId chunk_id) = 0;
63  virtual void AddSeq_data(CTSE_Info&, const TLocationSet& location,
64  CTSE_Chunk_Info& chunk) = 0;
65  virtual void AddAssemblyInfo(CTSE_Info&, const TAssemblyInfo& info,
66  TChunkId chunk_id) = 0;
67 
68  virtual void UpdateAnnotIndex(CTSE_Info&, CTSE_Chunk_Info& chunk) = 0;
69 
70  // loading results
71  virtual void LoadDescr(CTSE_Info&, const TPlace& place,
72  const CSeq_descr& descr) = 0;
73  virtual void LoadAnnot(CTSE_Info&, const TPlace& place,
74  CRef<CSeq_annot> annot,
75  int chunk_id) = 0;
76  virtual void LoadBioseq(CTSE_Info&, const TPlace& place,
77  CRef<CSeq_entry> entry,
78  int chunk_id) = 0;
79  virtual void LoadChunkBioseqs(CTSE_Info&, const TPlace& place,
80  const list< CRef<CBioseq> >& bioseqs,
81  int chunk_id) = 0;
82  virtual void LoadSequence(CTSE_Info&, const TPlace& place, TSeqPos pos,
83  const TSequence& sequence) = 0;
84  virtual void LoadAssembly(CTSE_Info&, const TBioseqId& seq_id,
85  const TAssembly& assembly) = 0;
86  virtual void LoadSeq_entry(CTSE_Info&, CSeq_entry& entry,
87  CTSE_SetObjectInfo* set_info) = 0;
88 
89  // get attach points from CTSE_Info
90  static CBioseq_Base_Info& x_GetBase(CTSE_Info& tse, const TPlace& place);
91  static CBioseq_Info& x_GetBioseq(CTSE_Info& tse, const TPlace& place);
92  static CBioseq_set_Info& x_GetBioseq_set(CTSE_Info& tse, const TPlace& place);
93  static CBioseq_Info& x_GetBioseq(CTSE_Info& tse, const TBioseqId& id);
94  static CBioseq_set_Info& x_GetBioseq_set(CTSE_Info& tse, TBioseq_setId id);
95 
96 };
97 
98 
100 {
101 public:
102 
104 
105  virtual ~CTSE_Default_Assigner();
106 
107  virtual void AddDescInfo(CTSE_Info&, const TDescInfo& info, TChunkId chunk_id);
108  virtual void AddAnnotPlace(CTSE_Info&, const TPlace& place, TChunkId chunk_id);
109  virtual void AddBioseqPlace(CTSE_Info&, TBioseq_setId place_id,
110  TChunkId chunk_id);
111  virtual void AddSeq_data(CTSE_Info&, const TLocationSet& location,
112  CTSE_Chunk_Info& chunk);
113  virtual void AddAssemblyInfo(CTSE_Info&, const TAssemblyInfo& info,
114  TChunkId chunk_id);
115 
116  virtual void UpdateAnnotIndex(CTSE_Info&, CTSE_Chunk_Info& chunk);
117 
118  // loading results
119  virtual void LoadDescr(CTSE_Info&, const TPlace& place,
120  const CSeq_descr& descr);
121  virtual void LoadAnnot(CTSE_Info&, const TPlace& place,
122  CRef<CSeq_annot> annot,
123  int chunk_id);
124  virtual void LoadBioseq(CTSE_Info&, const TPlace& place,
125  CRef<CSeq_entry> entry,
126  int chunk_id);
127  virtual void LoadChunkBioseqs(CTSE_Info&, const TPlace& place,
128  const list< CRef<CBioseq> >& bioseqs,
129  int chunk_id);
130  virtual void LoadSequence(CTSE_Info&, const TPlace& place, TSeqPos pos,
131  const TSequence& sequence);
132  virtual void LoadAssembly(CTSE_Info&, const TBioseqId& seq_id,
133  const TAssembly& assembly);
134  virtual void LoadSeq_entry(CTSE_Info&, CSeq_entry& entry,
135  CTSE_SetObjectInfo* set_info);
136 
137 private:
140 };
141 
142 
143 
144 /////////////////////////////////////////////////////////////////////////////
145 /////////////////////////////////////////////////////////////////////////////
146 
147 
150 
151 #endif //OBJECTS_OBJMGR_IMPL___TSE_ASSIGNER__HPP
#define static
CObject –.
Definition: ncbiobj.hpp:180
@Seq_descr.hpp User-defined methods of the data storage class.
Definition: Seq_descr.hpp:55
Definition: Seq_entry.hpp:56
pair< TBioseqId, TBioseq_setId > TPlace
list< CRef< CSeq_align > > TAssembly
pair< TDescTypeMask, TPlace > TDescInfo
vector< TLocation > TLocationSet
list< CRef< CSeq_literal > > TSequence
CTSE_Default_Assigner & operator=(const CTSE_Default_Assigner &)
CTSE_Default_Assigner(const CTSE_Default_Assigner &)
virtual void AddDescInfo(CTSE_Info &, const TDescInfo &info, TChunkId chunk_id)=0
virtual ~ITSE_Assigner()
virtual void LoadSeq_entry(CTSE_Info &, CSeq_entry &entry, CTSE_SetObjectInfo *set_info)=0
virtual void LoadAssembly(CTSE_Info &, const TBioseqId &seq_id, const TAssembly &assembly)=0
CTSE_Chunk_Info::TPlace TPlace
virtual void LoadDescr(CTSE_Info &, const TPlace &place, const CSeq_descr &descr)=0
virtual void AddAnnotPlace(CTSE_Info &, const TPlace &place, TChunkId chunk_id)=0
CTSE_Chunk_Info::TLocationSet TLocationSet
CTSE_Chunk_Info::TChunkId TChunkId
CTSE_Chunk_Info::TSequence TSequence
virtual void LoadSequence(CTSE_Info &, const TPlace &place, TSeqPos pos, const TSequence &sequence)=0
CTSE_Chunk_Info::TAssembly TAssembly
CTSE_Chunk_Info::TAssemblyInfo TAssemblyInfo
virtual void LoadBioseq(CTSE_Info &, const TPlace &place, CRef< CSeq_entry > entry, int chunk_id)=0
CTSE_Chunk_Info::TDescInfo TDescInfo
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
CTSE_Chunk_Info::TBioseq_setId TBioseq_setId
CTSE_Chunk_Info::TBioseqId TBioseqId
virtual void UpdateAnnotIndex(CTSE_Info &, CTSE_Chunk_Info &chunk)=0
virtual void LoadAnnot(CTSE_Info &, const TPlace &place, CRef< CSeq_annot > annot, int chunk_id)=0
virtual void LoadChunkBioseqs(CTSE_Info &, const TPlace &place, const list< CRef< CBioseq > > &bioseqs, int chunk_id)=0
virtual void AddBioseqPlace(CTSE_Info &, TBioseq_setId place_id, TChunkId chunk_id)=0
static const char location[]
Definition: config.c:97
unsigned int TSeqPos
Type for sequence locations and lengths.
Definition: ncbimisc.hpp:875
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
#define NCBI_XOBJMGR_EXPORT
Definition: ncbi_export.h:1307
static MDB_envinfo info
Definition: mdb_load.c:37
static const int kTSE_Place_id
#define const
Definition: zconf.h:230
Modified on Wed Dec 06 07:16:12 2023 by modify_doxy.py rev. 669887