NCBI C++ ToolKit
GC_Sequence.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: GC_Sequence.hpp 82703 2018-06-25 15:54:22Z mozese2 $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  */
27 
28 /// @file GC_Sequence.hpp
29 /// User-defined methods of the data storage class.
30 ///
31 /// This file was originally generated by application DATATOOL
32 /// using the following specifications:
33 /// 'genome_collection.asn'.
34 ///
35 /// New methods or data members can be added to it if needed.
36 /// See also: GC_Sequence_.hpp
37 
38 
39 #ifndef INTERNAL_GPIPE_OBJECTS_GENOMECOLL_GC_SEQUENCE_HPP
40 #define INTERNAL_GPIPE_OBJECTS_GENOMECOLL_GC_SEQUENCE_HPP
41 
42 
43 // generated includes
45 
49 
50 // generated classes
51 
53 
54 BEGIN_objects_SCOPE // namespace ncbi::objects::
55 
56 class CGC_Assembly;
57 class CGC_AssemblyUnit;
58 class CGC_Replicon;
59 class CGC_Sequence;
60 
61 /////////////////////////////////////////////////////////////////////////////
63 {
65  friend class CGC_Assembly;
66  friend class CGC_Replicon;
67 public:
68  // constructor
69  CGC_Sequence(void);
70  // destructor
71  ~CGC_Sequence(void);
72 
73  /// Access the assembly unit the sequence belongs to
75 
76  /// Access the most specific full assembly the sequence belongs to
77  /// This is needed because assemblies are packaged as sets of assemblies;
78  /// knowing the unit is not always enough
80 
81  /// Access the replicon the sequence belongs to
82  CConstRef<CGC_Replicon> GetReplicon() const;
83 
84  /// Access the parent sequence of this sequence
85  CConstRef<CGC_Sequence> GetParent() const;
86 
87  /// Access the top-most parent sequence of this sequence
88  CConstRef<CGC_Sequence> GetTopLevelParent() const;
89 
90  /// Access the relationship to the parent
91  CGC_TaggedSequences::TState GetParentRelation() const;
92 
94  CConstRef<CSeq_id> GetSubmitterName( ) const;
95 
96  bool HasRole(int Role) const;
97 
98  typedef list< CConstRef<CGC_Sequence> > TSequenceList;
102  eAll
103  };
104 
105  /// Get sub-sequences
106  /// @param subset subset of children to get; default is all children
107  /// @param stats get only children with this state; default is all children
108  /// @param lebel get children up to this level; default is all levels
109  void GetChildren(TSequenceList& children,
110  EChildrenSubset subset = eAll,
112  int level = 0) const;
113 
114  /// Get name of chromosome that this sequence belongs to, if any
115  string GetChrName() const;
116 
117  /// Get full display name of assmebly unit
118  string GetUnitDisplayName() const;
119 
120  /// Is this aN organelle sequence?
121  bool IsOrganelle() const;
122 
123  /// Is the length statistic available?
124  bool CanGetLength() const;
125  /// return the length of this sequence.
126  /// if not available throws CUnassignedMember exception.
127  TSeqPos GetLength() const;
128 
129 protected:
135 
136  TSeqPos x_GetLength() const;
138  mutable bool m_SeqLengthRetrieved;
139 
140  void x_GetChildren(TSequenceList& children,
141  EChildrenSubset subset,
143  int level) const;
144 
145 private:
146  // Prohibit copy constructor and assignment operator
149 
150 };
151 
152 END_objects_SCOPE // namespace ncbi::objects::
153 
155 
156 
157 #endif // INTERNAL_GPIPE_OBJECTS_GENOMECOLL_GC_SEQUENCE_HPP
158 /* Original file checksum: lines: 86, chars: 2546, CRC32: bcfce2e6 */
User-defined methods of the data storage class.
Data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
CConstRef –.
Definition: ncbiobj.hpp:1266
CConstRef< CGC_AssemblyUnit > GetAssemblyUnit() const
Access the assembly unit the sequence belongs to.
Definition: GC_Replicon.cpp:67
CConstRef< CGC_Assembly > GetFullAssembly() const
Access the most specific full assembly the replicon belongs to This is needed because assemblies are ...
Definition: GC_Replicon.cpp:74
GC-Sequence: Used for scaffolds, scaffold-sets and components in Gencoll terminology.
CGC_Replicon * m_Replicon
CGC_Sequence * m_ParentSequence
list< CConstRef< CGC_Sequence > > TSequenceList
Definition: GC_Sequence.hpp:98
CGC_AssemblyUnit * m_AssemblyUnit
TSeqPos m_SeqLength
CGC_Sequence & operator=(const CGC_Sequence &value)
CGC_Sequence_Base Tparent
Definition: GC_Sequence.hpp:64
bool m_SeqLengthRetrieved
CGC_Sequence(const CGC_Sequence &value)
CGC_Assembly * m_Assembly
CGC_TaggedSequences::TState m_ParentRel
unsigned int TSeqPos
Type for sequence locations and lengths.
Definition: ncbimisc.hpp:875
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_GENOME_COLLECTION_EXPORT
Definition: ncbi_export.h:528
E_Choice
Choice variants.
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
bool IsOrganelle(int genome)
Definition: utilities.cpp:2831
Definition: type.c:6
Modified on Mon Apr 22 04:07:03 2024 by modify_doxy.py rev. 669887