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

Go to the SVN repository for this file.

1 /* $Id$
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 Variation_ref_.hpp
29 /// Data storage class.
30 ///
31 /// This file was generated by application DATATOOL
32 /// using the following specifications:
33 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objects/seqfeat/seqfeat.asn">seqfeat.asn</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objects/seqfeat/seqfeat.def">seqfeat.def</a>
36 ///
37 /// ATTENTION:
38 /// Don't edit or commit this file into CVS as this file will
39 /// be overridden (by DATATOOL) without warning!
40 
41 #ifndef OBJECTS_SEQFEAT_VARIATION_REF_BASE_HPP
42 #define OBJECTS_SEQFEAT_VARIATION_REF_BASE_HPP
43 
44 // standard includes
45 #include <serial/serialbase.hpp>
46 
47 // generated includes
48 #include <list>
49 #include <string>
50 
52 
53 #ifndef BEGIN_objects_SCOPE
54 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
55 # define END_objects_SCOPE END_SCOPE(objects)
56 #endif
57 BEGIN_objects_SCOPE // namespace ncbi::objects::
58 
59 
60 // forward declarations
61 class CDbtag;
62 class CExt_loc;
63 class CObject_id;
64 class CPhenotype;
65 class CPopulation_data;
66 class CPub;
67 class CSeq_loc;
68 class CSubSource;
69 class CUser_object;
70 class CVariantProperties;
71 class CVariation_inst;
72 class CVariation_ref;
73 
74 
75 // generated classes
76 
77 
78 /** @addtogroup dataspec_NCBI_Variation
79  *
80  * @{
81  */
82 
83 /////////////////////////////////////////////////////////////////////////////
84 ///
85 /// CVariation_ref_Base --
86 ///
87 
89 {
91 public:
92  // constructor
93  CVariation_ref_Base(void);
94  // destructor
95  virtual ~CVariation_ref_Base(void);
96 
97  // type info
99 
100  enum EMethod_E {
101  eMethod_E_unknown = 0,
102  eMethod_E_bac_acgh = 1,
103  eMethod_E_computational = 2,
104  eMethod_E_curated = 3,
105  eMethod_E_digital_array = 4,
106  eMethod_E_expression_array = 5,
107  eMethod_E_fish = 6,
108  eMethod_E_flanking_sequence = 7,
109  eMethod_E_maph = 8,
110  eMethod_E_mcd_analysis = 9,
111  eMethod_E_mlpa = 10,
112  eMethod_E_oea_assembly = 11,
113  eMethod_E_oligo_acgh = 12,
114  eMethod_E_paired_end = 13,
115  eMethod_E_pcr = 14,
116  eMethod_E_qpcr = 15,
117  eMethod_E_read_depth = 16,
118  eMethod_E_roma = 17,
119  eMethod_E_rt_pcr = 18,
120  eMethod_E_sage = 19,
121  eMethod_E_sequence_alignment = 20,
122  eMethod_E_sequencing = 21,
123  eMethod_E_snp_array = 22,
124  eMethod_E_snp_genoytyping = 23,
125  eMethod_E_southern = 24,
126  eMethod_E_western = 25,
127  eMethod_E_optical_mapping = 26,
128  eMethod_E_other = 255
129  };
130 
131  /// Access to EMethod_E's attributes (values, names) as defined in spec
132  static const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(EMethod_E)(void);
133 
134  /// origin of this allele, if known
135  /// note that these are powers-of-two, and represent bits; thus, we can
136  /// represent more than one state simultaneously through a bitwise OR
137  /// DEPRECATED: new field = VariantProperties.allele-origin
139  eAllele_origin_unknown = 0,
140  eAllele_origin_germline = 1,
141  eAllele_origin_somatic = 2,
142  eAllele_origin_inherited = 4,
143  eAllele_origin_paternal = 8,
144  eAllele_origin_maternal = 16,
145  eAllele_origin_de_novo = 32,
146  eAllele_origin_biparental = 64,
147  eAllele_origin_uniparental = 128,
148  eAllele_origin_not_tested = 256,
149  eAllele_origin_tested_inconclusive = 512,
150  eAllele_origin_other = 1073741824 ///< stopper - 2^31
151  };
152 
153  /// Access to EAllele_origin's attributes (values, names) as defined in spec
154  static const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(EAllele_origin)(void);
155 
156  /// observed allele state, if known
157  /// DEPRECATED: new field = VariantProperties.allele-state
159  eAllele_state_unknown = 0,
160  eAllele_state_homozygous = 1,
161  eAllele_state_heterozygous = 2,
162  eAllele_state_hemizygous = 3,
163  eAllele_state_nullizygous = 4,
164  eAllele_state_other = 255
165  };
166 
167  /// Access to EAllele_state's attributes (values, names) as defined in spec
168  static const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(EAllele_state)(void);
169 
170  /////////////////////////////////////////////////////////////////////////////
171  ///
172  /// C_Data --
173  ///
174 
176  {
178  public:
179  // constructor
180  C_Data(void);
181  // destructor
182  ~C_Data(void);
183 
184  // type info
186 
187  /////////////////////////////////////////////////////////////////////////////
188  /// Set of related Variations.
189  /// Location of the set equals to the union of member locations
190  ///
191  /// C_Set --
192  ///
193 
195  {
197  public:
198  // constructor
199  C_Set(void);
200  // destructor
201  ~C_Set(void);
202 
203  // type info
205 
207  eData_set_type_unknown = 0,
208  eData_set_type_compound = 1, ///< complex change at the same location on the same molecule
209  eData_set_type_products = 2, ///< different products arising from the same variation in a precursor, e.g. r.[13g>a, 13_88del]
210  eData_set_type_haplotype = 3, ///< changes on the same allele, e.g r.[13g>a;15u>c]
211  eData_set_type_genotype = 4, ///< changes on different alleles in the same genotype, e.g. g.[476C>T]+[476C>T]
212  eData_set_type_mosaic = 5, ///< different genotypes in the same individual
213  eData_set_type_individual = 6, ///< same organism; allele relationship unknown, e.g. g.[476C>T(+)183G>C]
214  eData_set_type_population = 7, ///< population
215  eData_set_type_alleles = 8, ///< set represents a set of observed alleles
216  eData_set_type_package = 9, ///< set represents a package of observations at a given location, generally containing asserted + reference
217  eData_set_type_other = 255
218  };
219 
220  /// Access to EData_set_type's attributes (values, names) as defined in spec
221  static const NCBI_NS_NCBI::CEnumeratedTypeValues* ENUM_METHOD_NAME(EData_set_type)(void);
222 
223  // types
224  typedef int TType;
225  typedef list< CRef< CVariation_ref > > TVariations;
226  typedef string TName;
227 
228  // member index
229  enum class E_memberIndex {
230  e__allMandatory = 0,
231  e_type,
232  e_variations,
233  e_name
234  };
236 
237  // getters
238  // setters
239 
240  /// Check if a value has been assigned to Type data member.
241  ///
242  /// Data member Type is mandatory;
243  /// its type is defined as 'typedef int TType'
244  /// @return
245  /// - true, if a value has been assigned.
246  /// - false, otherwise.
247  bool IsSetType(void) const;
248 
249  /// Check if it is safe to call GetType method.
250  ///
251  /// @return
252  /// - true, if the data member is getatable.
253  /// - false, otherwise.
254  bool CanGetType(void) const;
255 
256  /// Reset Type data member.
257  void ResetType(void);
258 
259  /// Get the Type member data.
260  ///
261  /// @return
262  /// Copy of the member data.
263  TType GetType(void) const;
264 
265  /// Assign a value to Type data member.
266  ///
267  /// @param value
268  /// Value to assign
269  void SetType(TType value);
270 
271  /// Assign a value to Type data member.
272  ///
273  /// @return
274  /// Reference to the data value.
275  TType& SetType(void);
276 
277  /// Check if a value has been assigned to Variations data member.
278  ///
279  /// Data member Variations is mandatory;
280  /// its type is defined as 'typedef list< CRef< CVariation_ref > > TVariations'
281  /// @return
282  /// - true, if a value has been assigned.
283  /// - false, otherwise.
284  bool IsSetVariations(void) const;
285 
286  /// Check if it is safe to call GetVariations method.
287  ///
288  /// @return
289  /// - true, if the data member is getatable.
290  /// - false, otherwise.
291  bool CanGetVariations(void) const;
292 
293  /// Reset Variations data member.
294  void ResetVariations(void);
295 
296  /// Get the Variations member data.
297  ///
298  /// @return
299  /// Reference to the member data.
300  const TVariations& GetVariations(void) const;
301 
302  /// Assign a value to Variations data member.
303  ///
304  /// @return
305  /// Reference to the data value.
306  TVariations& SetVariations(void);
307 
308  /// Check if a value has been assigned to Name data member.
309  ///
310  /// Data member Name is optional;
311  /// its type is defined as 'typedef string TName'
312  /// @return
313  /// - true, if a value has been assigned.
314  /// - false, otherwise.
315  bool IsSetName(void) const;
316 
317  /// Check if it is safe to call GetName method.
318  ///
319  /// @return
320  /// - true, if the data member is getatable.
321  /// - false, otherwise.
322  bool CanGetName(void) const;
323 
324  /// Reset Name data member.
325  void ResetName(void);
326 
327  /// Get the Name member data.
328  ///
329  /// @return
330  /// Reference to the member data.
331  const TName& GetName(void) const;
332 
333  /// Assign a value to Name data member.
334  ///
335  /// @param value
336  /// Value to assign
337  void SetName(const TName& value);
338  void SetName(TName&& value);
339 
340  /// Assign a value to Name data member.
341  ///
342  /// @return
343  /// Reference to the data value.
344  TName& SetName(void);
345 
346  /// Reset the whole object
347  void Reset(void);
348 
349 
350  private:
351  // Prohibit copy constructor and assignment operator
352  C_Set(const C_Set&);
354 
355  // data
356  Uint4 m_set_State[1];
357  int m_Type;
358  list< CRef< CVariation_ref > > m_Variations;
359  string m_Name;
360  };
361 
362  /// Choice variants.
363  enum E_Choice {
364  e_not_set = 0, ///< No variant selected
366  e_Note, ///<free-form
368  e_Instance, ///< actual sequence-edit at feat.location
370  e_Complex ///< variant is a complex and undescribed change at the location This type of variant is known to occur in dbVar submissions
371  };
372  /// Maximum+1 value of the choice variant enumerator.
374  e_MaxChoice = 7 ///< == e_Complex+1
375  };
376 
377  /// Reset the whole object
378  void Reset(void);
379 
380  /// Reset the selection (set it to e_not_set).
381  void ResetSelection(void);
382 
383  /// Which variant is currently selected.
384  ///
385  /// @return
386  /// Choice state enumerator.
387  E_Choice Which(void) const;
388 
389  /// Verify selection, throw exception if it differs from the expected.
390  ///
391  /// @param index
392  /// Expected selection.
393  void CheckSelected(E_Choice index) const;
394 
395  /// Throw 'InvalidSelection' exception.
396  ///
397  /// @param index
398  /// Expected selection.
399  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
400 
401  /// Retrieve selection name (for diagnostic purposes).
402  ///
403  /// @param index
404  /// One of possible selection states.
405  /// @return
406  /// Name string.
407  static string SelectionName(E_Choice index);
408 
409  /// Select the requested variant if needed.
410  ///
411  /// @param index
412  /// New selection state.
413  /// @param reset
414  /// Flag that defines the resetting of the variant data. The data will
415  /// be reset if either the current selection differs from the new one,
416  /// or the flag is set to eDoResetVariant.
418  /// Select the requested variant if needed,
419  /// allocating CObject variants from memory pool.
420  void Select(E_Choice index,
421  EResetVariant reset,
422  CObjectMemoryPool* pool);
423 
424  // types
425  typedef string TNote;
427  typedef C_Set TSet;
428 
429  // getters
430  // setters
431 
432 
433  /// Check if variant Unknown is selected.
434  ///
435  /// @return
436  /// - true, if the variant is selected.
437  /// - false, otherwise.
438  bool IsUnknown(void) const;
439 
440  /// Select the variant.
441  void SetUnknown(void);
442 
443 
444  /// Check if variant Note is selected.
445  ///
446  /// Note type is defined as 'typedef string TNote'.
447  /// @return
448  /// - true, if the variant is selected.
449  /// - false, otherwise.
450  bool IsNote(void) const;
451 
452  /// Get the variant data.
453  ///
454  /// @return
455  /// Reference to the data.
456  const TNote& GetNote(void) const;
457 
458  /// Select the variant.
459  ///
460  /// @return
461  /// Reference to the variant data.
462  TNote& SetNote(void);
463 
464  /// Select the variant and set its data.
465  ///
466  /// @param value
467  /// Variant data.
468  void SetNote(const TNote& value);
469 
470 
471  /// Check if variant Uniparental_disomy is selected.
472  ///
473  /// @return
474  /// - true, if the variant is selected.
475  /// - false, otherwise.
476  bool IsUniparental_disomy(void) const;
477 
478  /// Select the variant.
479  void SetUniparental_disomy(void);
480 
481 
482  /// Check if variant Instance is selected.
483  ///
484  /// Instance type is defined as 'typedef CVariation_inst TInstance'.
485  /// @return
486  /// - true, if the variant is selected.
487  /// - false, otherwise.
488  bool IsInstance(void) const;
489 
490  /// Get the variant data.
491  ///
492  /// @return
493  /// Reference to the data.
494  const TInstance& GetInstance(void) const;
495 
496  /// Select the variant.
497  ///
498  /// @return
499  /// Reference to the variant data.
500  TInstance& SetInstance(void);
501  /// Select the variant and set its data.
502  ///
503  /// @param value
504  /// Reference to the data.
505  void SetInstance(TInstance& value);
506 
507 
508  /// Check if variant Set is selected.
509  ///
510  /// Set type is defined as 'typedef C_Set TSet'.
511  /// @return
512  /// - true, if the variant is selected.
513  /// - false, otherwise.
514  bool IsSet(void) const;
515 
516  /// Get the variant data.
517  ///
518  /// @return
519  /// Reference to the data.
520  const TSet& GetSet(void) const;
521 
522  /// Select the variant.
523  ///
524  /// @return
525  /// Reference to the variant data.
526  TSet& SetSet(void);
527  /// Select the variant and set its data.
528  ///
529  /// @param value
530  /// Reference to the data.
531  void SetSet(TSet& value);
532 
533 
534  /// Check if variant Complex is selected.
535  ///
536  /// @return
537  /// - true, if the variant is selected.
538  /// - false, otherwise.
539  bool IsComplex(void) const;
540 
541  /// Select the variant.
542  void SetComplex(void);
543 
544 
545  private:
546  // copy constructor and assignment operator
547  C_Data(const C_Data& );
549  // choice state
551  // helper methods
552  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
553 
554  static const char* const sm_SelectionNames[];
555  // data
556  union {
557  NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string> m_string;
558  NCBI_NS_NCBI::CSerialObject *m_object;
559  };
560  };
561  /////////////////////////////////////////////////////////////////////////////
562  ///
563  /// C_E_Consequence --
564  ///
565 
567  {
569  public:
570  // constructor
571  C_E_Consequence(void);
572  // destructor
573  ~C_E_Consequence(void);
574 
575  // type info
577 
578  /////////////////////////////////////////////////////////////////////////////
579  /// see http://www.hgvs.org/mutnomen/recs-prot.html
580  ///
581  /// C_Frameshift --
582  ///
583 
585  {
587  public:
588  // constructor
589  C_Frameshift(void);
590  // destructor
591  ~C_Frameshift(void);
592 
593  // type info
595 
596  // types
597  typedef int TPhase;
598  typedef int TX_length;
599 
600  // member index
601  enum class E_memberIndex {
602  e__allMandatory = 0,
603  e_phase,
604  e_x_length
605  };
607 
608  // getters
609  // setters
610 
611  /// Check if a value has been assigned to Phase data member.
612  ///
613  /// Data member Phase is optional;
614  /// its type is defined as 'typedef int TPhase'
615  /// @return
616  /// - true, if a value has been assigned.
617  /// - false, otherwise.
618  bool IsSetPhase(void) const;
619 
620  /// Check if it is safe to call GetPhase method.
621  ///
622  /// @return
623  /// - true, if the data member is getatable.
624  /// - false, otherwise.
625  bool CanGetPhase(void) const;
626 
627  /// Reset Phase data member.
628  void ResetPhase(void);
629 
630  /// Get the Phase member data.
631  ///
632  /// @return
633  /// Copy of the member data.
634  TPhase GetPhase(void) const;
635 
636  /// Assign a value to Phase data member.
637  ///
638  /// @param value
639  /// Value to assign
640  void SetPhase(TPhase value);
641 
642  /// Assign a value to Phase data member.
643  ///
644  /// @return
645  /// Reference to the data value.
646  TPhase& SetPhase(void);
647 
648  /// Check if a value has been assigned to X_length data member.
649  ///
650  /// Data member X_length is optional;
651  /// its type is defined as 'typedef int TX_length'
652  /// @return
653  /// - true, if a value has been assigned.
654  /// - false, otherwise.
655  bool IsSetX_length(void) const;
656 
657  /// Check if it is safe to call GetX_length method.
658  ///
659  /// @return
660  /// - true, if the data member is getatable.
661  /// - false, otherwise.
662  bool CanGetX_length(void) const;
663 
664  /// Reset X_length data member.
665  void ResetX_length(void);
666 
667  /// Get the X_length member data.
668  ///
669  /// @return
670  /// Copy of the member data.
671  TX_length GetX_length(void) const;
672 
673  /// Assign a value to X_length data member.
674  ///
675  /// @param value
676  /// Value to assign
677  void SetX_length(TX_length value);
678 
679  /// Assign a value to X_length data member.
680  ///
681  /// @return
682  /// Reference to the data value.
683  TX_length& SetX_length(void);
684 
685  /// Reset the whole object
686  void Reset(void);
687 
688 
689  private:
690  // Prohibit copy constructor and assignment operator
693 
694  // data
695  Uint4 m_set_State[1];
696  int m_Phase;
698  };
699  /////////////////////////////////////////////////////////////////////////////
700  ///
701  /// C_Loss_of_heterozygosity --
702  ///
703 
705  {
707  public:
708  // constructor
710  // destructor
712 
713  // type info
715 
716  // types
717  typedef string TReference;
718  typedef string TTest;
719 
720  // member index
721  enum class E_memberIndex {
722  e__allMandatory = 0,
723  e_reference,
724  e_test
725  };
727 
728  // getters
729  // setters
730 
731  /// In germline comparison, it will be reference genome assembly
732  /// (default) or reference/normal population. In somatic mutation,
733  /// it will be a name of the normal tissue.
734  /// Check if a value has been assigned to Reference data member.
735  ///
736  /// Data member Reference is optional;
737  /// its type is defined as 'typedef string TReference'
738  /// @return
739  /// - true, if a value has been assigned.
740  /// - false, otherwise.
741  bool IsSetReference(void) const;
742 
743  /// Check if it is safe to call GetReference method.
744  ///
745  /// @return
746  /// - true, if the data member is getatable.
747  /// - false, otherwise.
748  bool CanGetReference(void) const;
749 
750  /// Reset Reference data member.
751  void ResetReference(void);
752 
753  /// Get the Reference member data.
754  ///
755  /// @return
756  /// Reference to the member data.
757  const TReference& GetReference(void) const;
758 
759  /// Assign a value to Reference data member.
760  ///
761  /// @param value
762  /// Value to assign
763  void SetReference(const TReference& value);
764  void SetReference(TReference&& value);
765 
766  /// Assign a value to Reference data member.
767  ///
768  /// @return
769  /// Reference to the data value.
770  TReference& SetReference(void);
771 
772  /// Name of the testing subject type or the testing tissue.
773  /// Check if a value has been assigned to Test data member.
774  ///
775  /// Data member Test is optional;
776  /// its type is defined as 'typedef string TTest'
777  /// @return
778  /// - true, if a value has been assigned.
779  /// - false, otherwise.
780  bool IsSetTest(void) const;
781 
782  /// Check if it is safe to call GetTest method.
783  ///
784  /// @return
785  /// - true, if the data member is getatable.
786  /// - false, otherwise.
787  bool CanGetTest(void) const;
788 
789  /// Reset Test data member.
790  void ResetTest(void);
791 
792  /// Get the Test member data.
793  ///
794  /// @return
795  /// Reference to the member data.
796  const TTest& GetTest(void) const;
797 
798  /// Assign a value to Test data member.
799  ///
800  /// @param value
801  /// Value to assign
802  void SetTest(const TTest& value);
803  void SetTest(TTest&& value);
804 
805  /// Assign a value to Test data member.
806  ///
807  /// @return
808  /// Reference to the data value.
809  TTest& SetTest(void);
810 
811  /// Reset the whole object
812  void Reset(void);
813 
814 
815  private:
816  // Prohibit copy constructor and assignment operator
819 
820  // data
821  Uint4 m_set_State[1];
822  string m_Reference;
823  string m_Test;
824  };
825 
826  /// Choice variants.
827  enum E_Choice {
828  e_not_set = 0, ///< No variant selected
830  e_Splicing, ///<some effect on splicing
831  e_Note, ///<freeform
832  e_Variation, ///< Describe resulting variation in the product, e.g. missense, nonsense, silent, neutral, etc in a protein, that arises from THIS variation.
834  e_Loss_of_heterozygosity
835  };
836  /// Maximum+1 value of the choice variant enumerator.
838  e_MaxChoice = 7 ///< == e_Loss_of_heterozygosity+1
839  };
840 
841  /// Reset the whole object
842  void Reset(void);
843 
844  /// Reset the selection (set it to e_not_set).
845  void ResetSelection(void);
846 
847  /// Which variant is currently selected.
848  ///
849  /// @return
850  /// Choice state enumerator.
851  E_Choice Which(void) const;
852 
853  /// Verify selection, throw exception if it differs from the expected.
854  ///
855  /// @param index
856  /// Expected selection.
857  void CheckSelected(E_Choice index) const;
858 
859  /// Throw 'InvalidSelection' exception.
860  ///
861  /// @param index
862  /// Expected selection.
863  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
864 
865  /// Retrieve selection name (for diagnostic purposes).
866  ///
867  /// @param index
868  /// One of possible selection states.
869  /// @return
870  /// Name string.
871  static string SelectionName(E_Choice index);
872 
873  /// Select the requested variant if needed.
874  ///
875  /// @param index
876  /// New selection state.
877  /// @param reset
878  /// Flag that defines the resetting of the variant data. The data will
879  /// be reset if either the current selection differs from the new one,
880  /// or the flag is set to eDoResetVariant.
882  /// Select the requested variant if needed,
883  /// allocating CObject variants from memory pool.
884  void Select(E_Choice index,
885  EResetVariant reset,
886  CObjectMemoryPool* pool);
887 
888  // types
889  typedef string TNote;
893 
894  // getters
895  // setters
896 
897 
898  /// Check if variant Unknown is selected.
899  ///
900  /// @return
901  /// - true, if the variant is selected.
902  /// - false, otherwise.
903  bool IsUnknown(void) const;
904 
905  /// Select the variant.
906  void SetUnknown(void);
907 
908 
909  /// Check if variant Splicing is selected.
910  ///
911  /// @return
912  /// - true, if the variant is selected.
913  /// - false, otherwise.
914  bool IsSplicing(void) const;
915 
916  /// Select the variant.
917  void SetSplicing(void);
918 
919 
920  /// Check if variant Note is selected.
921  ///
922  /// Note type is defined as 'typedef string TNote'.
923  /// @return
924  /// - true, if the variant is selected.
925  /// - false, otherwise.
926  bool IsNote(void) const;
927 
928  /// Get the variant data.
929  ///
930  /// @return
931  /// Reference to the data.
932  const TNote& GetNote(void) const;
933 
934  /// Select the variant.
935  ///
936  /// @return
937  /// Reference to the variant data.
938  TNote& SetNote(void);
939 
940  /// Select the variant and set its data.
941  ///
942  /// @param value
943  /// Variant data.
944  void SetNote(const TNote& value);
945 
946 
947  /// Check if variant Variation is selected.
948  ///
949  /// Variation type is defined as 'typedef CVariation_ref TVariation'.
950  /// @return
951  /// - true, if the variant is selected.
952  /// - false, otherwise.
953  bool IsVariation(void) const;
954 
955  /// Get the variant data.
956  ///
957  /// @return
958  /// Reference to the data.
959  const TVariation& GetVariation(void) const;
960 
961  /// Select the variant.
962  ///
963  /// @return
964  /// Reference to the variant data.
965  TVariation& SetVariation(void);
966  /// Select the variant and set its data.
967  ///
968  /// @param value
969  /// Reference to the data.
970  void SetVariation(TVariation& value);
971 
972 
973  /// Check if variant Frameshift is selected.
974  ///
975  /// Frameshift type is defined as 'typedef C_Frameshift TFrameshift'.
976  /// @return
977  /// - true, if the variant is selected.
978  /// - false, otherwise.
979  bool IsFrameshift(void) const;
980 
981  /// Get the variant data.
982  ///
983  /// @return
984  /// Reference to the data.
985  const TFrameshift& GetFrameshift(void) const;
986 
987  /// Select the variant.
988  ///
989  /// @return
990  /// Reference to the variant data.
991  TFrameshift& SetFrameshift(void);
992  /// Select the variant and set its data.
993  ///
994  /// @param value
995  /// Reference to the data.
996  void SetFrameshift(TFrameshift& value);
997 
998 
999  /// Check if variant Loss_of_heterozygosity is selected.
1000  ///
1001  /// Loss_of_heterozygosity type is defined as 'typedef C_Loss_of_heterozygosity TLoss_of_heterozygosity'.
1002  /// @return
1003  /// - true, if the variant is selected.
1004  /// - false, otherwise.
1005  bool IsLoss_of_heterozygosity(void) const;
1006 
1007  /// Get the variant data.
1008  ///
1009  /// @return
1010  /// Reference to the data.
1011  const TLoss_of_heterozygosity& GetLoss_of_heterozygosity(void) const;
1012 
1013  /// Select the variant.
1014  ///
1015  /// @return
1016  /// Reference to the variant data.
1017  TLoss_of_heterozygosity& SetLoss_of_heterozygosity(void);
1018  /// Select the variant and set its data.
1019  ///
1020  /// @param value
1021  /// Reference to the data.
1022  void SetLoss_of_heterozygosity(TLoss_of_heterozygosity& value);
1023 
1024 
1025  private:
1026  // copy constructor and assignment operator
1029  // choice state
1031  // helper methods
1032  void DoSelect(E_Choice index, CObjectMemoryPool* pool = 0);
1033 
1034  static const char* const sm_SelectionNames[];
1035  // data
1036  union {
1037  NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string> m_string;
1038  NCBI_NS_NCBI::CSerialObject *m_object;
1039  };
1040  };
1041  /////////////////////////////////////////////////////////////////////////////
1042  ///
1043  /// C_E_Somatic_origin --
1044  ///
1045 
1047  {
1049  public:
1050  // constructor
1051  C_E_Somatic_origin(void);
1052  // destructor
1053  ~C_E_Somatic_origin(void);
1054 
1055  // type info
1057 
1058  /////////////////////////////////////////////////////////////////////////////
1059  /// condition related to this origin's type
1060  ///
1061  /// C_Condition --
1062  ///
1063 
1065  {
1067  public:
1068  // constructor
1069  C_Condition(void);
1070  // destructor
1071  ~C_Condition(void);
1072 
1073  // type info
1075 
1076  // types
1077  typedef string TDescription;
1078  typedef list< CRef< CDbtag > > TObject_id;
1079 
1080  // member index
1081  enum class E_memberIndex {
1082  e__allMandatory = 0,
1083  e_description,
1084  e_object_id
1085  };
1087 
1088  // getters
1089  // setters
1090 
1091  /// Check if a value has been assigned to Description data member.
1092  ///
1093  /// Data member Description is optional;
1094  /// its type is defined as 'typedef string TDescription'
1095  /// @return
1096  /// - true, if a value has been assigned.
1097  /// - false, otherwise.
1098  bool IsSetDescription(void) const;
1099 
1100  /// Check if it is safe to call GetDescription method.
1101  ///
1102  /// @return
1103  /// - true, if the data member is getatable.
1104  /// - false, otherwise.
1105  bool CanGetDescription(void) const;
1106 
1107  /// Reset Description data member.
1108  void ResetDescription(void);
1109 
1110  /// Get the Description member data.
1111  ///
1112  /// @return
1113  /// Reference to the member data.
1114  const TDescription& GetDescription(void) const;
1115 
1116  /// Assign a value to Description data member.
1117  ///
1118  /// @param value
1119  /// Value to assign
1120  void SetDescription(const TDescription& value);
1121  void SetDescription(TDescription&& value);
1122 
1123  /// Assign a value to Description data member.
1124  ///
1125  /// @return
1126  /// Reference to the data value.
1127  TDescription& SetDescription(void);
1128 
1129  /// reference to BioTerm / other descriptive database
1130  /// Check if a value has been assigned to Object_id data member.
1131  ///
1132  /// Data member Object_id is optional;
1133  /// its type is defined as 'typedef list< CRef< CDbtag > > TObject_id'
1134  /// @return
1135  /// - true, if a value has been assigned.
1136  /// - false, otherwise.
1137  bool IsSetObject_id(void) const;
1138 
1139  /// Check if it is safe to call GetObject_id method.
1140  ///
1141  /// @return
1142  /// - true, if the data member is getatable.
1143  /// - false, otherwise.
1144  bool CanGetObject_id(void) const;
1145 
1146  /// Reset Object_id data member.
1147  void ResetObject_id(void);
1148 
1149  /// Get the Object_id member data.
1150  ///
1151  /// @return
1152  /// Reference to the member data.
1153  const TObject_id& GetObject_id(void) const;
1154 
1155  /// Assign a value to Object_id data member.
1156  ///
1157  /// @return
1158  /// Reference to the data value.
1159  TObject_id& SetObject_id(void);
1160 
1161  /// Reset the whole object
1162  void Reset(void);
1163 
1164 
1165  private:
1166  // Prohibit copy constructor and assignment operator
1169 
1170  // data
1171  Uint4 m_set_State[1];
1173  list< CRef< CDbtag > > m_Object_id;
1174  };
1175  // types
1178 
1179  // member index
1180  enum class E_memberIndex {
1181  e__allMandatory = 0,
1182  e_source,
1183  e_condition
1184  };
1186 
1187  // getters
1188  // setters
1189 
1190  /// description of the somatic origin itself
1191  /// Check if a value has been assigned to Source data member.
1192  ///
1193  /// Data member Source is optional;
1194  /// its type is defined as 'typedef CSubSource TSource'
1195  /// @return
1196  /// - true, if a value has been assigned.
1197  /// - false, otherwise.
1198  bool IsSetSource(void) const;
1199 
1200  /// Check if it is safe to call GetSource method.
1201  ///
1202  /// @return
1203  /// - true, if the data member is getatable.
1204  /// - false, otherwise.
1205  bool CanGetSource(void) const;
1206 
1207  /// Reset Source data member.
1208  void ResetSource(void);
1209 
1210  /// Get the Source member data.
1211  ///
1212  /// @return
1213  /// Reference to the member data.
1214  const TSource& GetSource(void) const;
1215 
1216  /// Assign a value to Source data member.
1217  ///
1218  /// @param value
1219  /// Reference to value.
1220  void SetSource(TSource& value);
1221 
1222  /// Assign a value to Source data member.
1223  ///
1224  /// @return
1225  /// Reference to the data value.
1226  TSource& SetSource(void);
1227 
1228  /// Check if a value has been assigned to Condition data member.
1229  ///
1230  /// Data member Condition is optional;
1231  /// its type is defined as 'typedef C_Condition TCondition'
1232  /// @return
1233  /// - true, if a value has been assigned.
1234  /// - false, otherwise.
1235  bool IsSetCondition(void) const;
1236 
1237  /// Check if it is safe to call GetCondition method.
1238  ///
1239  /// @return
1240  /// - true, if the data member is getatable.
1241  /// - false, otherwise.
1242  bool CanGetCondition(void) const;
1243 
1244  /// Reset Condition data member.
1245  void ResetCondition(void);
1246 
1247  /// Get the Condition member data.
1248  ///
1249  /// @return
1250  /// Reference to the member data.
1251  const TCondition& GetCondition(void) const;
1252 
1253  /// Assign a value to Condition data member.
1254  ///
1255  /// @param value
1256  /// Reference to value.
1257  void SetCondition(TCondition& value);
1258 
1259  /// Assign a value to Condition data member.
1260  ///
1261  /// @return
1262  /// Reference to the data value.
1263  TCondition& SetCondition(void);
1264 
1265  /// Reset the whole object
1266  void Reset(void);
1267 
1268 
1269  private:
1270  // Prohibit copy constructor and assignment operator
1273 
1274  // data
1275  Uint4 m_set_State[1];
1278  };
1279  // types
1280  typedef CDbtag TId;
1283  typedef list< CRef< CDbtag > > TOther_ids;
1284  typedef string TName;
1285  typedef list< string > TSynonyms;
1286  typedef string TDescription;
1287  typedef list< CRef< CPhenotype > > TPhenotype;
1288  typedef list< int > TMethod;
1289  typedef list< CRef< CPopulation_data > > TPopulation_data;
1291  typedef bool TValidated;
1292  typedef list< CRef< CDbtag > > TClinical_test;
1293  typedef int TAllele_origin;
1294  typedef int TAllele_state;
1295  typedef double TAllele_frequency;
1296  typedef bool TIs_ancestral_allele;
1297  typedef CPub TPub;
1298  typedef C_Data TData;
1300  typedef list< CRef< C_E_Consequence > > TConsequence;
1302  typedef list< CRef< CExt_loc > > TExt_locs;
1304  typedef list< CRef< C_E_Somatic_origin > > TSomatic_origin;
1305 
1306  // member index
1307  enum class E_memberIndex {
1308  e__allMandatory = 0,
1309  e_id,
1310  e_parent_id,
1311  e_sample_id,
1312  e_other_ids,
1313  e_name,
1314  e_synonyms,
1315  e_description,
1316  e_phenotype,
1317  e_method,
1318  e_population_data,
1319  e_variant_prop,
1320  e_validated,
1321  e_clinical_test,
1322  e_allele_origin,
1323  e_allele_state,
1324  e_allele_frequency,
1325  e_is_ancestral_allele,
1326  e_pub,
1327  e_data,
1328  e_consequence,
1329  e_location,
1330  e_ext_locs,
1331  e_ext,
1332  e_somatic_origin
1333  };
1335 
1336  // getters
1337  // setters
1338 
1339  /// ids (i.e., SNP rsid / ssid, dbVar nsv/nssv)
1340  /// expected values include 'dbSNP|rs12334', 'dbSNP|ss12345', 'dbVar|nsv1'
1341  ///
1342  /// we relate three kinds of IDs here:
1343  /// - our current object's id
1344  /// - the id of this object's parent, if it exists
1345  /// - the sample ID that this item originates from
1346  /// Check if a value has been assigned to Id data member.
1347  ///
1348  /// Data member Id is optional;
1349  /// its type is defined as 'typedef CDbtag TId'
1350  /// @return
1351  /// - true, if a value has been assigned.
1352  /// - false, otherwise.
1353  bool IsSetId(void) const;
1354 
1355  /// Check if it is safe to call GetId method.
1356  ///
1357  /// @return
1358  /// - true, if the data member is getatable.
1359  /// - false, otherwise.
1360  bool CanGetId(void) const;
1361 
1362  /// Reset Id data member.
1363  void ResetId(void);
1364 
1365  /// Get the Id member data.
1366  ///
1367  /// @return
1368  /// Reference to the member data.
1369  const TId& GetId(void) const;
1370 
1371  /// Assign a value to Id data member.
1372  ///
1373  /// @param value
1374  /// Reference to value.
1375  void SetId(TId& value);
1376 
1377  /// Assign a value to Id data member.
1378  ///
1379  /// @return
1380  /// Reference to the data value.
1381  TId& SetId(void);
1382 
1383  /// Check if a value has been assigned to Parent_id data member.
1384  ///
1385  /// Data member Parent_id is optional;
1386  /// its type is defined as 'typedef CDbtag TParent_id'
1387  /// @return
1388  /// - true, if a value has been assigned.
1389  /// - false, otherwise.
1390  bool IsSetParent_id(void) const;
1391 
1392  /// Check if it is safe to call GetParent_id method.
1393  ///
1394  /// @return
1395  /// - true, if the data member is getatable.
1396  /// - false, otherwise.
1397  bool CanGetParent_id(void) const;
1398 
1399  /// Reset Parent_id data member.
1400  void ResetParent_id(void);
1401 
1402  /// Get the Parent_id member data.
1403  ///
1404  /// @return
1405  /// Reference to the member data.
1406  const TParent_id& GetParent_id(void) const;
1407 
1408  /// Assign a value to Parent_id data member.
1409  ///
1410  /// @param value
1411  /// Reference to value.
1412  void SetParent_id(TParent_id& value);
1413 
1414  /// Assign a value to Parent_id data member.
1415  ///
1416  /// @return
1417  /// Reference to the data value.
1418  TParent_id& SetParent_id(void);
1419 
1420  /// Check if a value has been assigned to Sample_id data member.
1421  ///
1422  /// Data member Sample_id is optional;
1423  /// its type is defined as 'typedef CObject_id TSample_id'
1424  /// @return
1425  /// - true, if a value has been assigned.
1426  /// - false, otherwise.
1427  bool IsSetSample_id(void) const;
1428 
1429  /// Check if it is safe to call GetSample_id method.
1430  ///
1431  /// @return
1432  /// - true, if the data member is getatable.
1433  /// - false, otherwise.
1434  bool CanGetSample_id(void) const;
1435 
1436  /// Reset Sample_id data member.
1437  void ResetSample_id(void);
1438 
1439  /// Get the Sample_id member data.
1440  ///
1441  /// @return
1442  /// Reference to the member data.
1443  const TSample_id& GetSample_id(void) const;
1444 
1445  /// Assign a value to Sample_id data member.
1446  ///
1447  /// @param value
1448  /// Reference to value.
1449  void SetSample_id(TSample_id& value);
1450 
1451  /// Assign a value to Sample_id data member.
1452  ///
1453  /// @return
1454  /// Reference to the data value.
1455  TSample_id& SetSample_id(void);
1456 
1457  /// Check if a value has been assigned to Other_ids data member.
1458  ///
1459  /// Data member Other_ids is optional;
1460  /// its type is defined as 'typedef list< CRef< CDbtag > > TOther_ids'
1461  /// @return
1462  /// - true, if a value has been assigned.
1463  /// - false, otherwise.
1464  bool IsSetOther_ids(void) const;
1465 
1466  /// Check if it is safe to call GetOther_ids method.
1467  ///
1468  /// @return
1469  /// - true, if the data member is getatable.
1470  /// - false, otherwise.
1471  bool CanGetOther_ids(void) const;
1472 
1473  /// Reset Other_ids data member.
1474  void ResetOther_ids(void);
1475 
1476  /// Get the Other_ids member data.
1477  ///
1478  /// @return
1479  /// Reference to the member data.
1480  const TOther_ids& GetOther_ids(void) const;
1481 
1482  /// Assign a value to Other_ids data member.
1483  ///
1484  /// @return
1485  /// Reference to the data value.
1486  TOther_ids& SetOther_ids(void);
1487 
1488  /// names and synonyms
1489  /// some variants have well-known canonical names and possible accepted
1490  /// synonyms
1491  /// Check if a value has been assigned to Name data member.
1492  ///
1493  /// Data member Name is optional;
1494  /// its type is defined as 'typedef string TName'
1495  /// @return
1496  /// - true, if a value has been assigned.
1497  /// - false, otherwise.
1498  bool IsSetName(void) const;
1499 
1500  /// Check if it is safe to call GetName method.
1501  ///
1502  /// @return
1503  /// - true, if the data member is getatable.
1504  /// - false, otherwise.
1505  bool CanGetName(void) const;
1506 
1507  /// Reset Name data member.
1508  void ResetName(void);
1509 
1510  /// Get the Name member data.
1511  ///
1512  /// @return
1513  /// Reference to the member data.
1514  const TName& GetName(void) const;
1515 
1516  /// Assign a value to Name data member.
1517  ///
1518  /// @param value
1519  /// Value to assign
1520  void SetName(const TName& value);
1521  void SetName(TName&& value);
1522 
1523  /// Assign a value to Name data member.
1524  ///
1525  /// @return
1526  /// Reference to the data value.
1527  TName& SetName(void);
1528 
1529  /// Check if a value has been assigned to Synonyms data member.
1530  ///
1531  /// Data member Synonyms is optional;
1532  /// its type is defined as 'typedef list< string > TSynonyms'
1533  /// @return
1534  /// - true, if a value has been assigned.
1535  /// - false, otherwise.
1536  bool IsSetSynonyms(void) const;
1537 
1538  /// Check if it is safe to call GetSynonyms method.
1539  ///
1540  /// @return
1541  /// - true, if the data member is getatable.
1542  /// - false, otherwise.
1543  bool CanGetSynonyms(void) const;
1544 
1545  /// Reset Synonyms data member.
1546  void ResetSynonyms(void);
1547 
1548  /// Get the Synonyms member data.
1549  ///
1550  /// @return
1551  /// Reference to the member data.
1552  const TSynonyms& GetSynonyms(void) const;
1553 
1554  /// Assign a value to Synonyms data member.
1555  ///
1556  /// @return
1557  /// Reference to the data value.
1558  TSynonyms& SetSynonyms(void);
1559 
1560  /// tag for comment and descriptions
1561  /// Check if a value has been assigned to Description data member.
1562  ///
1563  /// Data member Description is optional;
1564  /// its type is defined as 'typedef string TDescription'
1565  /// @return
1566  /// - true, if a value has been assigned.
1567  /// - false, otherwise.
1568  bool IsSetDescription(void) const;
1569 
1570  /// Check if it is safe to call GetDescription method.
1571  ///
1572  /// @return
1573  /// - true, if the data member is getatable.
1574  /// - false, otherwise.
1575  bool CanGetDescription(void) const;
1576 
1577  /// Reset Description data member.
1578  void ResetDescription(void);
1579 
1580  /// Get the Description member data.
1581  ///
1582  /// @return
1583  /// Reference to the member data.
1584  const TDescription& GetDescription(void) const;
1585 
1586  /// Assign a value to Description data member.
1587  ///
1588  /// @param value
1589  /// Value to assign
1590  void SetDescription(const TDescription& value);
1591  void SetDescription(TDescription&& value);
1592 
1593  /// Assign a value to Description data member.
1594  ///
1595  /// @return
1596  /// Reference to the data value.
1597  TDescription& SetDescription(void);
1598 
1599  /// phenotype
1600  /// Check if a value has been assigned to Phenotype data member.
1601  ///
1602  /// Data member Phenotype is optional;
1603  /// its type is defined as 'typedef list< CRef< CPhenotype > > TPhenotype'
1604  /// @return
1605  /// - true, if a value has been assigned.
1606  /// - false, otherwise.
1607  bool IsSetPhenotype(void) const;
1608 
1609  /// Check if it is safe to call GetPhenotype method.
1610  ///
1611  /// @return
1612  /// - true, if the data member is getatable.
1613  /// - false, otherwise.
1614  bool CanGetPhenotype(void) const;
1615 
1616  /// Reset Phenotype data member.
1617  void ResetPhenotype(void);
1618 
1619  /// Get the Phenotype member data.
1620  ///
1621  /// @return
1622  /// Reference to the member data.
1623  const TPhenotype& GetPhenotype(void) const;
1624 
1625  /// Assign a value to Phenotype data member.
1626  ///
1627  /// @return
1628  /// Reference to the data value.
1629  TPhenotype& SetPhenotype(void);
1630 
1631  /// Check if a value has been assigned to Method data member.
1632  ///
1633  /// Data member Method is optional;
1634  /// its type is defined as 'typedef list< int > TMethod'
1635  /// @return
1636  /// - true, if a value has been assigned.
1637  /// - false, otherwise.
1638  bool IsSetMethod(void) const;
1639 
1640  /// Check if it is safe to call GetMethod method.
1641  ///
1642  /// @return
1643  /// - true, if the data member is getatable.
1644  /// - false, otherwise.
1645  bool CanGetMethod(void) const;
1646 
1647  /// Reset Method data member.
1648  void ResetMethod(void);
1649 
1650  /// Get the Method member data.
1651  ///
1652  /// @return
1653  /// Reference to the member data.
1654  const TMethod& GetMethod(void) const;
1655 
1656  /// Assign a value to Method data member.
1657  ///
1658  /// @return
1659  /// Reference to the data value.
1660  TMethod& SetMethod(void);
1661 
1662  /// Note about SNP representation and pretinent fields: allele-frequency,
1663  /// population, quality-codes:
1664  /// The case of multiple alleles for a SNP would be described by
1665  /// parent-feature of type Variation-set.diff-alleles, where the child
1666  /// features of type Variation-inst, all at the same location, would
1667  /// describe individual alleles.
1668  /// population data
1669  /// DEPRECATED - do not use
1670  /// Check if a value has been assigned to Population_data data member.
1671  ///
1672  /// Data member Population_data is optional;
1673  /// its type is defined as 'typedef list< CRef< CPopulation_data > > TPopulation_data'
1674  /// @return
1675  /// - true, if a value has been assigned.
1676  /// - false, otherwise.
1677  bool IsSetPopulation_data(void) const;
1678 
1679  /// Check if it is safe to call GetPopulation_data method.
1680  ///
1681  /// @return
1682  /// - true, if the data member is getatable.
1683  /// - false, otherwise.
1684  bool CanGetPopulation_data(void) const;
1685 
1686  /// Reset Population_data data member.
1687  void ResetPopulation_data(void);
1688 
1689  /// Get the Population_data member data.
1690  ///
1691  /// @return
1692  /// Reference to the member data.
1693  const TPopulation_data& GetPopulation_data(void) const;
1694 
1695  /// Assign a value to Population_data data member.
1696  ///
1697  /// @return
1698  /// Reference to the data value.
1699  TPopulation_data& SetPopulation_data(void);
1700 
1701  /// variant properties bit fields
1702  /// Check if a value has been assigned to Variant_prop data member.
1703  ///
1704  /// Data member Variant_prop is optional;
1705  /// its type is defined as 'typedef CVariantProperties TVariant_prop'
1706  /// @return
1707  /// - true, if a value has been assigned.
1708  /// - false, otherwise.
1709  bool IsSetVariant_prop(void) const;
1710 
1711  /// Check if it is safe to call GetVariant_prop method.
1712  ///
1713  /// @return
1714  /// - true, if the data member is getatable.
1715  /// - false, otherwise.
1716  bool CanGetVariant_prop(void) const;
1717 
1718  /// Reset Variant_prop data member.
1719  void ResetVariant_prop(void);
1720 
1721  /// Get the Variant_prop member data.
1722  ///
1723  /// @return
1724  /// Reference to the member data.
1725  const TVariant_prop& GetVariant_prop(void) const;
1726 
1727  /// Assign a value to Variant_prop data member.
1728  ///
1729  /// @param value
1730  /// Reference to value.
1731  void SetVariant_prop(TVariant_prop& value);
1732 
1733  /// Assign a value to Variant_prop data member.
1734  ///
1735  /// @return
1736  /// Reference to the data value.
1737  TVariant_prop& SetVariant_prop(void);
1738 
1739  /// has this variant been validated?
1740  /// DEPRECATED: new field = VariantProperties.other-validation
1741  /// Check if a value has been assigned to Validated data member.
1742  ///
1743  /// Data member Validated is optional;
1744  /// its type is defined as 'typedef bool TValidated'
1745  /// @return
1746  /// - true, if a value has been assigned.
1747  /// - false, otherwise.
1748  bool IsSetValidated(void) const;
1749 
1750  /// Check if it is safe to call GetValidated method.
1751  ///
1752  /// @return
1753  /// - true, if the data member is getatable.
1754  /// - false, otherwise.
1755  bool CanGetValidated(void) const;
1756 
1757  /// Reset Validated data member.
1758  void ResetValidated(void);
1759 
1760  /// Get the Validated member data.
1761  ///
1762  /// @return
1763  /// Copy of the member data.
1764  TValidated GetValidated(void) const;
1765 
1766  /// Assign a value to Validated data member.
1767  ///
1768  /// @param value
1769  /// Value to assign
1770  void SetValidated(TValidated value);
1771 
1772  /// Assign a value to Validated data member.
1773  ///
1774  /// @return
1775  /// Reference to the data value.
1776  TValidated& SetValidated(void);
1777 
1778  /// link-outs to GeneTests database
1779  /// DEPRECATED - do not use
1780  /// Check if a value has been assigned to Clinical_test data member.
1781  ///
1782  /// Data member Clinical_test is optional;
1783  /// its type is defined as 'typedef list< CRef< CDbtag > > TClinical_test'
1784  /// @return
1785  /// - true, if a value has been assigned.
1786  /// - false, otherwise.
1787  bool IsSetClinical_test(void) const;
1788 
1789  /// Check if it is safe to call GetClinical_test method.
1790  ///
1791  /// @return
1792  /// - true, if the data member is getatable.
1793  /// - false, otherwise.
1794  bool CanGetClinical_test(void) const;
1795 
1796  /// Reset Clinical_test data member.
1797  void ResetClinical_test(void);
1798 
1799  /// Get the Clinical_test member data.
1800  ///
1801  /// @return
1802  /// Reference to the member data.
1803  const TClinical_test& GetClinical_test(void) const;
1804 
1805  /// Assign a value to Clinical_test data member.
1806  ///
1807  /// @return
1808  /// Reference to the data value.
1809  TClinical_test& SetClinical_test(void);
1810 
1811  /// Check if a value has been assigned to Allele_origin data member.
1812  ///
1813  /// Data member Allele_origin is optional;
1814  /// its type is defined as 'typedef int TAllele_origin'
1815  /// @return
1816  /// - true, if a value has been assigned.
1817  /// - false, otherwise.
1818  bool IsSetAllele_origin(void) const;
1819 
1820  /// Check if it is safe to call GetAllele_origin method.
1821  ///
1822  /// @return
1823  /// - true, if the data member is getatable.
1824  /// - false, otherwise.
1825  bool CanGetAllele_origin(void) const;
1826 
1827  /// Reset Allele_origin data member.
1828  void ResetAllele_origin(void);
1829 
1830  /// Get the Allele_origin member data.
1831  ///
1832  /// @return
1833  /// Copy of the member data.
1834  TAllele_origin GetAllele_origin(void) const;
1835 
1836  /// Assign a value to Allele_origin data member.
1837  ///
1838  /// @param value
1839  /// Value to assign
1840  void SetAllele_origin(TAllele_origin value);
1841 
1842  /// Assign a value to Allele_origin data member.
1843  ///
1844  /// @return
1845  /// Reference to the data value.
1846  TAllele_origin& SetAllele_origin(void);
1847 
1848  /// Check if a value has been assigned to Allele_state data member.
1849  ///
1850  /// Data member Allele_state is optional;
1851  /// its type is defined as 'typedef int TAllele_state'
1852  /// @return
1853  /// - true, if a value has been assigned.
1854  /// - false, otherwise.
1855  bool IsSetAllele_state(void) const;
1856 
1857  /// Check if it is safe to call GetAllele_state method.
1858  ///
1859  /// @return
1860  /// - true, if the data member is getatable.
1861  /// - false, otherwise.
1862  bool CanGetAllele_state(void) const;
1863 
1864  /// Reset Allele_state data member.
1865  void ResetAllele_state(void);
1866 
1867  /// Get the Allele_state member data.
1868  ///
1869  /// @return
1870  /// Copy of the member data.
1871  TAllele_state GetAllele_state(void) const;
1872 
1873  /// Assign a value to Allele_state data member.
1874  ///
1875  /// @param value
1876  /// Value to assign
1877  void SetAllele_state(TAllele_state value);
1878 
1879  /// Assign a value to Allele_state data member.
1880  ///
1881  /// @return
1882  /// Reference to the data value.
1883  TAllele_state& SetAllele_state(void);
1884 
1885  /// NOTE:
1886  /// 'allele-frequency' here refers to the minor allele frequency of the
1887  /// default population
1888  /// DEPRECATED: new field = VariantProperties.allele-frequency
1889  /// Check if a value has been assigned to Allele_frequency data member.
1890  ///
1891  /// Data member Allele_frequency is optional;
1892  /// its type is defined as 'typedef double TAllele_frequency'
1893  /// @return
1894  /// - true, if a value has been assigned.
1895  /// - false, otherwise.
1896  bool IsSetAllele_frequency(void) const;
1897 
1898  /// Check if it is safe to call GetAllele_frequency method.
1899  ///
1900  /// @return
1901  /// - true, if the data member is getatable.
1902  /// - false, otherwise.
1903  bool CanGetAllele_frequency(void) const;
1904 
1905  /// Reset Allele_frequency data member.
1906  void ResetAllele_frequency(void);
1907 
1908  /// Get the Allele_frequency member data.
1909  ///
1910  /// @return
1911  /// Copy of the member data.
1912  TAllele_frequency GetAllele_frequency(void) const;
1913 
1914  /// Assign a value to Allele_frequency data member.
1915  ///
1916  /// @param value
1917  /// Value to assign
1918  void SetAllele_frequency(TAllele_frequency value);
1919 
1920  /// Assign a value to Allele_frequency data member.
1921  ///
1922  /// @return
1923  /// Reference to the data value.
1924  TAllele_frequency& SetAllele_frequency(void);
1925 
1926  /// is this variant the ancestral allele?
1927  /// DEPRECATED: new field = VariantProperties.is-ancestral-allele
1928  /// Check if a value has been assigned to Is_ancestral_allele data member.
1929  ///
1930  /// Data member Is_ancestral_allele is optional;
1931  /// its type is defined as 'typedef bool TIs_ancestral_allele'
1932  /// @return
1933  /// - true, if a value has been assigned.
1934  /// - false, otherwise.
1935  bool IsSetIs_ancestral_allele(void) const;
1936 
1937  /// Check if it is safe to call GetIs_ancestral_allele method.
1938  ///
1939  /// @return
1940  /// - true, if the data member is getatable.
1941  /// - false, otherwise.
1942  bool CanGetIs_ancestral_allele(void) const;
1943 
1944  /// Reset Is_ancestral_allele data member.
1945  void ResetIs_ancestral_allele(void);
1946 
1947  /// Get the Is_ancestral_allele member data.
1948  ///
1949  /// @return
1950  /// Copy of the member data.
1951  TIs_ancestral_allele GetIs_ancestral_allele(void) const;
1952 
1953  /// Assign a value to Is_ancestral_allele data member.
1954  ///
1955  /// @param value
1956  /// Value to assign
1957  void SetIs_ancestral_allele(TIs_ancestral_allele value);
1958 
1959  /// Assign a value to Is_ancestral_allele data member.
1960  ///
1961  /// @return
1962  /// Reference to the data value.
1963  TIs_ancestral_allele& SetIs_ancestral_allele(void);
1964 
1965  /// publication support.
1966  /// Note: made this pub instead of pub-equiv, since
1967  /// Pub can be pub-equiv and pub-equiv is a set of pubs, but it looks like
1968  /// Pub is more often used as top-level container
1969  /// DEPRECATED - do not use; use Seq-feat.dbxref instead
1970  /// Check if a value has been assigned to Pub data member.
1971  ///
1972  /// Data member Pub is optional;
1973  /// its type is defined as 'typedef CPub TPub'
1974  /// @return
1975  /// - true, if a value has been assigned.
1976  /// - false, otherwise.
1977  bool IsSetPub(void) const;
1978 
1979  /// Check if it is safe to call GetPub method.
1980  ///
1981  /// @return
1982  /// - true, if the data member is getatable.
1983  /// - false, otherwise.
1984  bool CanGetPub(void) const;
1985 
1986  /// Reset Pub data member.
1987  void ResetPub(void);
1988 
1989  /// Get the Pub member data.
1990  ///
1991  /// @return
1992  /// Reference to the member data.
1993  const TPub& GetPub(void) const;
1994 
1995  /// Assign a value to Pub data member.
1996  ///
1997  /// @param value
1998  /// Reference to value.
1999  void SetPub(TPub& value);
2000 
2001  /// Assign a value to Pub data member.
2002  ///
2003  /// @return
2004  /// Reference to the data value.
2005  TPub& SetPub(void);
2006 
2007  /// Check if a value has been assigned to Data data member.
2008  ///
2009  /// Data member Data is mandatory;
2010  /// its type is defined as 'typedef C_Data TData'
2011  /// @return
2012  /// - true, if a value has been assigned.
2013  /// - false, otherwise.
2014  bool IsSetData(void) const;
2015 
2016  /// Check if it is safe to call GetData method.
2017  ///
2018  /// @return
2019  /// - true, if the data member is getatable.
2020  /// - false, otherwise.
2021  bool CanGetData(void) const;
2022 
2023  /// Reset Data data member.
2024  void ResetData(void);
2025 
2026  /// Get the Data member data.
2027  ///
2028  /// @return
2029  /// Reference to the member data.
2030  const TData& GetData(void) const;
2031 
2032  /// Assign a value to Data data member.
2033  ///
2034  /// @param value
2035  /// Reference to value.
2036  void SetData(TData& value);
2037 
2038  /// Assign a value to Data data member.
2039  ///
2040  /// @return
2041  /// Reference to the data value.
2042  TData& SetData(void);
2043 
2044  /// Check if a value has been assigned to Consequence data member.
2045  ///
2046  /// Data member Consequence is optional;
2047  /// its type is defined as 'typedef list< CRef< C_E_Consequence > > TConsequence'
2048  /// @return
2049  /// - true, if a value has been assigned.
2050  /// - false, otherwise.
2051  bool IsSetConsequence(void) const;
2052 
2053  /// Check if it is safe to call GetConsequence method.
2054  ///
2055  /// @return
2056  /// - true, if the data member is getatable.
2057  /// - false, otherwise.
2058  bool CanGetConsequence(void) const;
2059 
2060  /// Reset Consequence data member.
2061  void ResetConsequence(void);
2062 
2063  /// Get the Consequence member data.
2064  ///
2065  /// @return
2066  /// Reference to the member data.
2067  const TConsequence& GetConsequence(void) const;
2068 
2069  /// Assign a value to Consequence data member.
2070  ///
2071  /// @return
2072  /// Reference to the data value.
2073  TConsequence& SetConsequence(void);
2074 
2075  /// Observed location, if different from the parent set or feature.location.
2076  /// DEPRECATED - do not use
2077  /// Check if a value has been assigned to Location data member.
2078  ///
2079  /// Data member Location is optional;
2080  /// its type is defined as 'typedef CSeq_loc TLocation'
2081  /// @return
2082  /// - true, if a value has been assigned.
2083  /// - false, otherwise.
2084  bool IsSetLocation(void) const;
2085 
2086  /// Check if it is safe to call GetLocation method.
2087  ///
2088  /// @return
2089  /// - true, if the data member is getatable.
2090  /// - false, otherwise.
2091  bool CanGetLocation(void) const;
2092 
2093  /// Reset Location data member.
2094  void ResetLocation(void);
2095 
2096  /// Get the Location member data.
2097  ///
2098  /// @return
2099  /// Reference to the member data.
2100  const TLocation& GetLocation(void) const;
2101 
2102  /// Assign a value to Location data member.
2103  ///
2104  /// @param value
2105  /// Reference to value.
2106  void SetLocation(TLocation& value);
2107 
2108  /// Assign a value to Location data member.
2109  ///
2110  /// @return
2111  /// Reference to the data value.
2112  TLocation& SetLocation(void);
2113 
2114  /// reference other locs, e.g. mapped source
2115  /// DEPRECATED - do not use
2116  /// Check if a value has been assigned to Ext_locs data member.
2117  ///
2118  /// Data member Ext_locs is optional;
2119  /// its type is defined as 'typedef list< CRef< CExt_loc > > TExt_locs'
2120  /// @return
2121  /// - true, if a value has been assigned.
2122  /// - false, otherwise.
2123  bool IsSetExt_locs(void) const;
2124 
2125  /// Check if it is safe to call GetExt_locs method.
2126  ///
2127  /// @return
2128  /// - true, if the data member is getatable.
2129  /// - false, otherwise.
2130  bool CanGetExt_locs(void) const;
2131 
2132  /// Reset Ext_locs data member.
2133  void ResetExt_locs(void);
2134 
2135  /// Get the Ext_locs member data.
2136  ///
2137  /// @return
2138  /// Reference to the member data.
2139  const TExt_locs& GetExt_locs(void) const;
2140 
2141  /// Assign a value to Ext_locs data member.
2142  ///
2143  /// @return
2144  /// Reference to the data value.
2145  TExt_locs& SetExt_locs(void);
2146 
2147  /// DEPRECATED - do not use; use Seq-feat.exts instead
2148  /// Check if a value has been assigned to Ext data member.
2149  ///
2150  /// Data member Ext is optional;
2151  /// its type is defined as 'typedef CUser_object TExt'
2152  /// @return
2153  /// - true, if a value has been assigned.
2154  /// - false, otherwise.
2155  bool IsSetExt(void) const;
2156 
2157  /// Check if it is safe to call GetExt method.
2158  ///
2159  /// @return
2160  /// - true, if the data member is getatable.
2161  /// - false, otherwise.
2162  bool CanGetExt(void) const;
2163 
2164  /// Reset Ext data member.
2165  void ResetExt(void);
2166 
2167  /// Get the Ext member data.
2168  ///
2169  /// @return
2170  /// Reference to the member data.
2171  const TExt& GetExt(void) const;
2172 
2173  /// Assign a value to Ext data member.
2174  ///
2175  /// @param value
2176  /// Reference to value.
2177  void SetExt(TExt& value);
2178 
2179  /// Assign a value to Ext data member.
2180  ///
2181  /// @return
2182  /// Reference to the data value.
2183  TExt& SetExt(void);
2184 
2185  /// Check if a value has been assigned to Somatic_origin data member.
2186  ///
2187  /// Data member Somatic_origin is optional;
2188  /// its type is defined as 'typedef list< CRef< C_E_Somatic_origin > > TSomatic_origin'
2189  /// @return
2190  /// - true, if a value has been assigned.
2191  /// - false, otherwise.
2192  bool IsSetSomatic_origin(void) const;
2193 
2194  /// Check if it is safe to call GetSomatic_origin method.
2195  ///
2196  /// @return
2197  /// - true, if the data member is getatable.
2198  /// - false, otherwise.
2199  bool CanGetSomatic_origin(void) const;
2200 
2201  /// Reset Somatic_origin data member.
2202  void ResetSomatic_origin(void);
2203 
2204  /// Get the Somatic_origin member data.
2205  ///
2206  /// @return
2207  /// Reference to the member data.
2208  const TSomatic_origin& GetSomatic_origin(void) const;
2209 
2210  /// Assign a value to Somatic_origin data member.
2211  ///
2212  /// @return
2213  /// Reference to the data value.
2214  TSomatic_origin& SetSomatic_origin(void);
2215 
2216  /// Reset the whole object
2217  virtual void Reset(void);
2218 
2219 
2220 private:
2221  // Prohibit copy constructor and assignment operator
2224 
2225  // data
2226  Uint4 m_set_State[2];
2230  list< CRef< CDbtag > > m_Other_ids;
2231  string m_Name;
2232  list< string > m_Synonyms;
2234  list< CRef< CPhenotype > > m_Phenotype;
2235  list< int > m_Method;
2236  list< CRef< CPopulation_data > > m_Population_data;
2239  list< CRef< CDbtag > > m_Clinical_test;
2246  list< CRef< C_E_Consequence > > m_Consequence;
2248  list< CRef< CExt_loc > > m_Ext_locs;
2250  list< CRef< C_E_Somatic_origin > > m_Somatic_origin;
2251 };
2252 
2253 /* @} */
2254 
2255 
2256 
2257 
2258 
2259 ///////////////////////////////////////////////////////////
2260 ///////////////////// inline methods //////////////////////
2261 ///////////////////////////////////////////////////////////
2262 inline
2264 {
2265  return ((m_set_State[0] & 0x3) != 0);
2266 }
2267 
2268 inline
2270 {
2271  return IsSetType();
2272 }
2273 
2274 inline
2276 {
2277  m_Type = (EData_set_type)(0);
2278  m_set_State[0] &= ~0x3;
2279 }
2280 
2281 inline
2283 {
2284  if (!CanGetType()) {
2285  ThrowUnassigned(0);
2286  }
2287  return m_Type;
2288 }
2289 
2290 inline
2292 {
2293  m_Type = value;
2294  m_set_State[0] |= 0x3;
2295 }
2296 
2297 inline
2299 {
2300 #ifdef _DEBUG
2301  if (!IsSetType()) {
2302  memset(&m_Type,UnassignedByte(),sizeof(m_Type));
2303  }
2304 #endif
2305  m_set_State[0] |= 0x1;
2306  return m_Type;
2307 }
2308 
2309 inline
2311 {
2312  return ((m_set_State[0] & 0xc) != 0);
2313 }
2314 
2315 inline
2317 {
2318  return true;
2319 }
2320 
2321 inline
2323 {
2324  return m_Variations;
2325 }
2326 
2327 inline
2329 {
2330  m_set_State[0] |= 0x4;
2331  return m_Variations;
2332 }
2333 
2334 inline
2336 {
2337  return ((m_set_State[0] & 0x30) != 0);
2338 }
2339 
2340 inline
2342 {
2343  return IsSetName();
2344 }
2345 
2346 inline
2348 {
2349  if (!CanGetName()) {
2350  ThrowUnassigned(2);
2351  }
2352  return m_Name;
2353 }
2354 
2355 inline
2357 {
2358  m_Name = value;
2359  m_set_State[0] |= 0x30;
2360 }
2361 
2362 inline
2364 {
2365  m_Name = std::forward<CVariation_ref_Base::C_Data::C_Set::TName>(value);
2366  m_set_State[0] |= 0x30;
2367 }
2368 
2369 inline
2371 {
2372 #ifdef _DEBUG
2373  if (!IsSetName()) {
2375  }
2376 #endif
2377  m_set_State[0] |= 0x10;
2378  return m_Name;
2379 }
2380 
2381 inline
2383 {
2384  return m_choice;
2385 }
2386 
2387 inline
2389 {
2390  if ( m_choice != index )
2391  ThrowInvalidSelection(index);
2392 }
2393 
2394 inline
2395 void CVariation_ref_Base::C_Data::Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset, NCBI_NS_NCBI::CObjectMemoryPool* pool)
2396 {
2397  if ( reset == NCBI_NS_NCBI::eDoResetVariant || m_choice != index ) {
2398  if ( m_choice != e_not_set )
2399  ResetSelection();
2400  DoSelect(index, pool);
2401  }
2402 }
2403 
2404 inline
2406 {
2407  Select(index, reset, 0);
2408 }
2409 
2410 inline
2412 {
2413  return m_choice == e_Unknown;
2414 }
2415 
2416 inline
2418 {
2420 }
2421 
2422 inline
2424 {
2425  return m_choice == e_Note;
2426 }
2427 
2428 inline
2430 {
2432  return *m_string;
2433 }
2434 
2435 inline
2437 {
2439  return *m_string;
2440 }
2441 
2442 inline
2444 {
2445  return m_choice == e_Uniparental_disomy;
2446 }
2447 
2448 inline
2450 {
2452 }
2453 
2454 inline
2456 {
2457  return m_choice == e_Instance;
2458 }
2459 
2460 inline
2462 {
2463  return m_choice == e_Set;
2464 }
2465 
2466 inline
2468 {
2469  return m_choice == e_Complex;
2470 }
2471 
2472 inline
2474 {
2476 }
2477 
2478 inline
2480 {
2481  return ((m_set_State[0] & 0x3) != 0);
2482 }
2483 
2484 inline
2486 {
2487  return IsSetPhase();
2488 }
2489 
2490 inline
2492 {
2493  m_Phase = 0;
2494  m_set_State[0] &= ~0x3;
2495 }
2496 
2497 inline
2499 {
2500  if (!CanGetPhase()) {
2501  ThrowUnassigned(0);
2502  }
2503  return m_Phase;
2504 }
2505 
2506 inline
2508 {
2509  m_Phase = value;
2510  m_set_State[0] |= 0x3;
2511 }
2512 
2513 inline
2515 {
2516 #ifdef _DEBUG
2517  if (!IsSetPhase()) {
2518  memset(&m_Phase,UnassignedByte(),sizeof(m_Phase));
2519  }
2520 #endif
2521  m_set_State[0] |= 0x1;
2522  return m_Phase;
2523 }
2524 
2525 inline
2527 {
2528  return ((m_set_State[0] & 0xc) != 0);
2529 }
2530 
2531 inline
2533 {
2534  return IsSetX_length();
2535 }
2536 
2537 inline
2539 {
2540  m_X_length = 0;
2541  m_set_State[0] &= ~0xc;
2542 }
2543 
2544 inline
2546 {
2547  if (!CanGetX_length()) {
2548  ThrowUnassigned(1);
2549  }
2550  return m_X_length;
2551 }
2552 
2553 inline
2555 {
2556  m_X_length = value;
2557  m_set_State[0] |= 0xc;
2558 }
2559 
2560 inline
2562 {
2563 #ifdef _DEBUG
2564  if (!IsSetX_length()) {
2565  memset(&m_X_length,UnassignedByte(),sizeof(m_X_length));
2566  }
2567 #endif
2568  m_set_State[0] |= 0x4;
2569  return m_X_length;
2570 }
2571 
2572 inline
2574 {
2575  return ((m_set_State[0] & 0x3) != 0);
2576 }
2577 
2578 inline
2580 {
2581  return IsSetReference();
2582 }
2583 
2584 inline
2586 {
2587  if (!CanGetReference()) {
2588  ThrowUnassigned(0);
2589  }
2590  return m_Reference;
2591 }
2592 
2593 inline
2595 {
2596  m_Reference = value;
2597  m_set_State[0] |= 0x3;
2598 }
2599 
2600 inline
2602 {
2603  m_Reference = std::forward<CVariation_ref_Base::C_E_Consequence::C_Loss_of_heterozygosity::TReference>(value);
2604  m_set_State[0] |= 0x3;
2605 }
2606 
2607 inline
2609 {
2610 #ifdef _DEBUG
2611  if (!IsSetReference()) {
2612  m_Reference = UnassignedString();
2613  }
2614 #endif
2615  m_set_State[0] |= 0x1;
2616  return m_Reference;
2617 }
2618 
2619 inline
2621 {
2622  return ((m_set_State[0] & 0xc) != 0);
2623 }
2624 
2625 inline
2627 {
2628  return IsSetTest();
2629 }
2630 
2631 inline
2633 {
2634  if (!CanGetTest()) {
2635  ThrowUnassigned(1);
2636  }
2637  return m_Test;
2638 }
2639 
2640 inline
2642 {
2643  m_Test = value;
2644  m_set_State[0] |= 0xc;
2645 }
2646 
2647 inline
2649 {
2650  m_Test = std::forward<CVariation_ref_Base::C_E_Consequence::C_Loss_of_heterozygosity::TTest>(value);
2651  m_set_State[0] |= 0xc;
2652 }
2653 
2654 inline
2656 {
2657 #ifdef _DEBUG
2658  if (!IsSetTest()) {
2659  m_Test = UnassignedString();
2660  }
2661 #endif
2662  m_set_State[0] |= 0x4;
2663  return m_Test;
2664 }
2665 
2666 inline
2668 {
2669  return m_choice;
2670 }
2671 
2672 inline
2674 {
2675  if ( m_choice != index )
2676  ThrowInvalidSelection(index);
2677 }
2678 
2679 inline
2680 void CVariation_ref_Base::C_E_Consequence::Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset, NCBI_NS_NCBI::CObjectMemoryPool* pool)
2681 {
2682  if ( reset == NCBI_NS_NCBI::eDoResetVariant || m_choice != index ) {
2683  if ( m_choice != e_not_set )
2684  ResetSelection();
2685  DoSelect(index, pool);
2686  }
2687 }
2688 
2689 inline
2691 {
2692  Select(index, reset, 0);
2693 }
2694 
2695 inline
2697 {
2698  return m_choice == e_Unknown;
2699 }
2700 
2701 inline
2703 {
2705 }
2706 
2707 inline
2709 {
2710  return m_choice == e_Splicing;
2711 }
2712 
2713 inline
2715 {
2717 }
2718 
2719 inline
2721 {
2722  return m_choice == e_Note;
2723 }
2724 
2725 inline
2727 {
2729  return *m_string;
2730 }
2731 
2732 inline
2734 {
2736  return *m_string;
2737 }
2738 
2739 inline
2741 {
2742  return m_choice == e_Variation;
2743 }
2744 
2745 inline
2747 {
2748  return m_choice == e_Frameshift;
2749 }
2750 
2751 inline
2753 {
2754  return m_choice == e_Loss_of_heterozygosity;
2755 }
2756 
2757 inline
2759 {
2760  return ((m_set_State[0] & 0x3) != 0);
2761 }
2762 
2763 inline
2765 {
2766  return IsSetDescription();
2767 }
2768 
2769 inline
2771 {
2772  if (!CanGetDescription()) {
2773  ThrowUnassigned(0);
2774  }
2775  return m_Description;
2776 }
2777 
2778 inline
2780 {
2781  m_Description = value;
2782  m_set_State[0] |= 0x3;
2783 }
2784 
2785 inline
2787 {
2788  m_Description = std::forward<CVariation_ref_Base::C_E_Somatic_origin::C_Condition::TDescription>(value);
2789  m_set_State[0] |= 0x3;
2790 }
2791 
2792 inline
2794 {
2795 #ifdef _DEBUG
2796  if (!IsSetDescription()) {
2798  }
2799 #endif
2800  m_set_State[0] |= 0x1;
2801  return m_Description;
2802 }
2803 
2804 inline
2806 {
2807  return ((m_set_State[0] & 0xc) != 0);
2808 }
2809 
2810 inline
2812 {
2813  return true;
2814 }
2815 
2816 inline
2818 {
2819  return m_Object_id;
2820 }
2821 
2822 inline
2824 {
2825  m_set_State[0] |= 0x4;
2826  return m_Object_id;
2827 }
2828 
2829 inline
2831 {
2832  return m_Source.NotEmpty();
2833 }
2834 
2835 inline
2837 {
2838  return IsSetSource();
2839 }
2840 
2841 inline
2843 {
2844  if (!CanGetSource()) {
2845  ThrowUnassigned(0);
2846  }
2847  return (*m_Source);
2848 }
2849 
2850 inline
2852 {
2853  return m_Condition.NotEmpty();
2854 }
2855 
2856 inline
2858 {
2859  return IsSetCondition();
2860 }
2861 
2862 inline
2864 {
2865  if (!CanGetCondition()) {
2866  ThrowUnassigned(1);
2867  }
2868  return (*m_Condition);
2869 }
2870 
2871 inline
2873 {
2874  return m_Id.NotEmpty();
2875 }
2876 
2877 inline
2879 {
2880  return IsSetId();
2881 }
2882 
2883 inline
2885 {
2886  if (!CanGetId()) {
2887  ThrowUnassigned(0);
2888  }
2889  return (*m_Id);
2890 }
2891 
2892 inline
2894 {
2895  return m_Parent_id.NotEmpty();
2896 }
2897 
2898 inline
2900 {
2901  return IsSetParent_id();
2902 }
2903 
2904 inline
2906 {
2907  if (!CanGetParent_id()) {
2908  ThrowUnassigned(1);
2909  }
2910  return (*m_Parent_id);
2911 }
2912 
2913 inline
2915 {
2916  return m_Sample_id.NotEmpty();
2917 }
2918 
2919 inline
2921 {
2922  return IsSetSample_id();
2923 }
2924 
2925 inline
2927 {
2928  if (!CanGetSample_id()) {
2929  ThrowUnassigned(2);
2930  }
2931  return (*m_Sample_id);
2932 }
2933 
2934 inline
2936 {
2937  return ((m_set_State[0] & 0xc0) != 0);
2938 }
2939 
2940 inline
2942 {
2943  return true;
2944 }
2945 
2946 inline
2948 {
2949  return m_Other_ids;
2950 }
2951 
2952 inline
2954 {
2955  m_set_State[0] |= 0x40;
2956  return m_Other_ids;
2957 }
2958 
2959 inline
2961 {
2962  return ((m_set_State[0] & 0x300) != 0);
2963 }
2964 
2965 inline
2967 {
2968  return IsSetName();
2969 }
2970 
2971 inline
2973 {
2974  if (!CanGetName()) {
2975  ThrowUnassigned(4);
2976  }
2977  return m_Name;
2978 }
2979 
2980 inline
2982 {
2983  m_Name = value;
2984  m_set_State[0] |= 0x300;
2985 }
2986 
2987 inline
2989 {
2990  m_Name = std::forward<CVariation_ref_Base::TName>(value);
2991  m_set_State[0] |= 0x300;
2992 }
2993 
2994 inline
2996 {
2997 #ifdef _DEBUG
2998  if (!IsSetName()) {
3000  }
3001 #endif
3002  m_set_State[0] |= 0x100;
3003  return m_Name;
3004 }
3005 
3006 inline
3008 {
3009  return ((m_set_State[0] & 0xc00) != 0);
3010 }
3011 
3012 inline
3014 {
3015  return true;
3016 }
3017 
3018 inline
3020 {
3021  return m_Synonyms;
3022 }
3023 
3024 inline
3026 {
3027  m_set_State[0] |= 0x400;
3028  return m_Synonyms;
3029 }
3030 
3031 inline
3033 {
3034  return ((m_set_State[0] & 0x3000) != 0);
3035 }
3036 
3037 inline
3039 {
3040  return IsSetDescription();
3041 }
3042 
3043 inline
3045 {
3046  if (!CanGetDescription()) {
3047  ThrowUnassigned(6);
3048  }
3049  return m_Description;
3050 }
3051 
3052 inline
3054 {
3055  m_Description = value;
3056  m_set_State[0] |= 0x3000;
3057 }
3058 
3059 inline
3061 {
3062  m_Description = std::forward<CVariation_ref_Base::TDescription>(value);
3063  m_set_State[0] |= 0x3000;
3064 }
3065 
3066 inline
3068 {
3069 #ifdef _DEBUG
3070  if (!IsSetDescription()) {
3072  }
3073 #endif
3074  m_set_State[0] |= 0x1000;
3075  return m_Description;
3076 }
3077 
3078 inline
3080 {
3081  return ((m_set_State[0] & 0xc000) != 0);
3082 }
3083 
3084 inline
3086 {
3087  return true;
3088 }
3089 
3090 inline
3092 {
3093  return m_Phenotype;
3094 }
3095 
3096 inline
3098 {
3099  m_set_State[0] |= 0x4000;
3100  return m_Phenotype;
3101 }
3102 
3103 inline
3105 {
3106  return ((m_set_State[0] & 0x30000) != 0);
3107 }
3108 
3109 inline
3111 {
3112  return true;
3113 }
3114 
3115 inline
3117 {
3118  return m_Method;
3119 }
3120 
3121 inline
3123 {
3124  m_set_State[0] |= 0x10000;
3125  return m_Method;
3126 }
3127 
3128 inline
3130 {
3131  return ((m_set_State[0] & 0xc0000) != 0);
3132 }
3133 
3134 inline
3136 {
3137  return true;
3138 }
3139 
3140 inline
3142 {
3143  return m_Population_data;
3144 }
3145 
3146 inline
3148 {
3149  m_set_State[0] |= 0x40000;
3150  return m_Population_data;
3151 }
3152 
3153 inline
3155 {
3156  return m_Variant_prop.NotEmpty();
3157 }
3158 
3159 inline
3161 {
3162  return IsSetVariant_prop();
3163 }
3164 
3165 inline
3167 {
3168  if (!CanGetVariant_prop()) {
3169  ThrowUnassigned(10);
3170  }
3171  return (*m_Variant_prop);
3172 }
3173 
3174 inline
3176 {
3177  return ((m_set_State[0] & 0xc00000) != 0);
3178 }
3179 
3180 inline
3182 {
3183  return IsSetValidated();
3184 }
3185 
3186 inline
3188 {
3189  m_Validated = 0;
3190  m_set_State[0] &= ~0xc00000;
3191 }
3192 
3193 inline
3195 {
3196  if (!CanGetValidated()) {
3197  ThrowUnassigned(11);
3198  }
3199  return m_Validated;
3200 }
3201 
3202 inline
3204 {
3205  m_Validated = value;
3206  m_set_State[0] |= 0xc00000;
3207 }
3208 
3209 inline
3211 {
3212 #ifdef _DEBUG
3213  if (!IsSetValidated()) {
3214  memset(&m_Validated,UnassignedByte(),sizeof(m_Validated));
3215  }
3216 #endif
3217  m_set_State[0] |= 0x400000;
3218  return m_Validated;
3219 }
3220 
3221 inline
3223 {
3224  return ((m_set_State[0] & 0x3000000) != 0);
3225 }
3226 
3227 inline
3229 {
3230  return true;
3231 }
3232 
3233 inline
3235 {
3236  return m_Clinical_test;
3237 }
3238 
3239 inline
3241 {
3242  m_set_State[0] |= 0x1000000;
3243  return m_Clinical_test;
3244 }
3245 
3246 inline
3248 {
3249  return ((m_set_State[0] & 0xc000000) != 0);
3250 }
3251 
3252 inline
3254 {
3255  return IsSetAllele_origin();
3256 }
3257 
3258 inline
3260 {
3262  m_set_State[0] &= ~0xc000000;
3263 }
3264 
3265 inline
3267 {
3268  if (!CanGetAllele_origin()) {
3269  ThrowUnassigned(13);
3270  }
3271  return m_Allele_origin;
3272 }
3273 
3274 inline
3276 {
3278  m_set_State[0] |= 0xc000000;
3279 }
3280 
3281 inline
3283 {
3284 #ifdef _DEBUG
3285  if (!IsSetAllele_origin()) {
3286  memset(&m_Allele_origin,UnassignedByte(),sizeof(m_Allele_origin));
3287  }
3288 #endif
3289  m_set_State[0] |= 0x4000000;
3290  return m_Allele_origin;
3291 }
3292 
3293 inline
3295 {
3296  return ((m_set_State[0] & 0x30000000) != 0);
3297 }
3298 
3299 inline
3301 {
3302  return IsSetAllele_state();
3303 }
3304 
3305 inline
3307 {
3309  m_set_State[0] &= ~0x30000000;
3310 }
3311 
3312 inline
3314 {
3315  if (!CanGetAllele_state()) {
3316  ThrowUnassigned(14);
3317  }
3318  return m_Allele_state;
3319 }
3320 
3321 inline
3323 {
3325  m_set_State[0] |= 0x30000000;
3326 }
3327 
3328 inline
3330 {
3331 #ifdef _DEBUG
3332  if (!IsSetAllele_state()) {
3333  memset(&m_Allele_state,UnassignedByte(),sizeof(m_Allele_state));
3334  }
3335 #endif
3336  m_set_State[0] |= 0x10000000;
3337  return m_Allele_state;
3338 }
3339 
3340 inline
3342 {
3343  return ((m_set_State[0] & 0xc0000000) != 0);
3344 }
3345 
3346 inline
3348 {
3349  return IsSetAllele_frequency();
3350 }
3351 
3352 inline
3354 {
3355  m_Allele_frequency = 0;
3356  m_set_State[0] &= ~0xc0000000;
3357 }
3358 
3359 inline
3361 {
3362  if (!CanGetAllele_frequency()) {
3363  ThrowUnassigned(15);
3364  }
3365  return m_Allele_frequency;
3366 }
3367 
3368 inline
3370 {
3372  m_set_State[0] |= 0xc0000000;
3373 }
3374 
3375 inline
3377 {
3378 #ifdef _DEBUG
3379  if (!IsSetAllele_frequency()) {
3381  }
3382 #endif
3383  m_set_State[0] |= 0x40000000;
3384  return m_Allele_frequency;
3385 }
3386 
3387 inline
3389 {
3390  return ((m_set_State[1] & 0x3) != 0);
3391 }
3392 
3393 inline
3395 {
3396  return IsSetIs_ancestral_allele();
3397 }
3398 
3399 inline
3401 {
3403  m_set_State[1] &= ~0x3;
3404 }
3405 
3406 inline
3408 {
3409  if (!CanGetIs_ancestral_allele()) {
3410  ThrowUnassigned(16);
3411  }
3412  return m_Is_ancestral_allele;
3413 }
3414 
3415 inline
3417 {
3419  m_set_State[1] |= 0x3;
3420 }
3421 
3422 inline
3424 {
3425 #ifdef _DEBUG
3426  if (!IsSetIs_ancestral_allele()) {
3428  }
3429 #endif
3430  m_set_State[1] |= 0x1;
3431  return m_Is_ancestral_allele;
3432 }
3433 
3434 inline
3436 {
3437  return m_Pub.NotEmpty();
3438 }
3439 
3440 inline
3442 {
3443  return IsSetPub();
3444 }
3445 
3446 inline
3448 {
3449  if (!CanGetPub()) {
3450  ThrowUnassigned(17);
3451  }
3452  return (*m_Pub);
3453 }
3454 
3455 inline
3457 {
3458  return m_Data.NotEmpty();
3459 }
3460 
3461 inline
3463 {
3464  return true;
3465 }
3466 
3467 inline
3469 {
3470  if ( !m_Data ) {
3471  const_cast<CVariation_ref_Base*>(this)->ResetData();
3472  }
3473  return (*m_Data);
3474 }
3475 
3476 inline
3478 {
3479  if ( !m_Data ) {
3480  ResetData();
3481  }
3482  return (*m_Data);
3483 }
3484 
3485 inline
3487 {
3488  return ((m_set_State[1] & 0xc0) != 0);
3489 }
3490 
3491 inline
3493 {
3494  return true;
3495 }
3496 
3497 inline
3499 {
3500  return m_Consequence;
3501 }
3502 
3503 inline
3505 {
3506  m_set_State[1] |= 0x40;
3507  return m_Consequence;
3508 }
3509 
3510 inline
3512 {
3513  return m_Location.NotEmpty();
3514 }
3515 
3516 inline
3518 {
3519  return IsSetLocation();
3520 }
3521 
3522 inline
3524 {
3525  if (!CanGetLocation()) {
3526  ThrowUnassigned(20);
3527  }
3528  return (*m_Location);
3529 }
3530 
3531 inline
3533 {
3534  return ((m_set_State[1] & 0xc00) != 0);
3535 }
3536 
3537 inline
3539 {
3540  return true;
3541 }
3542 
3543 inline
3545 {
3546  return m_Ext_locs;
3547 }
3548 
3549 inline
3551 {
3552  m_set_State[1] |= 0x400;
3553  return m_Ext_locs;
3554 }
3555 
3556 inline
3558 {
3559  return m_Ext.NotEmpty();
3560 }
3561 
3562 inline
3564 {
3565  return IsSetExt();
3566 }
3567 
3568 inline
3570 {
3571  if (!CanGetExt()) {
3572  ThrowUnassigned(22);
3573  }
3574  return (*m_Ext);
3575 }
3576 
3577 inline
3579 {
3580  return ((m_set_State[1] & 0xc000) != 0);
3581 }
3582 
3583 inline
3585 {
3586  return true;
3587 }
3588 
3589 inline
3591 {
3592  return m_Somatic_origin;
3593 }
3594 
3595 inline
3597 {
3598  m_set_State[1] |= 0x4000;
3599  return m_Somatic_origin;
3600 }
3601 
3602 ///////////////////////////////////////////////////////////
3603 ////////////////// end of inline methods //////////////////
3604 ///////////////////////////////////////////////////////////
3605 
3606 
3607 
3608 
3609 
3610 END_objects_SCOPE // namespace ncbi::objects::
3611 
3613 
3614 
3615 #endif // OBJECTS_SEQFEAT_VARIATION_REF_BASE_HPP
Definition: Dbtag.hpp:53
CExt_loc –.
Definition: Ext_loc.hpp:66
CPhenotype –.
Definition: Phenotype.hpp:66
CPopulation_data –.
Definition: Pub.hpp:56
CRef –.
Definition: ncbiobj.hpp:618
Base class for all serializable objects.
Definition: serialbase.hpp:150
CVariation_inst –.
Set of related Variations.
see http://www.hgvs.org/mutnomen/recs-prot.html
condition related to this origin's type
CVariation_ref_Base –.
char value[7]
Definition: config.c:431
static char UnassignedByte(void)
Definition: serialbase.hpp:181
void ThrowUnassigned(TMemberIndex index) const
EResetVariant
Definition: serialbase.hpp:76
#define ENUM_METHOD_NAME(EnumName)
Definition: serialbase.hpp:994
static string UnassignedString(void)
Definition: serialbase.hpp:175
@ eDoResetVariant
Definition: serialbase.hpp:77
@ eDoNotResetVariant
Definition: serialbase.hpp:78
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty – pointing to an object and has a non-null value.
Definition: ncbiobj.hpp:726
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
#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
TAllele_origin GetAllele_origin(void) const
Get the Allele_origin member data.
TNote & SetNote(void)
Select the variant.
bool CanGetCondition(void) const
Check if it is safe to call GetCondition method.
const TVariant_prop & GetVariant_prop(void) const
Get the Variant_prop member data.
C_Loss_of_heterozygosity & operator=(const C_Loss_of_heterozygosity &)
bool CanGetObject_id(void) const
Check if it is safe to call GetObject_id method.
void SetComplex(void)
Select the variant.
bool CanGetName(void) const
Check if it is safe to call GetName method.
list< CRef< CDbtag > > m_Clinical_test
C_Data & operator=(const C_Data &)
bool IsSetSomatic_origin(void) const
Check if a value has been assigned to Somatic_origin data member.
list< CRef< CVariation_ref > > TVariations
C_Frameshift & operator=(const C_Frameshift &)
bool CanGetConsequence(void) const
Check if it is safe to call GetConsequence method.
bool CanGetTest(void) const
Check if it is safe to call GetTest method.
TDescription & SetDescription(void)
Assign a value to Description data member.
TIs_ancestral_allele & SetIs_ancestral_allele(void)
Assign a value to Is_ancestral_allele data member.
bool CanGetAllele_frequency(void) const
Check if it is safe to call GetAllele_frequency method.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ResetValidated(void)
Reset Validated data member.
C_E_Consequence(const C_E_Consequence &)
C_E_Consequence & operator=(const C_E_Consequence &)
bool IsUnknown(void) const
Check if variant Unknown is selected.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
E_Choice Which(void) const
Which variant is currently selected.
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
CRef< TParent_id > m_Parent_id
bool IsSetPhase(void) const
Check if a value has been assigned to Phase data member.
TName & SetName(void)
Assign a value to Name data member.
bool IsSetCondition(void) const
Check if a value has been assigned to Condition data member.
bool CanGetMethod(void) const
Check if it is safe to call GetMethod method.
bool CanGetExt_locs(void) const
Check if it is safe to call GetExt_locs method.
void ResetAllele_frequency(void)
Reset Allele_frequency data member.
bool IsSetSample_id(void) const
Check if a value has been assigned to Sample_id data member.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool CanGetSource(void) const
Check if it is safe to call GetSource method.
bool CanGetExt(void) const
Check if it is safe to call GetExt method.
bool IsSetVariant_prop(void) const
variant properties bit fields Check if a value has been assigned to Variant_prop data member.
bool IsSetAllele_origin(void) const
Check if a value has been assigned to Allele_origin data member.
bool CanGetLocation(void) const
Check if it is safe to call GetLocation method.
TValidated & SetValidated(void)
Assign a value to Validated data member.
list< CRef< CDbtag > > TOther_ids
TSomatic_origin & SetSomatic_origin(void)
Assign a value to Somatic_origin data member.
TType GetType(void) const
Get the Type member data.
TConsequence & SetConsequence(void)
Assign a value to Consequence data member.
list< CRef< CPhenotype > > m_Phenotype
const TSample_id & GetSample_id(void) const
Get the Sample_id member data.
bool CanGetData(void) const
Check if it is safe to call GetData method.
bool IsSetOther_ids(void) const
Check if a value has been assigned to Other_ids data member.
list< CRef< C_E_Consequence > > m_Consequence
list< CRef< CPhenotype > > TPhenotype
bool CanGetAllele_state(void) const
Check if it is safe to call GetAllele_state method.
const TNote & GetNote(void) const
Get the variant data.
bool IsSetX_length(void) const
Check if a value has been assigned to X_length data member.
bool CanGetValidated(void) const
Check if it is safe to call GetValidated method.
list< CRef< CPopulation_data > > m_Population_data
bool IsSetPopulation_data(void) const
Note about SNP representation and pretinent fields: allele-frequency, population, quality-codes: The ...
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
bool CanGetVariant_prop(void) const
Check if it is safe to call GetVariant_prop method.
list< CRef< CDbtag > > m_Other_ids
const TSource & GetSource(void) const
Get the Source member data.
bool CanGetAllele_origin(void) const
Check if it is safe to call GetAllele_origin method.
const TId & GetId(void) const
Get the Id member data.
C_E_Somatic_origin(const C_E_Somatic_origin &)
bool IsSetReference(void) const
In germline comparison, it will be reference genome assembly (default) or reference/normal population...
list< CRef< C_E_Somatic_origin > > TSomatic_origin
TX_length GetX_length(void) const
Get the X_length member data.
void SetUnknown(void)
Select the variant.
list< CRef< CVariation_ref > > m_Variations
bool IsSetPub(void) const
publication support.
NCBI_NS_NCBI::CSerialObject * m_object
bool IsSetConsequence(void) const
Check if a value has been assigned to Consequence data member.
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
void ResetAllele_state(void)
Reset Allele_state data member.
const TClinical_test & GetClinical_test(void) const
Get the Clinical_test member data.
TObject_id & SetObject_id(void)
Assign a value to Object_id data member.
TDescription & SetDescription(void)
Assign a value to Description data member.
bool IsSetAllele_frequency(void) const
NOTE: 'allele-frequency' here refers to the minor allele frequency of the default population DEPRECAT...
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
const TData & GetData(void) const
Get the Data member data.
void ResetPhase(void)
Reset Phase data member.
TData & SetData(void)
Assign a value to Data data member.
bool CanGetSynonyms(void) const
Check if it is safe to call GetSynonyms method.
const TPhenotype & GetPhenotype(void) const
Get the Phenotype member data.
void ResetData(void)
Reset Data data member.
bool IsSetPhenotype(void) const
phenotype Check if a value has been assigned to Phenotype data member.
TPhase & SetPhase(void)
Assign a value to Phase data member.
const TLocation & GetLocation(void) const
Get the Location member data.
bool CanGetSomatic_origin(void) const
Check if it is safe to call GetSomatic_origin method.
Tparent::CMemberIndex< E_memberIndex, 3 > TmemberIndex
TValidated GetValidated(void) const
Get the Validated member data.
TExt_locs & SetExt_locs(void)
Assign a value to Ext_locs data member.
const TReference & GetReference(void) const
Get the Reference member data.
const TDescription & GetDescription(void) const
Get the Description member data.
void SetUnknown(void)
Select the variant.
bool IsSetType(void) const
Check if a value has been assigned to Type data member.
TClinical_test & SetClinical_test(void)
Assign a value to Clinical_test data member.
bool IsInstance(void) const
Check if variant Instance is selected.
bool IsSetDescription(void) const
Check if a value has been assigned to Description data member.
CRef< TLocation > m_Location
const TNote & GetNote(void) const
Get the variant data.
const TName & GetName(void) const
Get the Name member data.
Tparent::CMemberIndex< E_memberIndex, 4 > TmemberIndex
bool IsSetAllele_state(void) const
Check if a value has been assigned to Allele_state data member.
list< CRef< C_E_Consequence > > TConsequence
EAllele_state
observed allele state, if known DEPRECATED: new field = VariantProperties.allele-state
C_Condition & operator=(const C_Condition &)
TNote & SetNote(void)
Select the variant.
const TSomatic_origin & GetSomatic_origin(void) const
Get the Somatic_origin member data.
list< CRef< CPopulation_data > > TPopulation_data
bool CanGetName(void) const
Check if it is safe to call GetName method.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
const TConsequence & GetConsequence(void) const
Get the Consequence member data.
bool IsSplicing(void) const
Check if variant Splicing is selected.
bool IsSetDescription(void) const
tag for comment and descriptions Check if a value has been assigned to Description data member.
bool IsSetIs_ancestral_allele(void) const
is this variant the ancestral allele? DEPRECATED: new field = VariantProperties.is-ancestral-allele C...
Tparent::CMemberIndex< E_memberIndex, 3 > TmemberIndex
C_E_Somatic_origin & operator=(const C_E_Somatic_origin &)
bool IsSetSynonyms(void) const
Check if a value has been assigned to Synonyms data member.
bool IsUniparental_disomy(void) const
Check if variant Uniparental_disomy is selected.
TOther_ids & SetOther_ids(void)
Assign a value to Other_ids data member.
Tparent::CMemberIndex< E_memberIndex, 25 > TmemberIndex
EAllele_origin
origin of this allele, if known note that these are powers-of-two, and represent bits; thus,...
bool IsSet(void) const
Check if variant Set is selected.
void ResetX_length(void)
Reset X_length data member.
list< CRef< CExt_loc > > m_Ext_locs
CRef< TVariant_prop > m_Variant_prop
bool IsSetMethod(void) const
Check if a value has been assigned to Method data member.
TAllele_state & SetAllele_state(void)
Assign a value to Allele_state data member.
bool IsSetParent_id(void) const
Check if a value has been assigned to Parent_id data member.
bool IsSetClinical_test(void) const
link-outs to GeneTests database DEPRECATED - do not use Check if a value has been assigned to Clinica...
CVariantProperties TVariant_prop
const TObject_id & GetObject_id(void) const
Get the Object_id member data.
TAllele_frequency GetAllele_frequency(void) const
Get the Allele_frequency member data.
bool IsLoss_of_heterozygosity(void) const
Check if variant Loss_of_heterozygosity is selected.
void ResetAllele_origin(void)
Reset Allele_origin data member.
const TParent_id & GetParent_id(void) const
Get the Parent_id member data.
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
const TTest & GetTest(void) const
Get the Test member data.
bool IsSetName(void) const
Check if a value has been assigned to Name data member.
bool IsUnknown(void) const
Check if variant Unknown is selected.
TVariations & SetVariations(void)
Assign a value to Variations data member.
TSynonyms & SetSynonyms(void)
Assign a value to Synonyms data member.
bool IsSetTest(void) const
Name of the testing subject type or the testing tissue.
bool IsSetLocation(void) const
Observed location, if different from the parent set or feature.location.
TMethod & SetMethod(void)
Assign a value to Method data member.
Tparent::CMemberIndex< E_memberIndex, 3 > TmemberIndex
bool CanGetVariations(void) const
Check if it is safe to call GetVariations method.
bool IsSetValidated(void) const
has this variant been validated? DEPRECATED: new field = VariantProperties.other-validation Check if ...
CRef< TSample_id > m_Sample_id
void SetUniparental_disomy(void)
Select the variant.
const TName & GetName(void) const
Get the Name member data.
TType & SetType(void)
Assign a value to Type data member.
C_Loss_of_heterozygosity TLoss_of_heterozygosity
TPopulation_data & SetPopulation_data(void)
Assign a value to Population_data data member.
const TPopulation_data & GetPopulation_data(void) const
Get the Population_data member data.
bool CanGetParent_id(void) const
Check if it is safe to call GetParent_id method.
TName & SetName(void)
Assign a value to Name data member.
TIs_ancestral_allele GetIs_ancestral_allele(void) const
Get the Is_ancestral_allele member data.
list< string > TSynonyms
bool IsSetVariations(void) const
Check if a value has been assigned to Variations data member.
TAllele_origin & SetAllele_origin(void)
Assign a value to Allele_origin data member.
const TCondition & GetCondition(void) const
Get the Condition member data.
bool CanGetPub(void) const
Check if it is safe to call GetPub method.
bool IsSetSource(void) const
description of the somatic origin itself Check if a value has been assigned to Source data member.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
bool IsSetId(void) const
ids (i.e., SNP rsid / ssid, dbVar nsv/nssv) expected values include 'dbSNP|rs12334',...
list< CRef< CExt_loc > > TExt_locs
bool IsFrameshift(void) const
Check if variant Frameshift is selected.
bool CanGetSample_id(void) const
Check if it is safe to call GetSample_id method.
bool CanGetPopulation_data(void) const
Check if it is safe to call GetPopulation_data method.
TTest & SetTest(void)
Assign a value to Test data member.
bool CanGetReference(void) const
Check if it is safe to call GetReference method.
CVariation_ref_Base(const CVariation_ref_Base &)
void ResetIs_ancestral_allele(void)
Reset Is_ancestral_allele data member.
bool CanGetDescription(void) const
Check if it is safe to call GetDescription method.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
const TDescription & GetDescription(void) const
Get the Description member data.
bool CanGetOther_ids(void) const
Check if it is safe to call GetOther_ids method.
TAllele_frequency & SetAllele_frequency(void)
Assign a value to Allele_frequency data member.
bool CanGetClinical_test(void) const
Check if it is safe to call GetClinical_test method.
TPhase GetPhase(void) const
Get the Phase member data.
bool CanGetX_length(void) const
Check if it is safe to call GetX_length method.
const TExt_locs & GetExt_locs(void) const
Get the Ext_locs member data.
Tparent::CMemberIndex< E_memberIndex, 3 > TmemberIndex
bool CanGetPhase(void) const
Check if it is safe to call GetPhase method.
bool CanGetPhenotype(void) const
Check if it is safe to call GetPhenotype method.
const TOther_ids & GetOther_ids(void) const
Get the Other_ids member data.
bool IsSetExt_locs(void) const
reference other locs, e.g.
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
bool CanGetIs_ancestral_allele(void) const
Check if it is safe to call GetIs_ancestral_allele method.
bool IsSetObject_id(void) const
reference to BioTerm / other descriptive database Check if a value has been assigned to Object_id dat...
bool IsSetName(void) const
names and synonyms some variants have well-known canonical names and possible accepted synonyms Check...
E_Choice Which(void) const
Which variant is currently selected.
const TExt & GetExt(void) const
Get the Ext member data.
TX_length & SetX_length(void)
Assign a value to X_length data member.
C_Set & operator=(const C_Set &)
TReference & SetReference(void)
Assign a value to Reference data member.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
bool CanGetId(void) const
Check if it is safe to call GetId method.
const TPub & GetPub(void) const
Get the Pub member data.
NCBI_NS_NCBI::CSerialObject * m_object
list< string > m_Synonyms
const TMethod & GetMethod(void) const
Get the Method member data.
bool IsNote(void) const
Check if variant Note is selected.
list< CRef< CDbtag > > TClinical_test
CVariation_ref_Base & operator=(const CVariation_ref_Base &)
bool IsNote(void) const
Check if variant Note is selected.
bool IsVariation(void) const
Check if variant Variation is selected.
bool CanGetType(void) const
Check if it is safe to call GetType method.
void ResetType(void)
Reset Type data member.
bool IsSetExt(void) const
DEPRECATED - do not use; use Seq-feat.exts instead Check if a value has been assigned to Ext data mem...
const TVariations & GetVariations(void) const
Get the Variations member data.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
void SetSplicing(void)
Select the variant.
TPhenotype & SetPhenotype(void)
Assign a value to Phenotype data member.
CSerialObject Tparent
list< CRef< C_E_Somatic_origin > > m_Somatic_origin
const TSynonyms & GetSynonyms(void) const
Get the Synonyms member data.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
bool IsComplex(void) const
Check if variant Complex is selected.
bool CanGetDescription(void) const
Check if it is safe to call GetDescription method.
TAllele_state GetAllele_state(void) const
Get the Allele_state member data.
@ e_Variation
Describe resulting variation in the product, e.g. missense, nonsense, silent, neutral,...
@ e_Splicing
some effect on splicing
@ e_Complex
variant is a complex and undescribed change at the location This type of variant is known to occur in...
@ e_Instance
actual sequence-edit at feat.location
@ e_not_set
No variant selected.
@ e_not_set
static void SetTest()
Definition: stress32.cpp:16843
Modified on Tue Nov 28 02:25:17 2023 by modify_doxy.py rev. 669887