📄 seq_feat_handle.hpp
字号:
/* * =========================================================================== * PRODUCTION $Log: seq_feat_handle.hpp,v $ * PRODUCTION Revision 1000.0 2004/06/01 19:25:42 gouriano * PRODUCTION PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.2 * PRODUCTION * =========================================================================== */#ifndef SEQ_FEAT_HANDLE__HPP#define SEQ_FEAT_HANDLE__HPP/* $Id: seq_feat_handle.hpp,v 1000.0 2004/06/01 19:25:42 gouriano Exp $* ===========================================================================** PUBLIC DOMAIN NOTICE* National Center for Biotechnology Information** This software/database is a "United States Government Work" under the* terms of the United States Copyright Act. It was written as part of* the author's official duties as a United States Government employee and* thus cannot be copyrighted. This software/database is freely available* to the public for use. The National Library of Medicine and the U.S.* Government have not placed any restriction on its use or reproduction.** Although all reasonable efforts have been taken to ensure the accuracy* and reliability of the software and data, the NLM and the U.S.* Government do not and cannot warrant the performance or results that* may be obtained by using this software or data. The NLM and the U.S.* Government disclaim all warranties, express or implied, including* warranties of performance, merchantability or fitness for any particular* purpose.** Please cite the author in any work or product based on this material.** ===========================================================================** Author: Aleksey Grichenko, Eugene Vasilchenko** File Description:* Seq-feat handle**/#include <corelib/ncbiobj.hpp>#include <objmgr/impl/heap_scope.hpp>#include <util/range.hpp>#include <objects/seqloc/Na_strand.hpp>#include <objects/seqfeat/Seq_feat.hpp>#include <objects/seqfeat/SeqFeatData.hpp>#include <objmgr/impl/seq_annot_info.hpp>#include <objmgr/impl/snp_annot_info.hpp>BEGIN_NCBI_SCOPEBEGIN_SCOPE(objects)class CSeq_annot_Handle;class CSeq_feat_Handle{public: CSeq_feat_Handle(void); CSeq_feat_Handle(CScope& scope, const CSeq_annot_Info& annot_info, size_t index); CSeq_feat_Handle(CScope& scope, const CSeq_annot_SNP_Info& snp_info, size_t index); ~CSeq_feat_Handle(void); CSeq_annot_Handle GetAnnot(void) const; CConstRef<CSeq_feat> GetSeq_feat(void) const; bool IsTableSNP(void) const; typedef CRange<TSeqPos> TRange; TRange GetRange(void) const; // Mappings for CSeq_feat methods bool IsSetId(void) const; const CFeat_id& GetId(void) const; const CSeqFeatData& GetData(void) const; bool IsSetPartial(void) const; bool GetPartial(void) const; bool IsSetExcept(void) const; bool GetExcept(void) const; bool IsSetComment(void) const; const string& GetComment(void) const; bool IsSetProduct(void) const; const CSeq_loc& GetProduct(void) const; const CSeq_loc& GetLocation(void) const; bool IsSetQual(void) const; const CSeq_feat::TQual& GetQual(void) const; bool IsSetTitle(void) const; const string& GetTitle(void) const; bool IsSetExt(void) const; const CUser_object& GetExt(void) const; bool IsSetCit(void) const; const CPub_set& GetCit(void) const; bool IsSetExp_ev(void) const; CSeq_feat::EExp_ev GetExp_ev(void) const; bool IsSetXref(void) const; const CSeq_feat::TXref& GetXref(void) const; bool IsSetDbxref(void) const; const CSeq_feat::TDbxref& GetDbxref(void) const; bool IsSetPseudo(void) const; bool GetPseudo(void) const; bool IsSetExcept_text(void) const; const string& GetExcept_text(void) const; // Access to some methods of CSeq_feat members CSeqFeatData::E_Choice GetFeatType(void) const; CSeqFeatData::ESubtype GetFeatSubtype(void) const; // Table SNP only types and methods typedef SSNP_Info::TSNPId TSNPId; typedef SSNP_Info::TWeight TWeight; TSNPId GetSNPId(void) const; CSeq_id::TGi GetGi(void) const; bool IsMinusStrand(void) const; TWeight GetWeight(void) const; size_t GetAllelesCount(void) const; string GetAllele(size_t index) const;private: const SSNP_Info& x_GetSNP_Info(void) const; const CSeq_feat& x_GetSeq_feat(void) const; enum EAnnotInfoType { eType_null, eType_Seq_annot_Info, eType_Seq_annot_SNP_Info }; CHeapScope m_Scope; CConstRef<CSeq_annot_Info> m_Annot; EAnnotInfoType m_AnnotInfoType; size_t m_Index;};inlinebool CSeq_feat_Handle::IsTableSNP(void) const{ return m_AnnotInfoType == eType_Seq_annot_SNP_Info;}inlinebool CSeq_feat_Handle::IsMinusStrand(void) const{ return x_GetSNP_Info().MinusStrand();}inlineCSeq_feat_Handle::TSNPId CSeq_feat_Handle::GetSNPId(void) const{ return x_GetSNP_Info().m_SNP_Id;}inlineCSeq_feat_Handle::TWeight CSeq_feat_Handle::GetWeight(void) const{ return x_GetSNP_Info().m_Weight;}inlinebool CSeq_feat_Handle::IsSetId(void) const{ return x_GetSeq_feat().IsSetId();}inlineconst CFeat_id& CSeq_feat_Handle::GetId(void) const{ return x_GetSeq_feat().GetId();}inlineconst CSeqFeatData& CSeq_feat_Handle::GetData(void) const{ return x_GetSeq_feat().GetData();}inlinebool CSeq_feat_Handle::IsSetPartial(void) const{ return x_GetSeq_feat().IsSetPartial();}inlinebool CSeq_feat_Handle::GetPartial(void) const{ return x_GetSeq_feat().GetPartial();}inlinebool CSeq_feat_Handle::IsSetExcept(void) const{ return x_GetSeq_feat().IsSetExcept();}inlinebool CSeq_feat_Handle::GetExcept(void) const{ return x_GetSeq_feat().GetExcept();}inlinebool CSeq_feat_Handle::IsSetComment(void) const{ return x_GetSeq_feat().IsSetComment();}inlineconst string& CSeq_feat_Handle::GetComment(void) const{ return x_GetSeq_feat().GetComment();}inlinebool CSeq_feat_Handle::IsSetProduct(void) const{ return x_GetSeq_feat().IsSetProduct();}inlineconst CSeq_loc& CSeq_feat_Handle::GetProduct(void) const{ return x_GetSeq_feat().GetProduct();}inlineconst CSeq_loc& CSeq_feat_Handle::GetLocation(void) const{ return x_GetSeq_feat().GetLocation();}inlinebool CSeq_feat_Handle::IsSetQual(void) const{ return x_GetSeq_feat().IsSetQual();}inlineconst CSeq_feat::TQual& CSeq_feat_Handle::GetQual(void) const{ return x_GetSeq_feat().GetQual();}inlinebool CSeq_feat_Handle::IsSetTitle(void) const{ return x_GetSeq_feat().IsSetTitle();}inlineconst string& CSeq_feat_Handle::GetTitle(void) const{ return x_GetSeq_feat().GetTitle();}inlinebool CSeq_feat_Handle::IsSetExt(void) const{ return x_GetSeq_feat().IsSetExt();}inlineconst CUser_object& CSeq_feat_Handle::GetExt(void) const{ return x_GetSeq_feat().GetExt();}inlinebool CSeq_feat_Handle::IsSetCit(void) const{ return x_GetSeq_feat().IsSetCit();}inlineconst CPub_set& CSeq_feat_Handle::GetCit(void) const{ return x_GetSeq_feat().GetCit();}inlinebool CSeq_feat_Handle::IsSetExp_ev(void) const{ return x_GetSeq_feat().IsSetExp_ev();}inlineCSeq_feat::EExp_ev CSeq_feat_Handle::GetExp_ev(void) const{ return x_GetSeq_feat().GetExp_ev();}inlinebool CSeq_feat_Handle::IsSetXref(void) const{ return x_GetSeq_feat().IsSetXref();}inlineconst CSeq_feat::TXref& CSeq_feat_Handle::GetXref(void) const{ return x_GetSeq_feat().GetXref();}inlinebool CSeq_feat_Handle::IsSetDbxref(void) const{ return x_GetSeq_feat().IsSetDbxref();}inlineconst CSeq_feat::TDbxref& CSeq_feat_Handle::GetDbxref(void) const{ return x_GetSeq_feat().GetDbxref();}inlinebool CSeq_feat_Handle::IsSetPseudo(void) const{ return x_GetSeq_feat().IsSetPseudo();}inlinebool CSeq_feat_Handle::GetPseudo(void) const{ return x_GetSeq_feat().GetPseudo();}inlinebool CSeq_feat_Handle::IsSetExcept_text(void) const{ return x_GetSeq_feat().IsSetExcept_text();}inlineconst string& CSeq_feat_Handle::GetExcept_text(void) const{ return x_GetSeq_feat().GetExcept_text();}inlineCSeqFeatData::E_Choice CSeq_feat_Handle::GetFeatType(void) const{ return x_GetSeq_feat().GetData().Which();}inlineCSeqFeatData::ESubtype CSeq_feat_Handle::GetFeatSubtype(void) const{ return x_GetSeq_feat().GetData().GetSubtype();}END_SCOPE(objects)END_NCBI_SCOPE/** ---------------------------------------------------------------------------* $Log: seq_feat_handle.hpp,v $* Revision 1000.0 2004/06/01 19:25:42 gouriano* PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.2** Revision 1.2 2004/05/06 17:32:37 grichenk* Added CanGetXXXX() methods** Revision 1.1 2004/05/04 18:06:06 grichenk* Initial revision*** ===========================================================================*/#endif // SEQ_FEAT_HANDLE__HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -