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

Go to the SVN repository for this file.

1 /* $Id: Prot_ref.hpp 70661 2016-01-11 15:30:48Z bollin $
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  * Author: .......
27  *
28  * File Description:
29  * .......
30  *
31  * Remark:
32  * This code was originally generated by application DATATOOL
33  * using specifications from the ASN data definition file
34  * 'seqfeat.asn'.
35  */
36 
37 #ifndef OBJECTS_SEQFEAT_PROT_REF_HPP
38 #define OBJECTS_SEQFEAT_PROT_REF_HPP
39 
40 
41 // generated includes
43 
44 // generated classes
45 
47 
48 BEGIN_objects_SCOPE // namespace ncbi::objects::
49 
51 {
53 public:
54  // constructor
55  CProt_ref(void);
56  // destructor
57  ~CProt_ref(void);
58 
59  // Appends a label to "label" based on content
60  void GetLabel(string* label) const;
61 
62  /// Enzyme Commission number status
64  eEC_specific, ///< Specifically identifies a valid classification.
65  eEC_ambiguous, ///< Valid wildcard for a broader family.
66  eEC_replaced, ///< Obsolete synonym for some other EC number.
67  eEC_deleted, ///< Withdrawn, with no (single?) replacement.
68  eEC_unknown ///< Unrecognized; possibly malformed.
69  };
70 
71  /// Enzyme Commission file status
73  eECFile_not_attempted, ///< No attempt has been made to read the file
74  eECFile_not_found, ///< File was not found in expected directory
75  eECFile_not_read, ///< File was found but could not be read
76  eECFile_read ///< File was read successfully (and is being
77  /// instead of the compiled fallback data
78  };
79 
80  /// Determine an EC number's validity and specificity.
81  static EECNumberStatus GetECNumberStatus(const string& ecno);
82 
83  /// Return a replaced EC number's replacement.
84  static const string& GetECNumberReplacement(const string& old_ecno);
85 
86  // Indicate whether an EC number has been replaced by more than one value (split)
87  static bool IsECNumberSplit(const string& old_ecno);
88 
89  /// Verify correct form of EC number.
90  static bool IsValidECNumberFormat (const string& ecno);
91 
92  static EECNumberFileStatus GetECNumAmbiguousStatus();
93  static EECNumberFileStatus GetECNumDeletedStatus();
94  static EECNumberFileStatus GetECNumReplacedStatus();
95  static EECNumberFileStatus GetECNumSpecificStatus();
96 
97  void AutoFixEC();
98  void RemoveBadEC();
99 
100 private:
101  // Prohibit copy constructor and assignment operator
104 
105 };
106 
107 
108 
109 /////////////////// CProt_ref inline methods
110 
111 // constructor
112 inline
114 {
115 }
116 
117 
118 /////////////////// end of CProt_ref inline methods
119 
120 
121 END_objects_SCOPE // namespace ncbi::objects::
122 
124 
125 
126 #endif // OBJECTS_SEQFEAT_PROT_REF_HPP
127 /* Original file checksum: lines: 90, chars: 2388, CRC32: 683107f2 */
Data storage class.
*** Prot-ref *********************************************** * * Reference to a protein name *
Definition: Prot_ref_.hpp:83
CProt_ref(void)
Definition: Prot_ref.hpp:113
CProt_ref & operator=(const CProt_ref &value)
EECNumberFileStatus
Enzyme Commission file status.
Definition: Prot_ref.hpp:72
@ eECFile_not_found
File was not found in expected directory.
Definition: Prot_ref.hpp:74
@ eECFile_not_attempted
No attempt has been made to read the file.
Definition: Prot_ref.hpp:73
@ eECFile_not_read
File was found but could not be read.
Definition: Prot_ref.hpp:75
CProt_ref(const CProt_ref &value)
EECNumberStatus
Enzyme Commission number status.
Definition: Prot_ref.hpp:63
@ eEC_replaced
Obsolete synonym for some other EC number.
Definition: Prot_ref.hpp:66
@ eEC_ambiguous
Valid wildcard for a broader family.
Definition: Prot_ref.hpp:65
@ eEC_specific
Specifically identifies a valid classification.
Definition: Prot_ref.hpp:64
@ eEC_deleted
Withdrawn, with no (single?) replacement.
Definition: Prot_ref.hpp:67
CProt_ref_Base Tparent
Definition: Prot_ref.hpp:52
string GetLabel(const CSeq_id &id)
#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_SEQFEAT_EXPORT
Definition: ncbi_export.h:768
static const char label[]
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Modified on Tue Apr 23 07:37:33 2024 by modify_doxy.py rev. 669887