📄 context.hpp
字号:
CFlatFileContext(const CFlatFileConfig& cfg) : m_Cfg(cfg) {} // destructor ~CFlatFileContext(void) {} const CSeq_entry_Handle& GetEntry(void) const { return m_Entry; } void SetEntry(const CSeq_entry_Handle& entry) { m_Entry = entry; } const CSubmit_block* GetSubmitBlock(void) const { return m_Submit; } void SetSubmit(const CSubmit_block& sub) { m_Submit = ⊂ } const CFlatFileConfig& GetConfig(void) const { return m_Cfg; } const SAnnotSelector* GetAnnotSelector(void) const; SAnnotSelector& SetAnnotSelector(void); void SetAnnotSelector(const SAnnotSelector&); const CSeq_loc* GetLocation(void) const { return m_Loc; } void SetLocation(const CSeq_loc* loc) { m_Loc.Reset(loc); } void AddSection(TSection& section) { m_Sections.push_back(section); } void Reset(void);private: CFlatFileConfig m_Cfg; CSeq_entry_Handle m_Entry; TSections m_Sections; CConstRef<CSubmit_block> m_Submit; auto_ptr<SAnnotSelector> m_Selector; CConstRef<CSeq_loc> m_Loc;};/////////////////////////////////////////////////////////////////////////////// inline methods// -------- CBioseqContextinlineconst CBioseq::TId& CBioseqContext::GetBioseqIds(void) const{ return m_Handle.GetBioseqCore()->GetId();}inlineSIZE_TYPE CBioseqContext::GetTotalNumParts(void) const{ return m_Master->GetNumParts();}inlinevoid CBioseqContext::SetMaster(CMasterContext& mctx) { m_Master.Reset(&mctx);}inlinebool CBioseqContext::IsRSCompleteGenomic(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_chromosome; // NC_}inlinebool CBioseqContext::IsRSIncompleteGenomic(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_genomic; // NG_}inlinebool CBioseqContext::IsRSMRna(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_mrna; // NM_}inlinebool CBioseqContext::IsRSNonCodingRna(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_ncrna; // NR_}inlinebool CBioseqContext::IsRSProtein(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_prot; // NP_}inlinebool CBioseqContext::IsRSContig(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_contig; // NT_}inlinebool CBioseqContext::IsRSIntermedWGS(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_wgs_intermed; // NW_}inlinebool CBioseqContext::IsRSPredictedMRna(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_mrna_predicted; // XM_}inlinebool CBioseqContext::IsRSPredictedNCRna(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_ncrna_predicted; // XR_}inlinebool CBioseqContext::IsRSPredictedProtein(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_prot_predicted; // XP_}inlinebool CBioseqContext::IsRSWGSNuc(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_wgs_nuc; // NZ_}inlinebool CBioseqContext::IsRSWGSProt(void) const{ return m_RefseqInfo == CSeq_id::eAcc_refseq_wgs_prot; // ZP_}inlineconst CFlatFileConfig& CBioseqContext::Config(void) const{ return m_FFCtx.GetConfig();}inlineconst CSubmit_block* CBioseqContext::GetSubmitBlock(void) const{ return m_FFCtx.GetSubmitBlock();}inlineconst CSeq_entry_Handle& CBioseqContext::GetEntry(void) const{ return m_FFCtx.GetEntry();}inlineconst SAnnotSelector* CBioseqContext::GetAnnotSelector(void) const{ return m_FFCtx.GetAnnotSelector();}inlineconst CSeq_loc* CBioseqContext::GetMasterLocation(void) const{ return m_FFCtx.GetLocation();}inlineCMolInfo::TTech CBioseqContext::GetTech(void) const{ return m_Molinfo ? m_Molinfo->GetTech() : CMolInfo::eTech_unknown;}inlineCMolInfo::TBiomol CBioseqContext::GetBiomol(void) const{ return m_Molinfo ? m_Molinfo->GetBiomol() : CMolInfo::eBiomol_unknown;}inlinebool CBioseqContext::IsGenbankFormat(void) const{ return (Config().IsFormatGenbank() || Config().IsFormatGBSeq() || Config().IsFormatDDBJ());}// -------- CFlatFileContextinlineconst SAnnotSelector* CFlatFileContext::GetAnnotSelector(void) const{ return m_Selector.get();}inlineSAnnotSelector& CFlatFileContext::SetAnnotSelector(void){ if ( m_Selector.get() == 0 ) { m_Selector.reset(new SAnnotSelector); } return *m_Selector;}inlinevoid CFlatFileContext::SetAnnotSelector(const SAnnotSelector& sel){ m_Selector.reset(new SAnnotSelector(sel));}inlinevoid CFlatFileContext::Reset(void){ m_Entry.Reset(); m_Sections.clear(); m_Submit.Reset(); m_Selector.reset(); m_Loc.Reset();}END_SCOPE(objects)END_NCBI_SCOPE/** ===========================================================================** $Log: context.hpp,v $* Revision 1000.1 2004/06/01 19:38:24 gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.18** Revision 1.18 2004/05/19 14:45:50 shomrat* + CFlatFileContext::Reset** Revision 1.17 2004/05/06 17:44:28 shomrat* + IsEMBL and IsInNucProt** Revision 1.16 2004/04/27 15:09:31 shomrat* + IsGenbankFormat** Revision 1.15 2004/04/22 16:11:24 ucko* Move CBioseqContext::SetMaster's body to the end of the file, as some* compilers insist on seeing CMasterContext's full definition first.** Revision 1.14 2004/04/22 15:41:38 shomrat* Refactoring of context** Revision 1.13 2004/03/31 17:14:00 shomrat* name changes** Revision 1.12 2004/03/25 20:28:55 shomrat* Use handle objects** Revision 1.11 2004/03/18 15:29:38 shomrat* + flag ShowFtableRefs** Revision 1.10 2004/03/16 19:07:48 vasilche* Include <memory> for auto_ptr<>.** Revision 1.9 2004/03/16 15:40:21 vasilche* Added required include** Revision 1.8 2004/03/12 16:55:10 shomrat* + ViewNuc(), ViewProt()** Revision 1.7 2004/03/10 21:38:01 shomrat* Fixed usage of m_RefseqInfo** Revision 1.6 2004/03/05 18:53:34 shomrat* added customization flags** Revision 1.5 2004/02/19 17:56:21 shomrat* add flag for skipping gathering of source features** Revision 1.4 2004/02/11 22:47:41 shomrat* using types in flag file** Revision 1.3 2004/02/11 16:39:49 shomrat* added more user customization flags** Revision 1.2 2004/01/14 15:50:17 shomrat* multiple changes (work in progress)** Revision 1.1 2003/12/18 17:41:20 shomrat* file was moved from src directory** Revision 1.1 2003/12/17 20:18:54 shomrat* Initial Revision (adapted from flat lib)** ===========================================================================*/#endif /* OBJTOOLS_FORMAT___CONTEXT__HPP */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -