📄 sequence_set.hpp
字号:
/* * =========================================================================== * PRODUCTION $Log: sequence_set.hpp,v $ * PRODUCTION Revision 1000.2 2004/06/01 18:29:09 gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.32 * PRODUCTION * =========================================================================== *//* $Id: sequence_set.hpp,v 1000.2 2004/06/01 18:29:09 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: Paul Thiessen** File Description:* Classes to hold sets of sequences** ===========================================================================*/#ifndef CN3D_SEQUENCE_SET__HPP#define CN3D_SEQUENCE_SET__HPP#include <corelib/ncbistd.hpp> // must come first to avoid NCBI type clashes#include <corelib/ncbistl.hpp>#include <string>#include <list>#include <objects/seqset/Seq_entry.hpp>#include <objects/seq/Bioseq.hpp>#include <objects/seqloc/Seq_id.hpp>#include <objloc.h>#include "structure_base.hpp"BEGIN_SCOPE(Cn3D)class Sequence;class Molecule;class MasterSlaveAlignment;class MoleculeIdentifier;class SequenceSet : public StructureBase{public: typedef std::list < ncbi::CRef < ncbi::objects::CSeq_entry > > SeqEntryList; SequenceSet(StructureBase *parent, SeqEntryList& seqEntries); typedef std::list < const Sequence * > SequenceList; SequenceList sequences; bool Draw(const AtomSet *atomSet = NULL) const { return false; } // not drawable};class Sequence : public StructureBase{public: Sequence(SequenceSet *parent, ncbi::objects::CBioseq& bioseq); // keep a reference to the original asn Bioseq ncbi::CRef < ncbi::objects::CBioseq > bioseqASN; std::string sequenceString, description; const MoleculeIdentifier *identifier; // corresponding biopolymer chain (if any) const Molecule *molecule; bool isProtein; int Length(void) const { return sequenceString.size(); } int GetOrSetMMDBLink(void) const; void AddMMDBAnnotTag(int mmdbID) const; // Seq-id stuff (C++ and C) ncbi::objects::CSeq_id * CreateSeqId(void) const; void FillOutSeqId(ncbi::objects::CSeq_id *sid) const; void AddCSeqId(SeqIdPtr *id, bool addAllTypes) const; // launch web browser with entrez page for this sequence void LaunchWebBrowserWithInfo(void) const; // highlight residues matching the given pattern; returns true if the pattern is valid, // regardless of whether a match is found, or returns false on error bool HighlightPattern(const std::string& pattern) const;};END_SCOPE(Cn3D)#endif // CN3D_SEQUENCE_SET__HPP/** ---------------------------------------------------------------------------* $Log: sequence_set.hpp,v $* Revision 1000.2 2004/06/01 18:29:09 gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.32** Revision 1.32 2004/05/21 17:29:51 thiessen* allow conversion of mime to cdd data** Revision 1.31 2004/02/19 17:05:07 thiessen* remove cn3d/ from include paths; add pragma to disable annoying msvc warning** Revision 1.30 2003/07/14 18:37:08 thiessen* change GetUngappedAlignedBlocks() param types; other syntax changes** Revision 1.29 2003/02/03 19:20:05 thiessen* format changes: move CVS Log to bottom of file, remove std:: from .cpp files, and use new diagnostic macros** Revision 1.28 2002/11/19 21:19:44 thiessen* more const changes for objects; fix user vs default style bug** Revision 1.27 2002/11/06 00:18:10 thiessen* fixes for new CRef/const rules in objects** Revision 1.26 2001/11/27 16:26:09 thiessen* major update to data management system** Revision 1.25 2001/09/27 15:36:48 thiessen* decouple sequence import and BLAST** Revision 1.24 2001/08/15 20:53:07 juran* Heed warnings.** Revision 1.23 2001/07/23 20:08:38 thiessen* add regex pattern search** Revision 1.22 2001/07/19 19:12:46 thiessen* working CDD alignment annotator ; misc tweaks** Revision 1.21 2001/06/21 02:01:07 thiessen* major update to molecule identification and highlighting ; add toggle highlight (via alt)** Revision 1.20 2001/05/31 18:46:27 thiessen* add preliminary style dialog; remove LIST_TYPE; add thread single and delete all; misc tweaks** Revision 1.19 2001/05/02 16:35:18 thiessen* launch entrez web page on sequence identifier** Revision 1.18 2001/04/18 15:46:32 thiessen* show description, length, and PDB numbering in status line** Revision 1.17 2001/03/01 20:15:29 thiessen* major rearrangement of sequence viewer code into base and derived classes** Revision 1.16 2001/02/16 00:36:47 thiessen* remove unused sequences from asn data** Revision 1.15 2001/02/13 01:03:03 thiessen* backward-compatible domain ID's in output; add ability to delete rows** Revision 1.14 2001/02/08 23:01:14 thiessen* hook up C-toolkit stuff for threading; working PSSM calculation** Revision 1.13 2001/01/04 18:21:00 thiessen* deal with accession seq-id** Revision 1.12 2000/12/21 23:42:24 thiessen* load structures from cdd's** Revision 1.11 2000/12/20 23:47:52 thiessen* load CDD's** Revision 1.10 2000/12/15 15:52:08 thiessen* show/hide system installed** Revision 1.9 2000/11/17 19:47:37 thiessen* working show/hide alignment row** Revision 1.8 2000/11/11 21:12:07 thiessen* create Seq-annot from BlockMultipleAlignment** Revision 1.7 2000/10/04 17:40:46 thiessen* rearrange STL #includes** Revision 1.6 2000/09/03 18:45:57 thiessen* working generalized sequence viewer** Revision 1.5 2000/08/30 19:49:04 thiessen* working sequence window** Revision 1.4 2000/08/29 04:34:15 thiessen* working alignment manager, IBM** Revision 1.3 2000/08/28 23:46:46 thiessen* functional denseg and dendiag alignment parsing** Revision 1.2 2000/08/28 18:52:18 thiessen* start unpacking alignments** Revision 1.1 2000/08/27 18:50:56 thiessen* extract sequence information**/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -