📄 bioseq_handle.hpp
字号:
// inst.length void SetInst_Length(TInst_Length v) const; // inst.fuzz void SetInst_Fuzz(TInst_Fuzz& v) const; // inst.topology void SetInst_Topology(TInst_Topology v) const; // inst.strand void SetInst_Strand(TInst_Strand v) const; // inst.seq-data void SetInst_Seq_data(TInst_Seq_data& v) const; // inst.ext void SetInst_Ext(TInst_Ext& v) const; // inst.hist void SetInst_Hist(TInst_Hist& v) const; // annot ////////////////////////////////////////////////////////////////// // Add/remove/replace annotations: CSeq_annot_EditHandle AttachAnnot(const CSeq_annot& annot) const; CSeq_annot_EditHandle CopyAnnot(const CSeq_annot_Handle& annot) const; CSeq_annot_EditHandle TakeAnnot(const CSeq_annot_EditHandle& annot) const; // Tree modification, target handle must be in the same TSE // entry.Which() must be e_not_set or e_Set. CBioseq_EditHandle MoveTo(const CSeq_entry_EditHandle& entry, int index = -1) const; CBioseq_EditHandle MoveTo(const CBioseq_set_EditHandle& seqset, int index = -1) const; CBioseq_EditHandle MoveToSeq(const CSeq_entry_EditHandle& entry) const; void Remove(void) const;protected: friend class CScope_Impl; CBioseq_EditHandle(const CBioseq_Handle& h);public: // non-public section CBioseq_Info& x_GetInfo(void) const;};/////////////////////////////////////////////////////////////////////////////// CBioseq_Handle inline methods/////////////////////////////////////////////////////////////////////////////inlineCBioseq_Handle::CBioseq_Handle(void){}inlineconst CSeq_id_Handle& CBioseq_Handle::GetSeq_id_Handle(void) const{ return m_Seq_id;}inlineCBioseq_Handle::operator bool(void) const{ return m_Bioseq_Info;}inlinebool CBioseq_Handle::operator!(void) const{ return !m_Bioseq_Info;}inlineconst CBioseq_ScopeInfo& CBioseq_Handle::x_GetScopeInfo(void) const{ return reinterpret_cast<const CBioseq_ScopeInfo&>(*m_Bioseq_Info);}inlineCBioseq_Info& CBioseq_EditHandle::x_GetInfo(void) const{ return const_cast<CBioseq_Info&>(CBioseq_Handle::x_GetInfo());}inlineCScope& CBioseq_Handle::GetScope(void) const { return m_Scope;}inlinebool CBioseq_Handle::operator!= (const CBioseq_Handle& h) const{ return !(*this == h);}END_SCOPE(objects)END_NCBI_SCOPE/** ---------------------------------------------------------------------------* $Log: bioseq_handle.hpp,v $* Revision 1000.4 2004/06/01 19:21:17 gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.56** Revision 1.56 2004/05/06 17:32:37 grichenk* Added CanGetXXXX() methods** Revision 1.55 2004/03/31 19:23:13 vasilche* Fixed scope in CBioseq_Handle::GetEditHandle().** Revision 1.54 2004/03/31 17:08:06 vasilche* Implemented ConvertSeqToSet and ConvertSetToSeq.** Revision 1.53 2004/03/29 20:13:05 vasilche* Implemented whole set of methods to modify Seq-entry object tree.* Added CBioseq_Handle::GetExactComplexityLevel().** Revision 1.52 2004/03/25 19:27:43 vasilche* Implemented MoveTo and CopyTo methods of handles.** Revision 1.51 2004/03/24 18:30:28 vasilche* Fixed edit API.* Every *_Info object has its own shallow copy of original object.** Revision 1.50 2004/03/16 21:01:32 vasilche* Added methods to move Bioseq withing Seq-entry** Revision 1.49 2004/03/16 15:47:26 vasilche* Added CBioseq_set_Handle and set of EditHandles** Revision 1.48 2004/02/06 16:07:26 grichenk* Added CBioseq_Handle::GetSeq_entry_Handle()* Fixed MapLocation()** Revision 1.47 2003/11/28 15:13:24 grichenk* Added CSeq_entry_Handle** Revision 1.46 2003/11/17 16:03:12 grichenk* Throw exception in CBioseq_Handle if the parent scope has been reset** Revision 1.45 2003/11/10 18:12:43 grichenk* Added MapLocation()** Revision 1.44 2003/09/30 16:21:59 vasilche* Updated internal object manager classes to be able to load ID2 data.* SNP blobs are loaded as ID2 split blobs - readers convert them automatically.* Scope caches results of requests for data to data loaders.* Optimized CSeq_id_Handle for gis.* Optimized bioseq lookup in scope.* Reduced object allocations in annotation iterators.* CScope is allowed to be destroyed before other objects using this scope are* deleted (feature iterators, bioseq handles etc).* Optimized lookup for matching Seq-ids in CSeq_id_Mapper.* Added 'adaptive' option to objmgr_demo application.** Revision 1.43 2003/09/05 17:29:39 grichenk* Structurized Object Manager exceptions** Revision 1.42 2003/08/27 14:28:50 vasilche* Reduce amount of object allocations in feature iteration.** Revision 1.41 2003/07/15 16:14:06 grichenk* CBioseqHandle::IsSynonym() made public** Revision 1.40 2003/06/19 18:23:44 vasilche* Added several CXxx_ScopeInfo classes for CScope related information.* CBioseq_Handle now uses reference to CBioseq_ScopeInfo.* Some fine tuning of locking in CScope.** Revision 1.38 2003/05/20 15:44:36 vasilche* Fixed interaction of CDataSource and CDataLoader in multithreaded app.* Fixed some warnings on WorkShop.* Added workaround for memory leak on WorkShop.** Revision 1.37 2003/04/24 16:12:37 vasilche* Object manager internal structures are splitted more straightforward.* Removed excessive header dependencies.** Revision 1.36 2003/03/27 19:39:34 grichenk* +CBioseq_Handle::GetComplexityLevel()** Revision 1.35 2003/03/21 19:22:48 grichenk* Redesigned TSE locking, replaced CTSE_Lock with CRef<CTSE_Info>.** Revision 1.34 2003/03/18 21:48:27 grichenk* Removed obsolete class CAnnot_CI** Revision 1.33 2003/03/18 14:46:35 grichenk* Set limit object type to "none" if the object is null.** Revision 1.32 2003/03/14 19:10:33 grichenk* + SAnnotSelector::EIdResolving; fixed operator=() for several classes** Revision 1.31 2003/03/12 20:09:30 grichenk* Redistributed members between CBioseq_Handle, CBioseq_Info and CTSE_Info** Revision 1.30 2003/02/27 14:35:32 vasilche* Splitted PopulateTSESet() by logically independent parts.** Revision 1.29 2003/01/23 19:33:57 vasilche* Commented out obsolete methods.* Use strand argument of CSeqVector instead of creation reversed seqmap.* Fixed ordering operators of CBioseqHandle to be consistent.** Revision 1.28 2003/01/22 20:11:53 vasilche* Merged functionality of CSeqMapResolved_CI to CSeqMap_CI.* CSeqMap_CI now supports resolution and iteration over sequence range.* Added several caches to CScope.* Optimized CSeqVector().* Added serveral variants of CBioseqHandle::GetSeqVector().* Tried to optimize annotations iterator (not much success).* Rewritten CHandleRange and CHandleRangeMap classes to avoid sorting of list.** Revision 1.27 2002/12/26 20:51:35 dicuccio* Added Win32 export specifier** Revision 1.26 2002/12/26 16:39:21 vasilche* Object manager class CSeqMap rewritten.** Revision 1.25 2002/11/08 22:15:50 grichenk* Added methods for removing/replacing annotations** Revision 1.24 2002/09/03 21:26:58 grichenk* Replaced bool arguments in CSeqVector constructor and getters* with enums.** Revision 1.23 2002/08/23 16:49:06 grichenk* Added warning about using CreateResolvedSeqMap()** Revision 1.22 2002/07/08 20:50:56 grichenk* Moved log to the end of file* Replaced static mutex (in CScope, CDataSource) with the mutex* pool. Redesigned CDataSource data locking.** Revision 1.21 2002/06/12 14:39:00 grichenk* Renamed enumerators** Revision 1.20 2002/06/06 19:36:02 clausen* Added GetTitle()** Revision 1.19 2002/05/31 17:52:58 grichenk* Optimized for better performance (CTSE_Info uses atomic counter,* delayed annotations indexing, no location convertions in* CAnnot_Types_CI if no references resolution is required etc.)** Revision 1.18 2002/05/21 18:39:27 grichenk* CBioseq_Handle::GetResolvedSeqMap() -> CreateResolvedSeqMap()** Revision 1.17 2002/05/06 03:30:35 vakatov* OM/OM1 renaming** Revision 1.16 2002/05/03 18:35:36 grichenk* throw -> THROW1_TRACE** Revision 1.15 2002/04/23 19:01:06 grichenk* Added optional flag to GetSeqVector() and GetSequenceView()* for switching to IUPAC encoding.** Revision 1.14 2002/04/22 20:06:58 grichenk* +GetSequenceView(), +x_IsSynonym()** Revision 1.13 2002/04/18 20:35:10 gouriano* correction in comment** Revision 1.12 2002/04/11 12:07:28 grichenk* Redesigned CAnnotTypes_CI to resolve segmented sequences correctly.** Revision 1.11 2002/03/19 19:17:33 gouriano* added const qualifier to GetTitle and GetSeqVector** Revision 1.10 2002/03/15 18:10:04 grichenk* Removed CRef<CSeq_id> from CSeq_id_Handle, added* key to seq-id map th CSeq_id_Mapper** Revision 1.9 2002/03/04 15:08:43 grichenk* Improved CTSE_Info locks** Revision 1.8 2002/02/21 19:27:00 grichenk* Rearranged includes. Added scope history. Added searching for the* best seq-id match in data sources and scopes. Updated tests.** Revision 1.7 2002/02/07 21:27:33 grichenk* Redesigned CDataSource indexing: seq-id handle -> TSE -> seq/annot** Revision 1.6 2002/02/01 21:49:10 gouriano* minor changes to make it compilable and run on Solaris Workshop** Revision 1.5 2002/01/29 17:05:53 grichenk* GetHandle() -> GetKey()** Revision 1.4 2002/01/28 19:45:33 gouriano* changed the interface of BioseqHandle: two functions moved from Scope** Revision 1.3 2002/01/23 21:59:29 grichenk* Redesigned seq-id handles and mapper** Revision 1.2 2002/01/16 16:26:36 gouriano* restructured objmgr** Revision 1.1 2002/01/11 19:04:00 gouriano* restructured objmgr*** ===========================================================================*/#endif // BIOSEQ_HANDLE__HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -