All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opencb.biodata.models.variant.avro.EvidenceEntry Maven / Gradle / Ivy

The newest version!
/**
 * Autogenerated by Avro
 * 
 * DO NOT EDIT DIRECTLY
 */
package org.opencb.biodata.models.variant.avro;  
@SuppressWarnings("all")
/** An entry for an evidence */
@org.apache.avro.specific.AvroGenerated
public class EvidenceEntry extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"EvidenceEntry\",\"namespace\":\"org.opencb.biodata.models.variant.avro\",\"doc\":\"An entry for an evidence\",\"fields\":[{\"name\":\"source\",\"type\":{\"type\":\"record\",\"name\":\"EvidenceSource\",\"doc\":\"The source of an evidence.\",\"fields\":[{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Name of source\"},{\"name\":\"version\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Version of source\"},{\"name\":\"date\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The source date.\"}]},\"doc\":\"Source of the evidence\"},{\"name\":\"submissions\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EvidenceSubmission\",\"doc\":\"The submission information\",\"fields\":[{\"name\":\"submitter\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The submitter\"},{\"name\":\"date\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The submission date\"},{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The submission id\"}]}},\"doc\":\"The list of submissions\",\"default\":[]},{\"name\":\"somaticInformation\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"SomaticInformation\",\"doc\":\"The somatic information.\",\"fields\":[{\"name\":\"primarySite\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The primary site\"},{\"name\":\"siteSubtype\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The primary site subtype\"},{\"name\":\"primaryHistology\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The primary histology\"},{\"name\":\"histologySubtype\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The histology subtype\"},{\"name\":\"tumourOrigin\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The tumour origin\"},{\"name\":\"sampleSource\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The sample source, e.g. blood-bone marrow, cell-line, pancreatic\"}]}],\"doc\":\"The somatic information\"},{\"name\":\"url\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"URL of source if any\"},{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"ID of record in the source\"},{\"name\":\"assembly\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The reference genome assembly\"},{\"name\":\"alleleOrigin\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"enum\",\"name\":\"AlleleOrigin\",\"doc\":\"Variant origin.\\n\\n* `SO_0001781`: de novo variant. http://purl.obolibrary.org/obo/SO_0001781\\n* `SO_0001778`: germline variant. http://purl.obolibrary.org/obo/SO_0001778\\n* `SO_0001775`: maternal variant. http://purl.obolibrary.org/obo/SO_0001775\\n* `SO_0001776`: paternal variant. http://purl.obolibrary.org/obo/SO_0001776\\n* `SO_0001779`: pedigree specific variant. http://purl.obolibrary.org/obo/SO_0001779\\n* `SO_0001780`: population specific variant. http://purl.obolibrary.org/obo/SO_0001780\\n* `SO_0001777`: somatic variant. http://purl.obolibrary.org/obo/SO_0001777\",\"symbols\":[\"de_novo_variant\",\"germline_variant\",\"maternal_variant\",\"paternal_variant\",\"pedigree_specific_variant\",\"population_specific_variant\",\"somatic_variant\"]}}],\"doc\":\"List of allele origins\"},{\"name\":\"heritableTraits\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"HeritableTrait\",\"doc\":\"The entity representing a phenotype and its inheritance pattern.\",\"fields\":[{\"name\":\"trait\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The trait (e.g.: HPO term, MIM term, DO term etc.)\"},{\"name\":\"inheritanceMode\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"ModeOfInheritance\",\"doc\":\"An enumeration for the different mode of inheritances:\\n\\n* `monoallelic_not_imprinted`: MONOALLELIC, autosomal or pseudoautosomal, not imprinted\\n* `monoallelic_maternally_imprinted`: MONOALLELIC, autosomal or pseudoautosomal, maternally imprinted (paternal allele expressed)\\n* `monoallelic_paternally_imprinted`: MONOALLELIC, autosomal or pseudoautosomal, paternally imprinted (maternal allele expressed)\\n* `monoallelic`: MONOALLELIC, autosomal or pseudoautosomal, imprinted status unknown\\n* `biallelic`: BIALLELIC, autosomal or pseudoautosomal\\n* `monoallelic_and_biallelic`: BOTH monoallelic and biallelic, autosomal or pseudoautosomal\\n* `monoallelic_and_more_severe_biallelic`: BOTH monoallelic and biallelic, autosomal or pseudoautosomal (but BIALLELIC mutations cause a more SEVERE disease form), autosomal or pseudoautosomal\\n* `xlinked_biallelic`: X-LINKED: hemizygous mutation in males, biallelic mutations in females\\n* `xlinked_monoallelic`: X linked: hemizygous mutation in males, monoallelic mutations in females may cause disease (may be less severe, later onset than males)\\n* `mitochondrial`: MITOCHONDRIAL\\n* `unknown`: Unknown\\n* `NA`: Not applicable\",\"symbols\":[\"monoallelic\",\"monoallelic_not_imprinted\",\"monoallelic_maternally_imprinted\",\"monoallelic_paternally_imprinted\",\"biallelic\",\"monoallelic_and_biallelic\",\"monoallelic_and_more_severe_biallelic\",\"xlinked_biallelic\",\"xlinked_monoallelic\",\"mitochondrial\",\"unknown\",\"NA\"]}],\"doc\":\"The mode of inheritance\"}]}},\"doc\":\"Heritable traits associated to this evidence\",\"default\":[]},{\"name\":\"genomicFeatures\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GenomicFeature\",\"doc\":\"The genomic feature\",\"fields\":[{\"name\":\"featureType\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"FeatureTypes\",\"doc\":\"The feature types\",\"symbols\":[\"regulatory_region\",\"gene\",\"transcript\",\"protein\"]}],\"doc\":\"Feature Type\"},{\"name\":\"ensemblId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Feature used, this should be a feature ID from Ensembl, (i.e, ENST00000544455)\"},{\"name\":\"xrefs\",\"type\":[\"null\",{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}],\"doc\":\"Others IDs. Fields like the HGNC symbol if available should be added here\"}]}},\"doc\":\"The transcript to which the evidence refers\",\"default\":[]},{\"name\":\"variantClassification\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"VariantClassification\",\"doc\":\"The variant classification according to different properties.\",\"fields\":[{\"name\":\"clinicalSignificance\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"ClinicalSignificance\",\"doc\":\"Mendelian variants classification with ACMG terminology as defined in Richards, S. et al. (2015). Standards and\\n        guidelines for the interpretation of sequence variants: a joint consensus recommendation of the American College\\n        of Medical Genetics and Genomics and the Association for Molecular Pathology. Genetics in Medicine, 17(5),\\n        405–423. https://doi.org/10.1038/gim.2015.30.\\n\\n    Classification for pharmacogenomic variants, variants associated to\\n    disease and somatic variants based on the ACMG recommendations and ClinVar classification\\n    (https://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/).\\n\\n* `benign_variant` : Benign variants interpreted for Mendelian disorders\\n* `likely_benign_variant` : Likely benign variants interpreted for Mendelian disorders with a certainty of at least 90%\\n* `pathogenic_variant` : Pathogenic variants interpreted for Mendelian disorders\\n* `likely_pathogenic_variant` : Likely pathogenic variants interpreted for Mendelian disorders with a certainty of at\\nleast 90%\\n* `uncertain_significance` : Uncertain significance variants interpreted for Mendelian disorders. Variants with\\nconflicting evidences should be classified as uncertain_significance\",\"symbols\":[\"benign\",\"likely_benign\",\"VUS\",\"likely_pathogenic\",\"pathogenic\",\"uncertain_significance\"]}],\"doc\":\"The variant's clinical significance.\"},{\"name\":\"drugResponseClassification\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"DrugResponseClassification\",\"doc\":\"Pharmacogenomics drug response variant classification\",\"symbols\":[\"responsive\",\"altered_sensitivity\",\"reduced_sensitivity\",\"increased_sensitivity\",\"altered_resistance\",\"increased_resistance\",\"reduced_resistance\",\"increased_risk_of_toxicity\",\"reduced_risk_of_toxicity\",\"altered_toxicity\",\"adverse_drug_reaction\",\"indication\",\"contraindication\",\"dosing_alteration\",\"increased_dose\",\"reduced_dose\",\"increased_monitoring\",\"increased_efficacy\",\"reduced_efficacy\",\"altered_effica","cy\"]}],\"doc\":\"The variant's pharmacogenomics classification.\"},{\"name\":\"traitAssociation\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"TraitAssociation\",\"doc\":\"Association of variants to a given trait.\\n* `established_risk_allele` : Established risk allele for variants associated to disease\\n* `likely_risk_allele` : Likely risk allele for variants associated to disease\\n* `uncertain_risk_allele` : Uncertain risk allele for variants associated to disease\\n* `protective` : Protective allele\",\"symbols\":[\"established_risk_allele\",\"likely_risk_allele\",\"uncertain_risk_allele\",\"protective\"]}],\"doc\":\"The variant's trait association.\"},{\"name\":\"tumorigenesisClassification\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"TumorigenesisClassification\",\"doc\":\"Variant classification according to its relation to cancer aetiology.\\n* `driver` : Driver variants\\n* `passenger` : Passenger variants\\n* `modifier` : Modifier variants\",\"symbols\":[\"driver\",\"passenger\",\"modifier\"]}],\"doc\":\"The variant's tumorigenesis classification.\"},{\"name\":\"functionalEffect\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"VariantFunctionalEffect\",\"doc\":\"Variant effect with Sequence Ontology terms.\\n\\n* `SO_0002052`: dominant_negative_variant (http://purl.obolibrary.org/obo/SO_0002052)\\n* `SO_0002053`: gain_of_function_variant (http://purl.obolibrary.org/obo/SO_0002053)\\n* `SO_0001773`: lethal_variant (http://purl.obolibrary.org/obo/SO_0001773)\\n* `SO_0002054`: loss_of_function_variant (http://purl.obolibrary.org/obo/SO_0002054)\\n* `SO_0001786`: loss_of_heterozygosity (http://purl.obolibrary.org/obo/SO_0001786)\\n* `SO_0002055`: null_variant (http://purl.obolibrary.org/obo/SO_0002055)\",\"symbols\":[\"dominant_negative_variant\",\"gain_of_function_variant\",\"lethal_variant\",\"loss_of_function_variant\",\"loss_of_heterozygosity\",\"null_variant\"]}],\"doc\":\"The variant functional effect\"}]}],\"doc\":\"The variant classification\"},{\"name\":\"impact\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"EvidenceImpact\",\"doc\":\"Evidence of pathogenicity and benign impact as defined in Richards, S. et al. (2015). Standards and guidelines for the interpretation\\n    of sequence variants: a joint consensus recommendation of the American College of Medical Genetics and Genomics and\\n    the Association for Molecular Pathology. Genetics in Medicine, 17(5), 405–423. https://doi.org/10.1038/gim.2015.30\\n\\nEvidence of pathogenicity:\\n* `very_strong`:\\n    - PVS1 null variant (nonsense, frameshift, canonical ±1 or 2 splice sites, initiation codon, single or multiexon\\n    deletion) in a gene where LOF is a known mechanism of disease\\n* `strong`:\\n    - PS1 Same amino acid change as a previously established pathogenic variant regardless of nucleotide change\\n    - PS2 De novo (both maternity and paternity confirmed) in a patient with the disease and no family history\\n    - PS3 Well-established in vitro or in vivo functional studies supportive of a damaging effect on the gene or gene\\n    product\\n    - PS4 The prevalence of the variant in affected individuals is significantly increased compared with the prevalence\\n    in controls\\n* `moderate`:\\n    - PM1 Located in a mutational hot spot and/or critical and well-established functional domain (e.g., active site of\\n    an enzyme) without benign variation\\n    - PM2 Absent from controls (or at extremely low frequency if recessive) in Exome Sequencing Project, 1000 Genomes\\n    Project, or Exome Aggregation Consortium\\n    - PM3 For recessive disorders, detected in trans with a pathogenic variant\\n    - PM4 Protein length changes as a result of in-frame deletions/insertions in a nonrepeat region or stop-loss\\n    variants\\n    - PM5 Novel missense change at an amino acid residue where a different missense change determined to be pathogenic\\n    has been seen before\\n    - PM6 Assumed de novo, but without confirmation of paternity and maternity\\n* `supporting`:\\n    - PP1 Cosegregation with disease in multiple affected family members in a gene definitively known to cause the\\n    disease\\n    - PP2 Missense variant in a gene that has a low rate of benign missense variation and in which missense variants are\\n    a common mechanism of disease\\n    - PP3 Multiple lines of computational evidence support a deleterious effect on the gene or gene product\\n    (conservation, evolutionary, splicing impact, etc.)\\n    - PP4 Patient’s phenotype or family history is highly specific for a disease with a single genetic etiology\\n    - PP5 Reputable source recently reports variant as pathogenic, but the evidence is not available to the laboratory\\n    to perform an independent evaluation\\n\\nEvidence of benign impact:\\n* `stand_alone`:\\n    - BA1 Allele frequency is >5% in Exome Sequencing Project, 1000 Genomes Project, or Exome Aggregation\\n    Consortium\\n* `strong`:\\n    - BS1 Allele frequency is greater than expected for disorder\\n    - BS2 Observed in a healthy adult individual for a recessive (homozygous), dominant (heterozygous), or X-linked\\n    (hemizygous) disorder, with full penetrance expected at an early age\\n    - BS3 Well-established in vitro or in vivo functional studies show no damaging effect on protein function or\\n    splicing\\n    - BS4 Lack of segregation in affected members of a family\\n* `supporting`:\\n    - BP1 Missense variant in a gene for which primarily truncating variants are known to cause disease\\n    - BP2 Observed in trans with a pathogenic variant for a fully penetrant dominant gene/disorder or observed in cis\\n    with a pathogenic variant in any inheritance pattern\\n    - BP3 In-frame deletions/insertions in a repetitive region without a known function\\n    - BP4 Multiple lines of computational evidence suggest no impact on gene or gene product (conservation,\\n    evolutionary, splicing impact, etc.)\\n    - BP5 Variant found in a case with an alternate molecular basis for disease\\n    - BP6 Reputable source recently reports variant as benign, but the evidence is not available to the laboratory to\\n    perform an independent evaluation\\n    - BP7 A synonymous (silent) variant for which splicing prediction algorithms predict no impact to the splice\\n    consensus sequence nor the creation of a new splice site AND the nucleotide is not highly conserved\",\"symbols\":[\"very_strong\",\"strong\",\"moderate\",\"supporting\",\"stand_alone\"]}],\"doc\":\"Impact of evidence. Should be coherent with the classification of impact if provided.\"},{\"name\":\"confidence\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Confidence\",\"doc\":\"Confidence based on the Confidence Information Ontology\\n\\n* `CIO_0000029`: high confidence level http://purl.obolibrary.org/obo/CIO_0000029\\n* `CIO_0000031`: low confidence level http://purl.obolibrary.org/obo/CIO_0000031\\n* `CIO_0000030`: medium confidence level http://purl.obolibrary.org/obo/CIO_0000030\\n* `CIO_0000039`: rejected http://purl.obolibrary.org/obo/CIO_0000039\",\"symbols\":[\"low_confidence_level\",\"medium_confidence_level\",\"high_confidence_level\",\"rejected\"]}],\"doc\":\"The curation confidence.\"},{\"name\":\"consistencyStatus\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"ConsistencyStatus\",\"doc\":\"The consistency of evidences for a given phenotype. This aggregates all evidences for a given phenotype and all\\n    evidences with no phenotype associated (e.g.: in silico impact prediction, population frequency).\\n    This is based on the Confidence Information Ontology terms.\\n\\n* `CIO_0000033`: congruent, all evidences are consistent. http://purl.obolibrary.org/obo/CIO_0000033\\n* `CIO_0000034`: conflict, there are conflicting evidences. This should correspond to a `VariantClassification` of\\n`uncertain_significance` for mendelian disorders. http://purl.obolibrary.org/obo/CIO_0000034\\n* `CIO_0000035`: strongly conflicting. http://purl.obolibrary.org/obo/CIO_0000035\\n* `CIO_0000036`: weakly conflicting. http://purl.obolibrary.org/obo/CIO_0000036\",\"symbols\":[\"congruent\",\"conflict\",\"weakly_conflicting\",\"strongly_conflicting\"]}],\"doc\":\"The consistency status. This is applicable to complex evidences (e.g.: ClinVar)\"},{\"name\":\"ethnicity\",\"type\":{\"type\":\"enum\",\"name\":\"EthnicCategory\",\"doc\":\"This is the list of ethnics in ONS16\\n\\n* `D`:  Mixed: White and Black Caribbean\\n* `E`:  Mixed: White and Black Afr","ican\\n* `F`:  Mixed: White and Asian\\n* `G`:  Mixed: Any other mixed background\\n* `A`:  White: British\\n* `B`:  White: Irish\\n* `C`:  White: Any other White background\\n* `L`:  Asian or Asian British: Any other Asian background\\n* `M`:  Black or Black British: Caribbean\\n* `N`:  Black or Black British: African\\n* `H`:  Asian or Asian British: Indian\\n* `J`:  Asian or Asian British: Pakistani\\n* `K`:  Asian or Asian British: Bangladeshi\\n* `P`:  Black or Black British: Any other Black background\\n* `S`:  Other Ethnic Groups: Any other ethnic group\\n* `R`:  Other Ethnic Groups: Chinese\\n* `Z`:  Not stated\",\"symbols\":[\"D\",\"E\",\"F\",\"G\",\"A\",\"B\",\"C\",\"L\",\"M\",\"N\",\"H\",\"J\",\"K\",\"P\",\"S\",\"R\",\"Z\"]},\"doc\":\"Ethnicity\"},{\"name\":\"penetrance\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Penetrance\",\"doc\":\"Penetrance assumed in the analysis\",\"symbols\":[\"complete\",\"incomplete\"]}],\"doc\":\"The penetrance of the phenotype for this genotype. Value in the range [0, 1]\"},{\"name\":\"variableExpressivity\",\"type\":[\"null\",\"boolean\"],\"doc\":\"Variable expressivity of a given phenotype for the same genotype\"},{\"name\":\"description\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Evidence description\"},{\"name\":\"additionalProperties\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Property\",\"doc\":\"A property in the form of name-value pair.\\n    Names are restricted to ontology ids, they should be checked against existing ontologies in resources like\\n    Ontology Lookup Service.\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term id or accession in OBO format ${ONTOLOGY_ID}:${TERM_ID} (http://www.obofoundry.org/id-policy.html)\"},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term name\"},{\"name\":\"value\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Optional value for the ontology term, the type of the value is not checked\\n        (i.e.: we could set the pvalue term to \\\"significant\\\" or to \\\"0.0001\\\")\"}]}},\"doc\":\"A list of additional properties in the form name-value.\",\"default\":[]},{\"name\":\"bibliography\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},\"doc\":\"Bibliography\",\"default\":[]}]}");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  /** Source of the evidence */
   private org.opencb.biodata.models.variant.avro.EvidenceSource source;
  /** The list of submissions */
   private java.util.List submissions;
  /** The somatic information */
   private org.opencb.biodata.models.variant.avro.SomaticInformation somaticInformation;
  /** URL of source if any */
   private java.lang.String url;
  /** ID of record in the source */
   private java.lang.String id;
  /** The reference genome assembly */
   private java.lang.String assembly;
  /** List of allele origins */
   private java.util.List alleleOrigin;
  /** Heritable traits associated to this evidence */
   private java.util.List heritableTraits;
  /** The transcript to which the evidence refers */
   private java.util.List genomicFeatures;
  /** The variant classification */
   private org.opencb.biodata.models.variant.avro.VariantClassification variantClassification;
  /** Impact of evidence. Should be coherent with the classification of impact if provided. */
   private org.opencb.biodata.models.variant.avro.EvidenceImpact impact;
  /** The curation confidence. */
   private org.opencb.biodata.models.variant.avro.Confidence confidence;
  /** The consistency status. This is applicable to complex evidences (e.g.: ClinVar) */
   private org.opencb.biodata.models.variant.avro.ConsistencyStatus consistencyStatus;
  /** Ethnicity */
   private org.opencb.biodata.models.variant.avro.EthnicCategory ethnicity;
  /** The penetrance of the phenotype for this genotype. Value in the range [0, 1] */
   private org.opencb.biodata.models.variant.avro.Penetrance penetrance;
  /** Variable expressivity of a given phenotype for the same genotype */
   private java.lang.Boolean variableExpressivity;
  /** Evidence description */
   private java.lang.String description;
  /** A list of additional properties in the form name-value. */
   private java.util.List additionalProperties;
  /** Bibliography */
   private java.util.List bibliography;

  /**
   * Default constructor.  Note that this does not initialize fields
   * to their default values from the schema.  If that is desired then
   * one should use newBuilder(). 
   */
  public EvidenceEntry() {}

  /**
   * All-args constructor.
   */
  public EvidenceEntry(org.opencb.biodata.models.variant.avro.EvidenceSource source, java.util.List submissions, org.opencb.biodata.models.variant.avro.SomaticInformation somaticInformation, java.lang.String url, java.lang.String id, java.lang.String assembly, java.util.List alleleOrigin, java.util.List heritableTraits, java.util.List genomicFeatures, org.opencb.biodata.models.variant.avro.VariantClassification variantClassification, org.opencb.biodata.models.variant.avro.EvidenceImpact impact, org.opencb.biodata.models.variant.avro.Confidence confidence, org.opencb.biodata.models.variant.avro.ConsistencyStatus consistencyStatus, org.opencb.biodata.models.variant.avro.EthnicCategory ethnicity, org.opencb.biodata.models.variant.avro.Penetrance penetrance, java.lang.Boolean variableExpressivity, java.lang.String description, java.util.List additionalProperties, java.util.List bibliography) {
    this.source = source;
    this.submissions = submissions;
    this.somaticInformation = somaticInformation;
    this.url = url;
    this.id = id;
    this.assembly = assembly;
    this.alleleOrigin = alleleOrigin;
    this.heritableTraits = heritableTraits;
    this.genomicFeatures = genomicFeatures;
    this.variantClassification = variantClassification;
    this.impact = impact;
    this.confidence = confidence;
    this.consistencyStatus = consistencyStatus;
    this.ethnicity = ethnicity;
    this.penetrance = penetrance;
    this.variableExpressivity = variableExpressivity;
    this.description = description;
    this.additionalProperties = additionalProperties;
    this.bibliography = bibliography;
  }

  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
  // Used by DatumWriter.  Applications should not call. 
  public java.lang.Object get(int field$) {
    switch (field$) {
    case 0: return source;
    case 1: return submissions;
    case 2: return somaticInformation;
    case 3: return url;
    case 4: return id;
    case 5: return assembly;
    case 6: return alleleOrigin;
    case 7: return heritableTraits;
    case 8: return genomicFeatures;
    case 9: return variantClassification;
    case 10: return impact;
    case 11: return confidence;
    case 12: return consistencyStatus;
    case 13: return ethnicity;
    case 14: return penetrance;
    case 15: return variableExpressivity;
    case 16: return description;
    case 17: return additionalProperties;
    case 18: return bibliography;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }
  // Used by DatumReader.  Applications should not call. 
  @SuppressWarnings(value="unchecked")
  public void put(int field$, java.lang.Object value$) {
    switch (field$) {
    case 0: source = (org.opencb.biodata.models.variant.avro.EvidenceSource)value$; break;
    case 1: submissions = (java.util.List)value$; break;
    case 2: somaticInformation = (org.opencb.biodata.models.variant.avro.SomaticInformation)value$; break;
    case 3: url = (java.lang.String)value$; break;
    case 4: id = (java.lang.String)value$; break;
    case 5: assembly = (java.lang.String)value$; break;
    case 6: alleleOrigin = (java.util.List)value$; break;
    case 7: heritableTraits = (java.util.List)value$; break;
    case 8: genomicFeatures = (java.util.List)value$; break;
    case 9: variantClassification = (org.opencb.biodata.models.variant.avro.VariantClassification)value$; break;
    case 10: impact = (org.opencb.biodata.models.variant.avro.EvidenceImpact)value$; break;
    case 11: confidence = (org.opencb.biodata.models.variant.avro.Confidence)value$; break;
    case 12: consistencyStatus = (org.opencb.biodata.models.variant.avro.ConsistencyStatus)value$; break;
    case 13: ethnicity = (org.opencb.biodata.models.variant.avro.EthnicCategory)value$; break;
    case 14: penetrance = (org.opencb.biodata.models.variant.avro.Penetrance)value$; break;
    case 15: variableExpressivity = (java.lang.Boolean)value$; break;
    case 16: description = (java.lang.String)value$; break;
    case 17: additionalProperties = (java.util.List)value$; break;
    case 18: bibliography = (java.util.List)value$; break;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /**
   * Gets the value of the 'source' field.
   * Source of the evidence   */
  public org.opencb.biodata.models.variant.avro.EvidenceSource getSource() {
    return source;
  }

  /**
   * Sets the value of the 'source' field.
   * Source of the evidence   * @param value the value to set.
   */
  public void setSource(org.opencb.biodata.models.variant.avro.EvidenceSource value) {
    this.source = value;
  }

  /**
   * Gets the value of the 'submissions' field.
   * The list of submissions   */
  public java.util.List getSubmissions() {
    return submissions;
  }

  /**
   * Sets the value of the 'submissions' field.
   * The list of submissions   * @param value the value to set.
   */
  public void setSubmissions(java.util.List value) {
    this.submissions = value;
  }

  /**
   * Gets the value of the 'somaticInformation' field.
   * The somatic information   */
  public org.opencb.biodata.models.variant.avro.SomaticInformation getSomaticInformation() {
    return somaticInformation;
  }

  /**
   * Sets the value of the 'somaticInformation' field.
   * The somatic information   * @param value the value to set.
   */
  public void setSomaticInformation(org.opencb.biodata.models.variant.avro.SomaticInformation value) {
    this.somaticInformation = value;
  }

  /**
   * Gets the value of the 'url' field.
   * URL of source if any   */
  public java.lang.String getUrl() {
    return url;
  }

  /**
   * Sets the value of the 'url' field.
   * URL of source if any   * @param value the value to set.
   */
  public void setUrl(java.lang.String value) {
    this.url = value;
  }

  /**
   * Gets the value of the 'id' field.
   * ID of record in the source   */
  public java.lang.String getId() {
    return id;
  }

  /**
   * Sets the value of the 'id' field.
   * ID of record in the source   * @param value the value to set.
   */
  public void setId(java.lang.String value) {
    this.id = value;
  }

  /**
   * Gets the value of the 'assembly' field.
   * The reference genome assembly   */
  public java.lang.String getAssembly() {
    return assembly;
  }

  /**
   * Sets the value of the 'assembly' field.
   * The reference genome assembly   * @param value the value to set.
   */
  public void setAssembly(java.lang.String value) {
    this.assembly = value;
  }

  /**
   * Gets the value of the 'alleleOrigin' field.
   * List of allele origins   */
  public java.util.List getAlleleOrigin() {
    return alleleOrigin;
  }

  /**
   * Sets the value of the 'alleleOrigin' field.
   * List of allele origins   * @param value the value to set.
   */
  public void setAlleleOrigin(java.util.List value) {
    this.alleleOrigin = value;
  }

  /**
   * Gets the value of the 'heritableTraits' field.
   * Heritable traits associated to this evidence   */
  public java.util.List getHeritableTraits() {
    return heritableTraits;
  }

  /**
   * Sets the value of the 'heritableTraits' field.
   * Heritable traits associated to this evidence   * @param value the value to set.
   */
  public void setHeritableTraits(java.util.List value) {
    this.heritableTraits = value;
  }

  /**
   * Gets the value of the 'genomicFeatures' field.
   * The transcript to which the evidence refers   */
  public java.util.List getGenomicFeatures() {
    return genomicFeatures;
  }

  /**
   * Sets the value of the 'genomicFeatures' field.
   * The transcript to which the evidence refers   * @param value the value to set.
   */
  public void setGenomicFeatures(java.util.List value) {
    this.genomicFeatures = value;
  }

  /**
   * Gets the value of the 'variantClassification' field.
   * The variant classification   */
  public org.opencb.biodata.models.variant.avro.VariantClassification getVariantClassification() {
    return variantClassification;
  }

  /**
   * Sets the value of the 'variantClassification' field.
   * The variant classification   * @param value the value to set.
   */
  public void setVariantClassification(org.opencb.biodata.models.variant.avro.VariantClassification value) {
    this.variantClassification = value;
  }

  /**
   * Gets the value of the 'impact' field.
   * Impact of evidence. Should be coherent with the classification of impact if provided.   */
  public org.opencb.biodata.models.variant.avro.EvidenceImpact getImpact() {
    return impact;
  }

  /**
   * Sets the value of the 'impact' field.
   * Impact of evidence. Should be coherent with the classification of impact if provided.   * @param value the value to set.
   */
  public void setImpact(org.opencb.biodata.models.variant.avro.EvidenceImpact value) {
    this.impact = value;
  }

  /**
   * Gets the value of the 'confidence' field.
   * The curation confidence.   */
  public org.opencb.biodata.models.variant.avro.Confidence getConfidence() {
    return confidence;
  }

  /**
   * Sets the value of the 'confidence' field.
   * The curation confidence.   * @param value the value to set.
   */
  public void setConfidence(org.opencb.biodata.models.variant.avro.Confidence value) {
    this.confidence = value;
  }

  /**
   * Gets the value of the 'consistencyStatus' field.
   * The consistency status. This is applicable to complex evidences (e.g.: ClinVar)   */
  public org.opencb.biodata.models.variant.avro.ConsistencyStatus getConsistencyStatus() {
    return consistencyStatus;
  }

  /**
   * Sets the value of the 'consistencyStatus' field.
   * The consistency status. This is applicable to complex evidences (e.g.: ClinVar)   * @param value the value to set.
   */
  public void setConsistencyStatus(org.opencb.biodata.models.variant.avro.ConsistencyStatus value) {
    this.consistencyStatus = value;
  }

  /**
   * Gets the value of the 'ethnicity' field.
   * Ethnicity   */
  public org.opencb.biodata.models.variant.avro.EthnicCategory getEthnicity() {
    return ethnicity;
  }

  /**
   * Sets the value of the 'ethnicity' field.
   * Ethnicity   * @param value the value to set.
   */
  public void setEthnicity(org.opencb.biodata.models.variant.avro.EthnicCategory value) {
    this.ethnicity = value;
  }

  /**
   * Gets the value of the 'penetrance' field.
   * The penetrance of the phenotype for this genotype. Value in the range [0, 1]   */
  public org.opencb.biodata.models.variant.avro.Penetrance getPenetrance() {
    return penetrance;
  }

  /**
   * Sets the value of the 'penetrance' field.
   * The penetrance of the phenotype for this genotype. Value in the range [0, 1]   * @param value the value to set.
   */
  public void setPenetrance(org.opencb.biodata.models.variant.avro.Penetrance value) {
    this.penetrance = value;
  }

  /**
   * Gets the value of the 'variableExpressivity' field.
   * Variable expressivity of a given phenotype for the same genotype   */
  public java.lang.Boolean getVariableExpressivity() {
    return variableExpressivity;
  }

  /**
   * Sets the value of the 'variableExpressivity' field.
   * Variable expressivity of a given phenotype for the same genotype   * @param value the value to set.
   */
  public void setVariableExpressivity(java.lang.Boolean value) {
    this.variableExpressivity = value;
  }

  /**
   * Gets the value of the 'description' field.
   * Evidence description   */
  public java.lang.String getDescription() {
    return description;
  }

  /**
   * Sets the value of the 'description' field.
   * Evidence description   * @param value the value to set.
   */
  public void setDescription(java.lang.String value) {
    this.description = value;
  }

  /**
   * Gets the value of the 'additionalProperties' field.
   * A list of additional properties in the form name-value.   */
  public java.util.List getAdditionalProperties() {
    return additionalProperties;
  }

  /**
   * Sets the value of the 'additionalProperties' field.
   * A list of additional properties in the form name-value.   * @param value the value to set.
   */
  public void setAdditionalProperties(java.util.List value) {
    this.additionalProperties = value;
  }

  /**
   * Gets the value of the 'bibliography' field.
   * Bibliography   */
  public java.util.List getBibliography() {
    return bibliography;
  }

  /**
   * Sets the value of the 'bibliography' field.
   * Bibliography   * @param value the value to set.
   */
  public void setBibliography(java.util.List value) {
    this.bibliography = value;
  }

  /** Creates a new EvidenceEntry RecordBuilder */
  public static org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder newBuilder() {
    return new org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder();
  }
  
  /** Creates a new EvidenceEntry RecordBuilder by copying an existing Builder */
  public static org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder newBuilder(org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder other) {
    return new org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder(other);
  }
  
  /** Creates a new EvidenceEntry RecordBuilder by copying an existing EvidenceEntry instance */
  public static org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder newBuilder(org.opencb.biodata.models.variant.avro.EvidenceEntry other) {
    return new org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder(other);
  }
  
  /**
   * RecordBuilder for EvidenceEntry instances.
   */
  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase
    implements org.apache.avro.data.RecordBuilder {

    private org.opencb.biodata.models.variant.avro.EvidenceSource source;
    private java.util.List submissions;
    private org.opencb.biodata.models.variant.avro.SomaticInformation somaticInformation;
    private java.lang.String url;
    private java.lang.String id;
    private java.lang.String assembly;
    private java.util.List alleleOrigin;
    private java.util.List heritableTraits;
    private java.util.List genomicFeatures;
    private org.opencb.biodata.models.variant.avro.VariantClassification variantClassification;
    private org.opencb.biodata.models.variant.avro.EvidenceImpact impact;
    private org.opencb.biodata.models.variant.avro.Confidence confidence;
    private org.opencb.biodata.models.variant.avro.ConsistencyStatus consistencyStatus;
    private org.opencb.biodata.models.variant.avro.EthnicCategory ethnicity;
    private org.opencb.biodata.models.variant.avro.Penetrance penetrance;
    private java.lang.Boolean variableExpressivity;
    private java.lang.String description;
    private java.util.List additionalProperties;
    private java.util.List bibliography;

    /** Creates a new Builder */
    private Builder() {
      super(org.opencb.biodata.models.variant.avro.EvidenceEntry.SCHEMA$);
    }
    
    /** Creates a Builder by copying an existing Builder */
    private Builder(org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder other) {
      super(other);
      if (isValidValue(fields()[0], other.source)) {
        this.source = data().deepCopy(fields()[0].schema(), other.source);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.submissions)) {
        this.submissions = data().deepCopy(fields()[1].schema(), other.submissions);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.somaticInformation)) {
        this.somaticInformation = data().deepCopy(fields()[2].schema(), other.somaticInformation);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.url)) {
        this.url = data().deepCopy(fields()[3].schema(), other.url);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.id)) {
        this.id = data().deepCopy(fields()[4].schema(), other.id);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.assembly)) {
        this.assembly = data().deepCopy(fields()[5].schema(), other.assembly);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.alleleOrigin)) {
        this.alleleOrigin = data().deepCopy(fields()[6].schema(), other.alleleOrigin);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.heritableTraits)) {
        this.heritableTraits = data().deepCopy(fields()[7].schema(), other.heritableTraits);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.genomicFeatures)) {
        this.genomicFeatures = data().deepCopy(fields()[8].schema(), other.genomicFeatures);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.variantClassification)) {
        this.variantClassification = data().deepCopy(fields()[9].schema(), other.variantClassification);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.impact)) {
        this.impact = data().deepCopy(fields()[10].schema(), other.impact);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.confidence)) {
        this.confidence = data().deepCopy(fields()[11].schema(), other.confidence);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.consistencyStatus)) {
        this.consistencyStatus = data().deepCopy(fields()[12].schema(), other.consistencyStatus);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.ethnicity)) {
        this.ethnicity = data().deepCopy(fields()[13].schema(), other.ethnicity);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.penetrance)) {
        this.penetrance = data().deepCopy(fields()[14].schema(), other.penetrance);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.variableExpressivity)) {
        this.variableExpressivity = data().deepCopy(fields()[15].schema(), other.variableExpressivity);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.description)) {
        this.description = data().deepCopy(fields()[16].schema(), other.description);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.additionalProperties)) {
        this.additionalProperties = data().deepCopy(fields()[17].schema(), other.additionalProperties);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.bibliography)) {
        this.bibliography = data().deepCopy(fields()[18].schema(), other.bibliography);
        fieldSetFlags()[18] = true;
      }
    }
    
    /** Creates a Builder by copying an existing EvidenceEntry instance */
    private Builder(org.opencb.biodata.models.variant.avro.EvidenceEntry other) {
            super(org.opencb.biodata.models.variant.avro.EvidenceEntry.SCHEMA$);
      if (isValidValue(fields()[0], other.source)) {
        this.source = data().deepCopy(fields()[0].schema(), other.source);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.submissions)) {
        this.submissions = data().deepCopy(fields()[1].schema(), other.submissions);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.somaticInformation)) {
        this.somaticInformation = data().deepCopy(fields()[2].schema(), other.somaticInformation);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.url)) {
        this.url = data().deepCopy(fields()[3].schema(), other.url);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.id)) {
        this.id = data().deepCopy(fields()[4].schema(), other.id);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.assembly)) {
        this.assembly = data().deepCopy(fields()[5].schema(), other.assembly);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.alleleOrigin)) {
        this.alleleOrigin = data().deepCopy(fields()[6].schema(), other.alleleOrigin);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.heritableTraits)) {
        this.heritableTraits = data().deepCopy(fields()[7].schema(), other.heritableTraits);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.genomicFeatures)) {
        this.genomicFeatures = data().deepCopy(fields()[8].schema(), other.genomicFeatures);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.variantClassification)) {
        this.variantClassification = data().deepCopy(fields()[9].schema(), other.variantClassification);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.impact)) {
        this.impact = data().deepCopy(fields()[10].schema(), other.impact);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.confidence)) {
        this.confidence = data().deepCopy(fields()[11].schema(), other.confidence);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.consistencyStatus)) {
        this.consistencyStatus = data().deepCopy(fields()[12].schema(), other.consistencyStatus);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.ethnicity)) {
        this.ethnicity = data().deepCopy(fields()[13].schema(), other.ethnicity);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.penetrance)) {
        this.penetrance = data().deepCopy(fields()[14].schema(), other.penetrance);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.variableExpressivity)) {
        this.variableExpressivity = data().deepCopy(fields()[15].schema(), other.variableExpressivity);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.description)) {
        this.description = data().deepCopy(fields()[16].schema(), other.description);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.additionalProperties)) {
        this.additionalProperties = data().deepCopy(fields()[17].schema(), other.additionalProperties);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.bibliography)) {
        this.bibliography = data().deepCopy(fields()[18].schema(), other.bibliography);
        fieldSetFlags()[18] = true;
      }
    }

    /** Gets the value of the 'source' field */
    public org.opencb.biodata.models.variant.avro.EvidenceSource getSource() {
      return source;
    }
    
    /** Sets the value of the 'source' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setSource(org.opencb.biodata.models.variant.avro.EvidenceSource value) {
      validate(fields()[0], value);
      this.source = value;
      fieldSetFlags()[0] = true;
      return this; 
    }
    
    /** Checks whether the 'source' field has been set */
    public boolean hasSource() {
      return fieldSetFlags()[0];
    }
    
    /** Clears the value of the 'source' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearSource() {
      source = null;
      fieldSetFlags()[0] = false;
      return this;
    }

    /** Gets the value of the 'submissions' field */
    public java.util.List getSubmissions() {
      return submissions;
    }
    
    /** Sets the value of the 'submissions' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setSubmissions(java.util.List value) {
      validate(fields()[1], value);
      this.submissions = value;
      fieldSetFlags()[1] = true;
      return this; 
    }
    
    /** Checks whether the 'submissions' field has been set */
    public boolean hasSubmissions() {
      return fieldSetFlags()[1];
    }
    
    /** Clears the value of the 'submissions' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearSubmissions() {
      submissions = null;
      fieldSetFlags()[1] = false;
      return this;
    }

    /** Gets the value of the 'somaticInformation' field */
    public org.opencb.biodata.models.variant.avro.SomaticInformation getSomaticInformation() {
      return somaticInformation;
    }
    
    /** Sets the value of the 'somaticInformation' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setSomaticInformation(org.opencb.biodata.models.variant.avro.SomaticInformation value) {
      validate(fields()[2], value);
      this.somaticInformation = value;
      fieldSetFlags()[2] = true;
      return this; 
    }
    
    /** Checks whether the 'somaticInformation' field has been set */
    public boolean hasSomaticInformation() {
      return fieldSetFlags()[2];
    }
    
    /** Clears the value of the 'somaticInformation' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearSomaticInformation() {
      somaticInformation = null;
      fieldSetFlags()[2] = false;
      return this;
    }

    /** Gets the value of the 'url' field */
    public java.lang.String getUrl() {
      return url;
    }
    
    /** Sets the value of the 'url' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setUrl(java.lang.String value) {
      validate(fields()[3], value);
      this.url = value;
      fieldSetFlags()[3] = true;
      return this; 
    }
    
    /** Checks whether the 'url' field has been set */
    public boolean hasUrl() {
      return fieldSetFlags()[3];
    }
    
    /** Clears the value of the 'url' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearUrl() {
      url = null;
      fieldSetFlags()[3] = false;
      return this;
    }

    /** Gets the value of the 'id' field */
    public java.lang.String getId() {
      return id;
    }
    
    /** Sets the value of the 'id' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setId(java.lang.String value) {
      validate(fields()[4], value);
      this.id = value;
      fieldSetFlags()[4] = true;
      return this; 
    }
    
    /** Checks whether the 'id' field has been set */
    public boolean hasId() {
      return fieldSetFlags()[4];
    }
    
    /** Clears the value of the 'id' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearId() {
      id = null;
      fieldSetFlags()[4] = false;
      return this;
    }

    /** Gets the value of the 'assembly' field */
    public java.lang.String getAssembly() {
      return assembly;
    }
    
    /** Sets the value of the 'assembly' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setAssembly(java.lang.String value) {
      validate(fields()[5], value);
      this.assembly = value;
      fieldSetFlags()[5] = true;
      return this; 
    }
    
    /** Checks whether the 'assembly' field has been set */
    public boolean hasAssembly() {
      return fieldSetFlags()[5];
    }
    
    /** Clears the value of the 'assembly' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearAssembly() {
      assembly = null;
      fieldSetFlags()[5] = false;
      return this;
    }

    /** Gets the value of the 'alleleOrigin' field */
    public java.util.List getAlleleOrigin() {
      return alleleOrigin;
    }
    
    /** Sets the value of the 'alleleOrigin' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setAlleleOrigin(java.util.List value) {
      validate(fields()[6], value);
      this.alleleOrigin = value;
      fieldSetFlags()[6] = true;
      return this; 
    }
    
    /** Checks whether the 'alleleOrigin' field has been set */
    public boolean hasAlleleOrigin() {
      return fieldSetFlags()[6];
    }
    
    /** Clears the value of the 'alleleOrigin' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearAlleleOrigin() {
      alleleOrigin = null;
      fieldSetFlags()[6] = false;
      return this;
    }

    /** Gets the value of the 'heritableTraits' field */
    public java.util.List getHeritableTraits() {
      return heritableTraits;
    }
    
    /** Sets the value of the 'heritableTraits' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setHeritableTraits(java.util.List value) {
      validate(fields()[7], value);
      this.heritableTraits = value;
      fieldSetFlags()[7] = true;
      return this; 
    }
    
    /** Checks whether the 'heritableTraits' field has been set */
    public boolean hasHeritableTraits() {
      return fieldSetFlags()[7];
    }
    
    /** Clears the value of the 'heritableTraits' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearHeritableTraits() {
      heritableTraits = null;
      fieldSetFlags()[7] = false;
      return this;
    }

    /** Gets the value of the 'genomicFeatures' field */
    public java.util.List getGenomicFeatures() {
      return genomicFeatures;
    }
    
    /** Sets the value of the 'genomicFeatures' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setGenomicFeatures(java.util.List value) {
      validate(fields()[8], value);
      this.genomicFeatures = value;
      fieldSetFlags()[8] = true;
      return this; 
    }
    
    /** Checks whether the 'genomicFeatures' field has been set */
    public boolean hasGenomicFeatures() {
      return fieldSetFlags()[8];
    }
    
    /** Clears the value of the 'genomicFeatures' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearGenomicFeatures() {
      genomicFeatures = null;
      fieldSetFlags()[8] = false;
      return this;
    }

    /** Gets the value of the 'variantClassification' field */
    public org.opencb.biodata.models.variant.avro.VariantClassification getVariantClassification() {
      return variantClassification;
    }
    
    /** Sets the value of the 'variantClassification' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setVariantClassification(org.opencb.biodata.models.variant.avro.VariantClassification value) {
      validate(fields()[9], value);
      this.variantClassification = value;
      fieldSetFlags()[9] = true;
      return this; 
    }
    
    /** Checks whether the 'variantClassification' field has been set */
    public boolean hasVariantClassification() {
      return fieldSetFlags()[9];
    }
    
    /** Clears the value of the 'variantClassification' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearVariantClassification() {
      variantClassification = null;
      fieldSetFlags()[9] = false;
      return this;
    }

    /** Gets the value of the 'impact' field */
    public org.opencb.biodata.models.variant.avro.EvidenceImpact getImpact() {
      return impact;
    }
    
    /** Sets the value of the 'impact' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setImpact(org.opencb.biodata.models.variant.avro.EvidenceImpact value) {
      validate(fields()[10], value);
      this.impact = value;
      fieldSetFlags()[10] = true;
      return this; 
    }
    
    /** Checks whether the 'impact' field has been set */
    public boolean hasImpact() {
      return fieldSetFlags()[10];
    }
    
    /** Clears the value of the 'impact' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearImpact() {
      impact = null;
      fieldSetFlags()[10] = false;
      return this;
    }

    /** Gets the value of the 'confidence' field */
    public org.opencb.biodata.models.variant.avro.Confidence getConfidence() {
      return confidence;
    }
    
    /** Sets the value of the 'confidence' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setConfidence(org.opencb.biodata.models.variant.avro.Confidence value) {
      validate(fields()[11], value);
      this.confidence = value;
      fieldSetFlags()[11] = true;
      return this; 
    }
    
    /** Checks whether the 'confidence' field has been set */
    public boolean hasConfidence() {
      return fieldSetFlags()[11];
    }
    
    /** Clears the value of the 'confidence' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearConfidence() {
      confidence = null;
      fieldSetFlags()[11] = false;
      return this;
    }

    /** Gets the value of the 'consistencyStatus' field */
    public org.opencb.biodata.models.variant.avro.ConsistencyStatus getConsistencyStatus() {
      return consistencyStatus;
    }
    
    /** Sets the value of the 'consistencyStatus' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setConsistencyStatus(org.opencb.biodata.models.variant.avro.ConsistencyStatus value) {
      validate(fields()[12], value);
      this.consistencyStatus = value;
      fieldSetFlags()[12] = true;
      return this; 
    }
    
    /** Checks whether the 'consistencyStatus' field has been set */
    public boolean hasConsistencyStatus() {
      return fieldSetFlags()[12];
    }
    
    /** Clears the value of the 'consistencyStatus' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearConsistencyStatus() {
      consistencyStatus = null;
      fieldSetFlags()[12] = false;
      return this;
    }

    /** Gets the value of the 'ethnicity' field */
    public org.opencb.biodata.models.variant.avro.EthnicCategory getEthnicity() {
      return ethnicity;
    }
    
    /** Sets the value of the 'ethnicity' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setEthnicity(org.opencb.biodata.models.variant.avro.EthnicCategory value) {
      validate(fields()[13], value);
      this.ethnicity = value;
      fieldSetFlags()[13] = true;
      return this; 
    }
    
    /** Checks whether the 'ethnicity' field has been set */
    public boolean hasEthnicity() {
      return fieldSetFlags()[13];
    }
    
    /** Clears the value of the 'ethnicity' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearEthnicity() {
      ethnicity = null;
      fieldSetFlags()[13] = false;
      return this;
    }

    /** Gets the value of the 'penetrance' field */
    public org.opencb.biodata.models.variant.avro.Penetrance getPenetrance() {
      return penetrance;
    }
    
    /** Sets the value of the 'penetrance' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setPenetrance(org.opencb.biodata.models.variant.avro.Penetrance value) {
      validate(fields()[14], value);
      this.penetrance = value;
      fieldSetFlags()[14] = true;
      return this; 
    }
    
    /** Checks whether the 'penetrance' field has been set */
    public boolean hasPenetrance() {
      return fieldSetFlags()[14];
    }
    
    /** Clears the value of the 'penetrance' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearPenetrance() {
      penetrance = null;
      fieldSetFlags()[14] = false;
      return this;
    }

    /** Gets the value of the 'variableExpressivity' field */
    public java.lang.Boolean getVariableExpressivity() {
      return variableExpressivity;
    }
    
    /** Sets the value of the 'variableExpressivity' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setVariableExpressivity(java.lang.Boolean value) {
      validate(fields()[15], value);
      this.variableExpressivity = value;
      fieldSetFlags()[15] = true;
      return this; 
    }
    
    /** Checks whether the 'variableExpressivity' field has been set */
    public boolean hasVariableExpressivity() {
      return fieldSetFlags()[15];
    }
    
    /** Clears the value of the 'variableExpressivity' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearVariableExpressivity() {
      variableExpressivity = null;
      fieldSetFlags()[15] = false;
      return this;
    }

    /** Gets the value of the 'description' field */
    public java.lang.String getDescription() {
      return description;
    }
    
    /** Sets the value of the 'description' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setDescription(java.lang.String value) {
      validate(fields()[16], value);
      this.description = value;
      fieldSetFlags()[16] = true;
      return this; 
    }
    
    /** Checks whether the 'description' field has been set */
    public boolean hasDescription() {
      return fieldSetFlags()[16];
    }
    
    /** Clears the value of the 'description' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearDescription() {
      description = null;
      fieldSetFlags()[16] = false;
      return this;
    }

    /** Gets the value of the 'additionalProperties' field */
    public java.util.List getAdditionalProperties() {
      return additionalProperties;
    }
    
    /** Sets the value of the 'additionalProperties' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setAdditionalProperties(java.util.List value) {
      validate(fields()[17], value);
      this.additionalProperties = value;
      fieldSetFlags()[17] = true;
      return this; 
    }
    
    /** Checks whether the 'additionalProperties' field has been set */
    public boolean hasAdditionalProperties() {
      return fieldSetFlags()[17];
    }
    
    /** Clears the value of the 'additionalProperties' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearAdditionalProperties() {
      additionalProperties = null;
      fieldSetFlags()[17] = false;
      return this;
    }

    /** Gets the value of the 'bibliography' field */
    public java.util.List getBibliography() {
      return bibliography;
    }
    
    /** Sets the value of the 'bibliography' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder setBibliography(java.util.List value) {
      validate(fields()[18], value);
      this.bibliography = value;
      fieldSetFlags()[18] = true;
      return this; 
    }
    
    /** Checks whether the 'bibliography' field has been set */
    public boolean hasBibliography() {
      return fieldSetFlags()[18];
    }
    
    /** Clears the value of the 'bibliography' field */
    public org.opencb.biodata.models.variant.avro.EvidenceEntry.Builder clearBibliography() {
      bibliography = null;
      fieldSetFlags()[18] = false;
      return this;
    }

    @Override
    public EvidenceEntry build() {
      try {
        EvidenceEntry record = new EvidenceEntry();
        record.source = fieldSetFlags()[0] ? this.source : (org.opencb.biodata.models.variant.avro.EvidenceSource) defaultValue(fields()[0]);
        record.submissions = fieldSetFlags()[1] ? this.submissions : (java.util.List) defaultValue(fields()[1]);
        record.somaticInformation = fieldSetFlags()[2] ? this.somaticInformation : (org.opencb.biodata.models.variant.avro.SomaticInformation) defaultValue(fields()[2]);
        record.url = fieldSetFlags()[3] ? this.url : (java.lang.String) defaultValue(fields()[3]);
        record.id = fieldSetFlags()[4] ? this.id : (java.lang.String) defaultValue(fields()[4]);
        record.assembly = fieldSetFlags()[5] ? this.assembly : (java.lang.String) defaultValue(fields()[5]);
        record.alleleOrigin = fieldSetFlags()[6] ? this.alleleOrigin : (java.util.List) defaultValue(fields()[6]);
        record.heritableTraits = fieldSetFlags()[7] ? this.heritableTraits : (java.util.List) defaultValue(fields()[7]);
        record.genomicFeatures = fieldSetFlags()[8] ? this.genomicFeatures : (java.util.List) defaultValue(fields()[8]);
        record.variantClassification = fieldSetFlags()[9] ? this.variantClassification : (org.opencb.biodata.models.variant.avro.VariantClassification) defaultValue(fields()[9]);
        record.impact = fieldSetFlags()[10] ? this.impact : (org.opencb.biodata.models.variant.avro.EvidenceImpact) defaultValue(fields()[10]);
        record.confidence = fieldSetFlags()[11] ? this.confidence : (org.opencb.biodata.models.variant.avro.Confidence) defaultValue(fields()[11]);
        record.consistencyStatus = fieldSetFlags()[12] ? this.consistencyStatus : (org.opencb.biodata.models.variant.avro.ConsistencyStatus) defaultValue(fields()[12]);
        record.ethnicity = fieldSetFlags()[13] ? this.ethnicity : (org.opencb.biodata.models.variant.avro.EthnicCategory) defaultValue(fields()[13]);
        record.penetrance = fieldSetFlags()[14] ? this.penetrance : (org.opencb.biodata.models.variant.avro.Penetrance) defaultValue(fields()[14]);
        record.variableExpressivity = fieldSetFlags()[15] ? this.variableExpressivity : (java.lang.Boolean) defaultValue(fields()[15]);
        record.description = fieldSetFlags()[16] ? this.description : (java.lang.String) defaultValue(fields()[16]);
        record.additionalProperties = fieldSetFlags()[17] ? this.additionalProperties : (java.util.List) defaultValue(fields()[17]);
        record.bibliography = fieldSetFlags()[18] ? this.bibliography : (java.util.List) defaultValue(fields()[18]);
        return record;
      } catch (Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy