⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alnmulti_ds.hpp

📁 ncbi源码
💻 HPP
字号:
/* * =========================================================================== * PRODUCTION $Log: alnmulti_ds.hpp,v $ * PRODUCTION Revision 1000.3  2004/04/12 18:15:52  gouriano * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.12 * PRODUCTION * =========================================================================== */#ifndef GUI_WIDGETS_ALN_MULTIPLE___ALN_MULTI_DS__HPP#define GUI_WIDGETS_ALN_MULTIPLE___ALN_MULTI_DS__HPP/*  $Id: alnmulti_ds.hpp,v 1000.3 2004/04/12 18:15:52 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. * * =========================================================================== * * Authors:  Mike DiCuccio * * File Description: * */#include <corelib/ncbistd.hpp>#include <corelib/ncbiobj.hpp>#include <objects/seqloc/Seq_loc.hpp>#include <gui/widgets/aln_data/align_ds.hpp>BEGIN_NCBI_SCOPEUSING_SCOPE(ncbi::objects);/// IAlignRowHandle provides an abstract way to access alignment row data.////// IAlignRowHandle-inherited classes are supposed to provide proprietary/// interface depending on the nature of data being represented.class NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORT IAlignRowHandle{protected:    virtual ~IAlignRowHandle() {}};/// IAlnMultiDataSource - interface to a data source representing abstract/// multiple alignment.class NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORT IAlnMultiDataSource{public:    typedef CAlnVec::TNumrow   TNumrow;    typedef CAlnVec::TResidue  TResidue;    typedef CAlnMap                   TSearchDirection;    typedef CAlnMap::ESearchDirection ESearchDirection;public:    /// number of rows in alignment    virtual TNumrow  GetNumRows (void) const = 0;        virtual TSeqPos  GetAlnStart (void) const = 0;     virtual TSeqPos  GetAlnStop (void) const = 0;    /// returns index of the Consensus row or -1 if it doesn't exist    virtual int     GetConsensusRow() const = 0;    virtual const IAlignRowHandle*  GetRowHandle(TNumrow row) const = 0;        /// Anchoring methods     virtual bool  IsSetAnchor (void) const = 0;    virtual TNumrow  GetAnchor (void) const = 0;     virtual void  SetAnchor (TNumrow anchor) = 0;     virtual void  UnsetAnchor (void) = 0;        virtual bool    CanGetId(TNumrow row) const = 0;    virtual const CSeq_id&  GetSeqId(TNumrow row) const = 0;        virtual TSignedSeqPos  GetSeqPosFromAlnPos(TNumrow for_row, TSeqPos aln_pos,                                ESearchDirection dir=TSearchDirection::eNone,                                bool try_reverse_dir=true) const = 0;        virtual TSignedSeqPos  GetAlnPosFromSeqPos(TNumrow row, TSeqPos seq_pos,                                 ESearchDirection dir=TSearchDirection::eNone,                                bool try_reverse_dir=true) const = 0;};END_NCBI_SCOPE/* * =========================================================================== * $Log: alnmulti_ds.hpp,v $ * Revision 1000.3  2004/04/12 18:15:52  gouriano * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.12 * * Revision 1.12  2003/12/10 19:03:20  yazhuk * Added const specifier to CanGetId() and GetSeqId(). * * Revision 1.11  2003/12/10 17:04:36  yazhuk * Changed row identification from mandatory CBioseqHandle to optional CSeq_id. * Clean-up * * Revision 1.10  2003/11/26 16:52:53  johnson * switch IAlnMultiDataSource to use CAlnMap::ESearchDirection instead of it's * own ESearchDirection * * Revision 1.9  2003/11/17 21:12:46  yazhuk * Moved SetGapChar() to CAlnVecMultiDataSource * * Revision 1.8  2003/10/29 23:27:05  yazhuk * Replaced CAlnMultiDataSource with IAlnMultiDataSource * * Revision 1.7  2003/09/25 20:43:47  yazhuk * Moved consensus row support to CAlignDataSource * * Revision 1.6  2003/09/24 18:19:50  dicuccio * Inherit data source from generic data source, removing many redundant data * members / functions * * Revision 1.5  2003/09/23 21:53:44  yazhuk * Added support for consensus row * * Revision 1.4  2003/09/16 14:37:13  dicuccio * Cleaned up and clarified export specifiers - added a new specifier for each * library * * Revision 1.3  2003/09/12 12:59:14  dicuccio * Added export specifiers.  Inlined virtual dtors for interface classes * * Revision 1.2  2003/08/28 18:23:47  yazhuk * Modified to be used with new CAlnMultiWidget * * Revision 1.1  2003/07/14 17:37:18  dicuccio * Initial revision * * =========================================================================== */#endif  // GUI_WIDGETS_ALN_MULTIPLE___ALN_MULTI_DS__HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -