41 #ifndef OBJECTS_SEQFEAT_SEQFEATDATA_BASE_HPP
42 #define OBJECTS_SEQFEAT_SEQFEATDATA_BASE_HPP
53 #ifndef BEGIN_objects_SCOPE
54 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
55 # define END_objects_SCOPE END_SCOPE(objects)
105 eBond_thiolester = 2,
120 eSite_glycosylation = 6,
121 eSite_myristoylation = 7,
122 eSite_mutagenized = 8,
123 eSite_metal_binding = 9,
124 eSite_phosphorylation = 10,
125 eSite_acetylation = 11,
126 eSite_amidation = 12,
127 eSite_methylation = 13,
128 eSite_hydroxylation = 14,
129 eSite_sulfatation = 15,
130 eSite_oxidative_deamination = 16,
131 eSite_pyrrolidone_carboxylic_acid = 17,
132 eSite_gamma_carboxyglutamic_acid = 18,
134 eSite_lipid_binding = 20,
135 eSite_np_binding = 21,
136 eSite_dna_binding = 22,
137 eSite_signal_peptide = 23,
138 eSite_transit_peptide = 24,
139 eSite_transmembrane_region = 25,
140 eSite_nitrosylation = 26,
190 virtual void Reset(
void);
193 virtual void ResetSelection(
void);
199 E_Choice Which(
void)
const;
205 void CheckSelected(E_Choice index)
const;
211 NCBI_NORETURN
void ThrowInvalidSelection(E_Choice index)
const;
219 static string SelectionName(E_Choice index);
269 bool IsGene(
void)
const;
275 const TGene& GetGene(
void)
const;
281 TGene& SetGene(
void);
295 bool IsOrg(
void)
const;
301 const TOrg& GetOrg(
void)
const;
321 bool IsCdregion(
void)
const;
327 const TCdregion& GetCdregion(
void)
const;
347 bool IsProt(
void)
const;
353 const TProt& GetProt(
void)
const;
359 TProt& SetProt(
void);
373 bool IsRna(
void)
const;
379 const TRna& GetRna(
void)
const;
399 bool IsPub(
void)
const;
405 const TPub& GetPub(
void)
const;
425 bool IsSeq(
void)
const;
431 const TSeq& GetSeq(
void)
const;
451 bool IsImp(
void)
const;
457 const TImp& GetImp(
void)
const;
477 bool IsRegion(
void)
const;
483 const TRegion& GetRegion(
void)
const;
503 bool IsComment(
void)
const;
506 void SetComment(
void);
515 bool IsBond(
void)
const;
521 TBond GetBond(
void)
const;
527 TBond& SetBond(
void);
542 bool IsSite(
void)
const;
548 TSite GetSite(
void)
const;
554 TSite& SetSite(
void);
569 bool IsRsite(
void)
const;
575 const TRsite& GetRsite(
void)
const;
595 bool IsUser(
void)
const;
601 const TUser& GetUser(
void)
const;
607 TUser& SetUser(
void);
621 bool IsTxinit(
void)
const;
627 const TTxinit& GetTxinit(
void)
const;
647 bool IsNum(
void)
const;
653 const TNum& GetNum(
void)
const;
673 bool IsPsec_str(
void)
const;
700 bool IsNon_std_residue(
void)
const;
727 bool IsHet(
void)
const;
733 const THet& GetHet(
void)
const;
754 bool IsBiosrc(
void)
const;
760 const TBiosrc& GetBiosrc(
void)
const;
780 bool IsClone(
void)
const;
786 const TClone& GetClone(
void)
const;
806 bool IsVariation(
void)
const;
835 static const char*
const sm_SelectionNames[];
841 NCBI_NS_NCBI::CUnionBuffer<THet>
m_Het;
842 NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string>
m_string;
User-defined methods of the data storage class.
@Imp_feat.hpp User-defined methods of the data storage class.
@Pubdesc.hpp User-defined methods of the data storage class.
@RNA_ref.hpp User-defined methods of the data storage class.
Base class for all serializable objects.
#define ENUM_METHOD_NAME(EnumName)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_SEQFEAT_EXPORT
TPsec_str & SetPsec_str(void)
Select the variant.
DECLARE_INTERNAL_TYPE_INFO()
EPsec_str
protein secondary structure
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
E_Choice Which(void) const
Which variant is currently selected.
TPsec_str GetPsec_str(void) const
Get the variant data.
bool IsBond(void) const
Check if variant Bond is selected.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
bool IsProt(void) const
Check if variant Prot is selected.
bool IsUser(void) const
Check if variant User is selected.
bool IsRsite(void) const
Check if variant Rsite is selected.
CVariation_ref TVariation
bool IsSeq(void) const
Check if variant Seq is selected.
bool IsCdregion(void) const
Check if variant Cdregion is selected.
bool IsImp(void) const
Check if variant Imp is selected.
const TRegion & GetRegion(void) const
Get the variant data.
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
TBond GetBond(void) const
Get the variant data.
bool IsGene(void) const
Check if variant Gene is selected.
CSeqFeatData_Base(const CSeqFeatData_Base &)
TRegion & SetRegion(void)
Select the variant.
bool IsPub(void) const
Check if variant Pub is selected.
TSite & SetSite(void)
Select the variant.
bool IsNum(void) const
Check if variant Num is selected.
NCBI_NS_NCBI::CSerialObject * m_object
bool IsPsec_str(void) const
Check if variant Psec_str is selected.
bool IsHet(void) const
Check if variant Het is selected.
CSeqFeatData_Base & operator=(const CSeqFeatData_Base &)
bool IsClone(void) const
Check if variant Clone is selected.
NCBI_NS_NCBI::CUnionBuffer< THet > m_Het
void SetComment(void)
Select the variant.
bool IsBiosrc(void) const
Check if variant Biosrc is selected.
bool IsVariation(void) const
Check if variant Variation is selected.
TSite GetSite(void) const
Get the variant data.
NCBI_NS_NCBI::CUnionBuffer< THet > m_Het
const TNon_std_residue & GetNon_std_residue(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool IsSite(void) const
Check if variant Site is selected.
TBond & SetBond(void)
Select the variant.
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
bool IsComment(void) const
Check if variant Comment is selected.
THet & SetHet(void)
Select the variant.
bool IsNon_std_residue(void) const
Check if variant Non_std_residue is selected.
bool IsOrg(void) const
Check if variant Org is selected.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
bool IsTxinit(void) const
Check if variant Txinit is selected.
bool IsRna(void) const
Check if variant Rna is selected.
const THet & GetHet(void) const
Get the variant data.
TNon_std_residue & SetNon_std_residue(void)
Select the variant.
bool IsRegion(void) const
Check if variant Region is selected.
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
@ e_Het
cofactor, prosthetic grp, etc, bound to seq
@ e_not_set
No variant selected.
@ e_Region
named region (globin locus)
@ e_Seq
to annotate origin from another seq
@ e_Txinit
transcription initiation
@ e_Num
a numbering system
@ e_Pub
publication applies to this seq
@ e_User
user defined structure
@ e_Rsite
restriction site (for maps really)
@ e_Comment
just a comment
@ e_Non_std_residue
non-standard residue here in seq
const GenericPointer< typename T::ValueType > T2 value