NCBI C++ ToolKit
bioseq_set_handle.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: bioseq_set_handle.cpp 84799 2018-12-12 19:07:08Z vasilche $
2 * ===========================================================================
3 *
4 * PUBLIC DOMAIN NOTICE
5 * National Center for Biotechnology Information
6 *
7 * This software/database is a "United States Government Work" under the
8 * terms of the United States Copyright Act. It was written as part of
9 * the author's official duties as a United States Government employee and
10 * thus cannot be copyrighted. This software/database is freely available
11 * to the public for use. The National Library of Medicine and the U.S.
12 * Government have not placed any restriction on its use or reproduction.
13 *
14 * Although all reasonable efforts have been taken to ensure the accuracy
15 * and reliability of the software and data, the NLM and the U.S.
16 * Government do not and cannot warrant the performance or results that
17 * may be obtained by using this software or data. The NLM and the U.S.
18 * Government disclaim all warranties, express or implied, including
19 * warranties of performance, merchantability or fitness for any particular
20 * purpose.
21 *
22 * Please cite the author in any work or product based on this material.
23 *
24 * ===========================================================================
25 *
26 * Author: Aleksey Grichenko, Eugene Vasilchenko
27 *
28 * File Description:
29 * Handle to Seq-entry object
30 *
31 */
32 
33 #include <ncbi_pch.hpp>
35 
36 #include <objmgr/scope.hpp>
37 #include <objmgr/bio_object_id.hpp>
38 
41 #include <objmgr/impl/tse_info.hpp>
42 
44 
47 #include <objects/seq/Seqdesc.hpp>
48 
51 
52 
54  const CTSE_Handle& tse)
55  : m_Info(tse.x_GetScopeInfo().GetScopeLock(tse, info))
56 {
57 }
58 
59 
61  : m_Info(lock)
62 {
63 }
64 
65 
67 {
68  m_Info.Reset();
69 }
70 
71 
73 {
74  return m_Info->GetObjectInfo();
75 }
76 
77 
79 {
81 }
82 
83 
85 {
86  return x_GetInfo().GetBioseq_setCore();
87 }
88 
89 
91 {
92  return x_GetInfo().IsEmptySeq_set();
93 }
94 
96 {
97  return x_GetInfo().GetBioObjectId();
98 }
99 
101 {
102  CSeq_entry_Handle ret;
103  const CBioseq_set_Info& info = x_GetInfo();
104  if ( info.HasParent_Info() ) {
105  ret = CSeq_entry_Handle(info.GetParentSeq_entry_Info(),
106  GetTSE_Handle());
107  }
108  return ret;
109 }
110 
111 
113 {
114  CBioseq_set_Handle ret;
115  const CBioseq_set_Info& info = x_GetInfo();
116  if ( info.HasParent_Info() ) {
117  const CSeq_entry_Info& entry = info.GetParentSeq_entry_Info();
118  if ( entry.HasParent_Info() ) {
120  GetTSE_Handle());
121  }
122  }
123  return ret;
124 }
125 
126 
128 {
129  return GetTSE_Handle();
130 }
131 
132 
134 {
135  return GetScope().GetEditHandle(*this);
136 }
137 
138 
140 {
141  return x_GetInfo().IsSetId();
142 }
143 
144 
146 {
147  return *this && x_GetInfo().CanGetId();
148 }
149 
150 
152 {
153  return x_GetInfo().GetId();
154 }
155 
156 
158 {
159  return x_GetInfo().IsSetColl();
160 }
161 
162 
164 {
165  return *this && x_GetInfo().CanGetColl();
166 }
167 
168 
170 {
171  return x_GetInfo().GetColl();
172 }
173 
174 
176 {
177  return x_GetInfo().IsSetLevel();
178 }
179 
180 
182 {
183  return *this && x_GetInfo().CanGetLevel();
184 }
185 
186 
188 {
189  return x_GetInfo().GetLevel();
190 }
191 
192 
194 {
195  return x_GetInfo().IsSetClass();
196 }
197 
198 
200 {
201  return *this && x_GetInfo().CanGetClass();
202 }
203 
204 
206 {
207  return x_GetInfo().GetClass();
208 }
209 
210 
212 {
213  return x_GetInfo().IsSetRelease();
214 }
215 
216 
218 {
219  return *this && x_GetInfo().CanGetRelease();
220 }
221 
222 
224 {
225  return x_GetInfo().GetRelease();
226 }
227 
228 
230 {
231  return x_GetInfo().IsSetDate();
232 }
233 
234 
236 {
237  return *this && x_GetInfo().CanGetDate();
238 }
239 
240 
242 {
243  return x_GetInfo().GetDate();
244 }
245 
246 
248 {
249  return x_GetInfo().IsSetDescr();
250 }
251 
252 
254 {
255  return *this && x_GetInfo().CanGetDescr();
256 }
257 
258 
260 {
261  return x_GetInfo().GetDescr();
262 }
263 
264 
266 {
267  return x_GetInfo().HasAnnots();
268 }
269 
270 
273  0, // not-set (0)
274  3, // nuc-prot (1)
275  2, // segset (2)
276  2, // conset (3)
277  1, // parts (4)
278  1, // gibb (5)
279  1, // gi (6)
280  5, // genbank (7)
281  3, // pir (8)
282  4, // pub-set (9)
283  4, // equiv (10)
284  3, // swissprot (11)
285  3, // pdb-entry (12)
286  4, // mut-set (13)
287  4, // pop-set (14)
288  4, // phy-set (15)
289  4, // eco-set (16)
290  4, // gen-prod-set (17)
291  4, // wgs-set (18)
292  4, // named-annot (19)
293  4, // named-annot-prod (20)
294  4, // read-set (21)
295  4, // paired-end-reads (22)
296  4, // small-genome-set (23)
297  0, // other (255 - processed separately)
298 };
299 
300 
303 {
304  return sm_ComplexityTable;
305 }
306 
307 
310 {
311  const TComplexityTable& ctab = sx_GetComplexityTable();
312  if (cls == CBioseq_set::eClass_other) {
313  // adjust 255 to the correct value
314  cls = CBioseq_set::EClass(sizeof(ctab) - 1);
315  }
318  _ASSERT(e && e.IsSet());
319  while ( e ) {
320  _ASSERT(e.IsSet());
321  // Found good level
322  if (ctab[e.GetSet().GetClass()] == ctab[cls]) {
323  last = e;
324  break;
325  }
326  // Gone too high
327  if ( ctab[e.GetSet().GetClass()] > ctab[cls] ) {
328  break;
329  }
330  // Go up one level
331  last = e;
332  e = e.GetParentEntry();
333  }
334  return last;
335 }
336 
337 
340 {
342  if ( ret &&
343  (!ret.GetSet().IsSetClass() ||
344  ret.GetSet().GetClass() != cls) ) {
345  ret.Reset();
346  }
347  return ret;
348 }
349 
351 {
352  return x_GetInfo().GetEntryIndex(entry.x_GetInfo());
353 }
354 
355 /////////////////////////////////////////////////////////////////////////////
356 // CBioseq_set_EditHandle
357 
359  : CBioseq_set_Handle(h)
360 {
361  if ( !h.GetTSE_Handle().CanBeEdited() ) {
362  NCBI_THROW(CObjMgrException, eInvalidHandle,
363  "object is not in editing mode");
364  }
365 }
366 
367 
369  const CTSE_Handle& tse)
370  : CBioseq_set_Handle(info, tse)
371 {
372 }
373 
374 
376 {
379  if ( info.HasParent_Info() ) {
380  ret = CSeq_entry_EditHandle(info.GetParentSeq_entry_Info(),
381  GetTSE_Handle());
382  }
383  return ret;
384 }
385 
386 
388 {
389  return const_cast<CBioseq_set_Info&>(CBioseq_set_Handle::x_GetInfo());
390 }
391 
392 
394 {
395  typedef CReset_BioseqSetId_EditCommand TCommand;
396  CCommandProcessor processor(x_GetScopeImpl());
397  processor.run(new TCommand(*this));
398  //x_GetInfo().ResetId();
399 }
400 
401 
403 {
404  typedef CSet_BioseqSetId_EditCommand TCommand;
405  CCommandProcessor processor(x_GetScopeImpl());
406  processor.run(new TCommand(*this,v));
407  // x_GetInfo().SetId(v);
408 }
409 
410 
412 {
413  typedef CReset_BioseqSetColl_EditCommand TCommand;
414  CCommandProcessor processor(x_GetScopeImpl());
415  processor.run(new TCommand(*this));
416  //x_GetInfo().ResetColl();
417 }
418 
419 
421 {
422  typedef CSet_BioseqSetColl_EditCommand TCommand;
423  CCommandProcessor processor(x_GetScopeImpl());
424  processor.run(new TCommand(*this, v));
425  //x_GetInfo().SetColl(v);
426 }
427 
428 
430 {
431  typedef CReset_BioseqSetLevel_EditCommand TCommand;
432  CCommandProcessor processor(x_GetScopeImpl());
433  processor.run(new TCommand(*this));
434  // x_GetInfo().ResetLevel();
435 }
436 
437 
439 {
440  typedef CSet_BioseqSetLevel_EditCommand TCommand;
441  CCommandProcessor processor(x_GetScopeImpl());
442  processor.run(new TCommand(*this, v));
443  //x_GetInfo().SetLevel(v);
444 }
445 
446 
448 {
449  typedef CReset_BioseqSetClass_EditCommand TCommand;
450  CCommandProcessor processor(x_GetScopeImpl());
451  processor.run(new TCommand(*this));
452  //x_GetInfo().ResetClass();
453 }
454 
455 
457 {
458  typedef CSet_BioseqSetClass_EditCommand TCommand;
459  CCommandProcessor processor(x_GetScopeImpl());
460  processor.run(new TCommand(*this, v));
461  //x_GetInfo().SetClass(v);
462 }
463 
464 
466 {
467  typedef CReset_BioseqSetRelease_EditCommand TCommand;
468  CCommandProcessor processor(x_GetScopeImpl());
469  processor.run(new TCommand(*this));
470  // x_GetInfo().ResetRelease();
471 }
472 
473 
475 {
476  typedef CSet_BioseqSetRelease_EditCommand TCommand;
477  CCommandProcessor processor(x_GetScopeImpl());
478  processor.run(new TCommand(*this, v));
479  // x_GetInfo().SetRelease(v);
480 }
481 
482 
484 {
485  typedef CReset_BioseqSetDate_EditCommand TCommand;
486  CCommandProcessor processor(x_GetScopeImpl());
487  processor.run(new TCommand(*this));
488  //x_GetInfo().ResetDate();
489 }
490 
491 
493 {
494  typedef CSet_BioseqSetDate_EditCommand TCommand;
495  CCommandProcessor processor(x_GetScopeImpl());
496  processor.run(new TCommand(*this,v));
497  // x_GetInfo().SetDate(v);
498 }
499 
500 
502 {
504  CCommandProcessor processor(x_GetScopeImpl());
505  processor.run(new TCommand(*this));
506  // x_GetInfo().ResetDescr();
507 }
508 
509 
511 {
513  CCommandProcessor processor(x_GetScopeImpl());
514  processor.run(new TCommand(*this,v));
515  // x_GetInfo().SetDescr(v);
516 }
517 
518 
520 {
521  if (x_GetScopeImpl().IsTransactionActive()
522  || GetTSE_Handle().x_GetTSE_Info().GetEditSaver() ) {
523  NCBI_THROW(CObjMgrException, eTransaction,
524  "TDescr& CBioseq_set_EditHandle::SetDescr(): "
525  "method can not be called if a transaction is required");
526  }
527  return x_GetInfo().SetDescr();
528 }
529 
530 
532 {
534  CCommandProcessor processor(x_GetScopeImpl());
535  return processor.run(new TCommand(*this, d));
536  // return x_GetInfo().AddSeqdesc(d);
537 }
538 
539 
541 {
543  CCommandProcessor processor(x_GetScopeImpl());
544  return processor.run(new TCommand(*this, d));
545  //return x_GetInfo().RemoveSeqdesc(d);
546 }
547 
548 
550 {
551  return x_RealReplaceSeqdesc(old_desc, new_desc);
552 }
553 
554 
556 {
558  CCommandProcessor processor(x_GetScopeImpl());
559  processor.run(new TCommand(*this, v));
560  // x_GetInfo().AddSeq_descr(v);
561 }
562 
563 
565 {
566  return AttachEntry(*new CSeq_entry, index);
567 }
568 
569 
572 {
573  CRef<IScopeTransaction_Impl> tr(x_GetScopeImpl().CreateTransaction());
574  CBioseq_EditHandle ret = AddNewEntry(index).SelectSeq(seq);
575  tr->Commit();
576  return ret;
577 }
578 
579 
582  int index) const
583 {
584  CRef<IScopeTransaction_Impl> tr(x_GetScopeImpl().CreateTransaction());
585  CBioseq_EditHandle ret = AddNewEntry(index).CopySeq(seq);
586  tr->Commit();
587  return ret;
588 }
589 
590 
593  int index) const
594 {
595  CRef<IScopeTransaction_Impl> tr(x_GetScopeImpl().CreateTransaction());
596  CBioseq_EditHandle ret = AddNewEntry(index).TakeSeq(seq);
597  tr->Commit();
598  return ret;
599 }
600 
601 
604 {
605  return AttachEntry(Ref(new CSeq_entry_Info(entry)), index);
606  // return x_GetScopeImpl().AttachEntry(*this, entry, index);
607 }
608 
611 {
613  CCommandProcessor processor(x_GetScopeImpl());
614  return processor.run(new TCommand(*this, entry, index, x_GetScopeImpl()));
615 }
616 
617 
620  int index) const
621 {
622  return AttachEntry(Ref(new CSeq_entry_Info(entry.x_GetInfo(), 0)),
623  index);
624  //return x_GetScopeImpl().CopyEntry(*this, entry, index);
625 }
626 
627 
630  int index) const
631 {
632  CRef<IScopeTransaction_Impl> tr(x_GetScopeImpl().CreateTransaction());
633  entry.Remove();
634  CSeq_entry_EditHandle handle = AttachEntry(entry, index);
635  tr->Commit();
636  return handle;
637  //return x_GetScopeImpl().TakeEntry(*this, entry, index);
638 }
639 
640 
643  int index) const
644 {
646  CCommandProcessor processor(x_GetScopeImpl());
647  return processor.run(new TCommand(*this, entry, index, x_GetScopeImpl()));
648  // return x_GetScopeImpl().AttachEntry(*this, entry, index);
649 }
650 
651 
654 {
655  return GetParentEntry().AttachAnnot(annot);
656 }
657 
658 
661 {
662  return GetParentEntry().CopyAnnot(annot);
663 }
664 
665 
668 {
669  return GetParentEntry().TakeAnnot(annot);
670 }
671 
672 
674 {
675  if (mode == eKeepSeq_entry)
676  x_Detach();
677  else {
678  CRef<IScopeTransaction_Impl> tr(x_GetScopeImpl().CreateTransaction());
680  x_Detach();
681  parent.Remove();
682  tr->Commit();
683  }
684 }
686 {
687  typedef CRemoveBioseq_set_EditCommand TCommand;
688  CCommandProcessor processor(x_GetScopeImpl());
689  processor.run(new TCommand(*this, x_GetScopeImpl()));
690  // x_GetScopeImpl().RemoveBioseq_set(*this);
691 }
692 
693 //////////////////////////////////////////////////////////////////////////
695 {
696  x_GetInfo().ResetDescr();
697 }
698 
699 
701 {
702  x_GetInfo().SetDescr(v);
703 }
704 
706 {
707  return x_GetInfo().AddSeqdesc(d);
708 }
709 
710 
712 {
713  return x_GetInfo().RemoveSeqdesc(d);
714 }
715 
716 
718 {
719  return x_GetInfo().ReplaceSeqdesc(old_desc, new_desc);
720 }
721 
722 
724 {
725  x_GetInfo().AddSeq_descr(v);
726 }
727 
729 {
730  x_GetInfo().ResetId();
731 }
732 
733 
735 {
736  x_GetInfo().SetId(v);
737 }
738 
739 
741 {
742  x_GetInfo().ResetColl();
743 }
744 
745 
747 {
748  x_GetInfo().SetColl(v);
749 }
750 
751 
753 {
754  x_GetInfo().ResetLevel();
755 }
756 
757 
759 {
760  x_GetInfo().SetLevel(v);
761 }
762 
763 
765 {
766  x_GetInfo().ResetClass();
767 }
768 
769 
771 {
772  x_GetInfo().SetClass(v);
773 }
774 
775 
777 {
779 }
780 
781 
783 {
784  x_GetInfo().SetRelease(v);
785 }
786 
787 
789 {
790  x_GetInfo().ResetDate();
791 }
792 
793 
795 {
796  x_GetInfo().SetDate(v);
797 }
798 
799 
bool IsSetDescr(void) const
bool HasAnnots(void) const
CRef< CSeqdesc > RemoveSeqdesc(const CSeqdesc &d)
CRef< CSeqdesc > ReplaceSeqdesc(const CSeqdesc &old_desc, CSeqdesc &new_desc)
const TDescr & GetDescr(void) const
void AddSeq_descr(const TDescr &v)
bool AddSeqdesc(CSeqdesc &d)
TDescr & SetDescr(void)
bool CanGetDescr(void) const
CBioseq_EditHandle –.
CBioseq_Handle –.
CBioseq_set_EditHandle –.
CBioseq_set_Handle –.
const TDate & GetDate(void) const
bool IsSetClass(void) const
void SetLevel(TLevel v)
const TRelease & GetRelease(void) const
void SetColl(TColl &v)
bool IsEmptySeq_set(void) const
bool CanGetClass(void) const
bool CanGetLevel(void) const
bool CanGetRelease(void) const
CConstRef< TObject > GetBioseq_setCore(void) const
bool IsSetDate(void) const
CConstRef< TObject > GetCompleteBioseq_set(void) const
void SetRelease(TRelease &v)
int GetEntryIndex(const CSeq_entry_Info &entry) const
void SetClass(TClass v)
bool CanGetColl(void) const
void SetDate(TDate &v)
TClass GetClass(void) const
bool IsSetId(void) const
bool IsSetLevel(void) const
bool CanGetDate(void) const
const TColl & GetColl(void) const
bool CanGetId(void) const
bool IsSetColl(void) const
TLevel GetLevel(void) const
const TId & GetId(void) const
bool IsSetRelease(void) const
CMDReturn< CMD >::TReturn run(CMD *cmd)
Definition: Date.hpp:53
Definition: Dbtag.hpp:53
Base class for all object manager exceptions.
void Reset(void)
Definition: tse_handle.hpp:654
CSeq_annot_Handle –.
@Seq_descr.hpp User-defined methods of the data storage class.
Definition: Seq_descr.hpp:55
CSeq_entry_Handle –.
CSeq_entry_Handle –.
const CBioseq_set_Info & GetParentBioseq_set_Info(void) const
Definition: Seq_entry.hpp:56
bool CanBeEdited(void) const
Return true if this TSE handle is local to scope and can be edited.
Definition: tse_handle.cpp:229
bool HasParent_Info(void) const
virtual const CBioObjectId & GetBioObjectId(void) const
virtual void Commit()=0
IEditSaver * GetEditSaver(const Handle &handle)
static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)
Definition: dlist.tmpl.h:51
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
Definition: ncbiexpt.hpp:704
CBioseq_EditHandle GetEditHandle(const CBioseq_Handle &seq)
Get editable Biosec handle by regular one.
Definition: scope.cpp:301
CBioseq_set_EditHandle GetEditHandle(void) const
Get 'edit' version of handle.
void x_RealSetDescr(TDescr &v) const
CSeq_entry_Handle GetComplexityLevel(CBioseq_set::EClass cls) const
Go up to a certain complexity level (or the nearest level of the same priority if the required class ...
void x_RealResetClass(void) const
const TColl & GetColl(void) const
friend class CSeq_entry_Handle
bool CanGetDescr(void) const
const CTSE_Handle & GetTSE_Handle(void) const
bool CanGetRelease(void) const
bool IsSetColl(void) const
TClass GetClass(void) const
bool CanGetDate(void) const
bool IsSetId(void) const
CRef< CSeqdesc > x_RealReplaceSeqdesc(const CSeqdesc &old_desc, CSeqdesc &new_desc) const
CSeq_annot_EditHandle TakeAnnot(const CSeq_annot_EditHandle &annot) const
Remove the annotation from its location and attach to current one.
void x_RealSetLevel(TLevel v) const
CBioseq_set::TLevel TLevel
CRef< CSeqdesc > ReplaceSeqdesc(const CSeqdesc &old_desc, CSeqdesc &new_desc) const
void SetRelease(TRelease &v) const
CRef< CSeqdesc > x_RealRemoveSeqdesc(const CSeqdesc &d) const
bool CanGetClass(void) const
void x_RealSetColl(TColl &v) const
void SetClass(TClass v) const
CBioseq_EditHandle AttachBioseq(CBioseq &seq, int index=-1) const
Attach a bioseq.
bool IsSetDescr(void) const
void x_RealSetClass(TClass v) const
CScope & GetScope(void) const
Get scope this handle belongs to.
static const TComplexityTable & sx_GetComplexityTable(void)
bool IsEmptySeq_set(void) const
Check if the bioseq set is empty.
TSet GetSet(void) const
void x_RealAddSeq_descr(TDescr &v) const
bool AddSeqdesc(CSeqdesc &d) const
CSeq_entry_EditHandle TakeEntry(const CSeq_entry_EditHandle &entry, int index=-1) const
Remove seq-entry from its location and attach to current one.
bool IsSetDate(void) const
bool CanGetColl(void) const
void Remove(void) const
Remove this Seq-entry from parent, or scope if it's top level Seq-entry.
void SetId(TId &id) const
CSeq_annot_EditHandle AttachAnnot(CSeq_annot &annot) const
Attach an annotation.
void AddSeq_descr(TDescr &v) const
const TDate & GetDate(void) const
CConstRef< CBioseq_set > GetCompleteBioseq_set(void) const
Return the complete bioseq-set object.
CBioseq_set_Handle GetParentBioseq_set(void) const
Return a handle for the parent Bioseq-set, or null handle.
const CBioObjectId & GetBioObjectId(void) const
Get unique object id.
CSeq_annot_EditHandle TakeAnnot(const CSeq_annot_EditHandle &annot) const
Remove the annotation from its location and attach to current one.
void Remove(ERemoveMode mode=eRemoveSeq_entry) const
Remove current seqset-entry from its location.
const CSeq_entry_Info & x_GetInfo(void) const
TSeq SelectSeq(CBioseq &seq) const
Make the empty Seq-entry be in seq state with specified Bioseq object.
static TComplexityTable sm_ComplexityTable
bool x_RealAddSeqdesc(CSeqdesc &d) const
void SetColl(TColl &v) const
void x_RealResetRelease(void) const
CBioseq_EditHandle CopyBioseq(const CBioseq_Handle &seq, int index=-1) const
Attach a copy of the bioseq.
CBioseq_set::TRelease TRelease
CSeq_entry_Handle GetParentEntry(void) const
Return a handle for the parent seq-entry of the bioseq.
CSeq_entry_Handle GetExactComplexityLevel(CBioseq_set::EClass cls) const
Return level with exact complexity, or empty handle if not found.
bool CanGetLevel(void) const
void SetLevel(TLevel v) const
CSeq_entry_EditHandle AttachEntry(CSeq_entry &entry, int index=-1) const
Attach an existing seq-entry.
TSeq CopySeq(const CBioseq_Handle &seq) const
Make the empty Seq-entry be in seq state with specified Bioseq object.
void x_RealResetLevel(void) const
const CBioseq_set_Info & x_GetInfo(void) const
bool IsSetClass(void) const
CBioseq_set_Info & x_GetInfo(void) const
CScope_Impl & x_GetScopeImpl(void) const
const TDescr & GetDescr(void) const
CRef< CSeqdesc > RemoveSeqdesc(const CSeqdesc &d) const
bool IsSetRelease(void) const
CSeq_entry_EditHandle CopyEntry(const CSeq_entry_Handle &entry, int index=-1) const
Attach a copy of the existing seq-entry.
void x_RealResetDescr(void) const
void ResetRelease(void) const
CBioseq_EditHandle TakeBioseq(const CBioseq_EditHandle &seq, int index=-1) const
Remove bioseq from its location and attach to current one.
CSeq_annot_EditHandle AttachAnnot(CSeq_annot &annot) const
Attach an annotation.
CSeq_entry_EditHandle GetParentEntry(void) const
Navigate object tree.
CSeq_entry_EditHandle AddNewEntry(int index) const
Create new empty seq-entry.
TLevel GetLevel(void) const
bool IsSet(void) const
void SetDate(TDate &v) const
void x_RealSetId(TId &id) const
const TRelease & GetRelease(void) const
CSeq_annot_EditHandle CopyAnnot(const CSeq_annot_Handle &annot) const
Attach a copy of the annotation.
CSeq_entry_Handle GetTopLevelEntry(void) const
Return a handle for the top-level seq-entry.
void Reset(void)
Reset handle and make it not to point to any seq-entry.
CSeq_annot_EditHandle CopyAnnot(const CSeq_annot_Handle &annot) const
Attach a copy of the annotation.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
bool CanGetId(void) const
TSeq TakeSeq(const TSeq &seq) const
Make the empty Seq-entry be in seq state with moving bioseq object from the argument seq.
bool IsSetLevel(void) const
void x_RealSetRelease(TRelease &v) const
CConstRef< CBioseq_set > GetBioseq_setCore(void) const
Return core data for the bioseq-set.
TDescr & SetDescr(void) const
int GetSeq_entry_Index(const CSeq_entry_Handle &handle) const
const TObjectInfo & GetObjectInfo(void) const
void x_RealResetDate(void) const
void x_RealResetId(void) const
bool HasAnnots(void) const
void x_RealResetColl(void) const
void x_RealSetDate(TDate &v) const
const TId & GetId(void) const
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
Definition: ncbiobj.hpp:2015
#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
static MDB_envinfo info
Definition: mdb_load.c:37
mdb_mode_t mode
Definition: lmdb++.h:38
#define _ASSERT
#define const
Definition: zconf.h:232
Modified on Wed Apr 17 13:10:28 2024 by modify_doxy.py rev. 669887