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

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

The newest version!
/**
 * Autogenerated by Avro
 * 
 * DO NOT EDIT DIRECTLY
 */
package org.opencb.biodata.models.variant.avro;  
@SuppressWarnings("all")
@org.apache.avro.specific.AvroGenerated
public class VariantAnnotation 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\":\"VariantAnnotation\",\"namespace\":\"org.opencb.biodata.models.variant.avro\",\"fields\":[{\"name\":\"chromosome\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"start\",\"type\":[\"null\",\"int\"]},{\"name\":\"end\",\"type\":[\"null\",\"int\"]},{\"name\":\"reference\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"alternate\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"ancestralAllele\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"xrefs\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Xref\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}]},{\"name\":\"hgvs\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"displayConsequenceType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"consequenceTypes\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ConsequenceType\",\"fields\":[{\"name\":\"geneId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"geneName\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"ensemblGeneId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"ensemblTranscriptId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"transcriptId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"hgvs\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"strand\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"biotype\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"exonOverlap\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ExonOverlap\",\"fields\":[{\"name\":\"number\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"percentage\",\"type\":[\"null\",\"float\"]}]}}]},{\"name\":\"spliceScores\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"SpliceScores\",\"fields\":[{\"name\":\"source\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"scores\",\"type\":{\"type\":\"map\",\"values\":\"double\",\"avro.java.string\":\"String\"}}]}}]},{\"name\":\"transcriptFlags\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"cdnaPosition\",\"type\":[\"null\",\"int\"]},{\"name\":\"cdsPosition\",\"type\":[\"null\",\"int\"]},{\"name\":\"codon\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"proteinVariantAnnotation\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"ProteinVariantAnnotation\",\"fields\":[{\"name\":\"uniprotAccession\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"default\":null},{\"name\":\"uniprotName\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"default\":null},{\"name\":\"proteinId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"default\":null},{\"name\":\"position\",\"type\":[\"null\",\"int\"]},{\"name\":\"reference\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"alternate\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"uniprotVariantId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"functionalDescription\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"substitutionScores\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Score\",\"fields\":[{\"name\":\"score\",\"type\":\"double\"},{\"name\":\"source\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"description\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}]},{\"name\":\"keywords\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"features\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ProteinFeature\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"start\",\"type\":\"int\"},{\"name\":\"end\",\"type\":\"int\"},{\"name\":\"type\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"description\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}]}]}]},{\"name\":\"sequenceOntologyTerms\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"SequenceOntologyTerm\",\"fields\":[{\"name\":\"accession\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"name\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]}}}]}},\"default\":[]},{\"name\":\"populationFrequencies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"PopulationFrequency\",\"fields\":[{\"name\":\"study\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"population\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"refAllele\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"altAllele\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"refAlleleFreq\",\"type\":\"float\"},{\"name\":\"altAlleleFreq\",\"type\":\"float\"},{\"name\":\"refAlleleCount\",\"type\":[\"null\",\"int\"]},{\"name\":\"altAlleleCount\",\"type\":[\"null\",\"int\"]},{\"name\":\"refHomGenotypeFreq\",\"type\":[\"null\",\"float\"]},{\"name\":\"hetGenotypeFreq\",\"type\":[\"null\",\"float\"]},{\"name\":\"altHomGenotypeFreq\",\"type\":[\"null\",\"float\"]},{\"name\":\"refHomGenotypeCount\",\"type\":[\"null\",\"int\"]},{\"name\":\"hetGenotypeCount\",\"type\":[\"null\",\"int\"]},{\"name\":\"altHomGenotypeCount\",\"type\":[\"null\",\"int\"]}]}}]},{\"name\":\"minorAllele\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"minorAlleleFreq\",\"type\":[\"null\",\"float\"]},{\"name\":\"conservation\",\"type\":[\"null\",{\"type\":\"array\",\"items\":\"Score\"}]},{\"name\":\"geneExpression\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Expression\",\"fields\":[{\"name\":\"geneName\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"transcriptId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"experimentalFactor\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"factorValue\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"experimentId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"technologyPlatform\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"expression\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"ExpressionCall\",\"symbols\":[\"UP\",\"DOWN\"],\"javaAnnotation\":\"Deprecated\"}]},{\"name\":\"pvalue\",\"type\":[\"null\",\"float\"]}]}}]},{\"name\":\"geneTraitAssociation\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GeneTraitAssociation\",\"fields\":[{\"name\":\"id\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"name\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"hpo\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"score\",\"type\":[\"null\",\"float\"]},{\"name\":\"numberOfPubmeds\",\"type\":[\"null\",\"int\"]},{\"name\":\"associationTypes\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"sources\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"source\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]}}]},{\"name\":\"geneDrugInteraction\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GeneDrugInteraction\",\"fields\":[{\"name\":\"geneName\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"drugName\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"studyType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"type\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"interactionType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"chemblId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"publications\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]}]}}]},{\"name\":\"geneConstraints\",\"type\":[\"null\",{\"type\":\"array\",\"it","ems\":{\"type\":\"record\",\"name\":\"Constraint\",\"fields\":[{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"method\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"value\",\"type\":[\"null\",\"double\"]}]}}]},{\"name\":\"geneMirnaTargets\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GeneMirnaTarget\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"biotype\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}]},{\"name\":\"geneCancerAssociations\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GeneCancerAssociation\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"tier\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"somatic\",\"type\":[\"null\",\"boolean\"]},{\"name\":\"germline\",\"type\":[\"null\",\"boolean\"]},{\"name\":\"somaticTumourTypes\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"germlineTumourTypes\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"syndromes\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"tissues\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"modeOfInheritance\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"roleInCancer\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"mutationTypes\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"translocationPartners\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]}]}}]},{\"name\":\"traitAssociation\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EvidenceEntry\",\"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 prop","erties.\",\"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_efficacy\"]}],\"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 African\\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\":[]}]}}]},{\"name\":\"pharmacogenomics\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Pharmacogenomics\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"types\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"smiles\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"inChI\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"annotations\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"PharmacogenomicsClinicalAnnotation\",\"fields\":[{\"name\":\"variantId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"geneNames\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"phenotypes\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"phenotypeTypes\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"confidence\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"score\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"url\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"summary\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"pubmed\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"alleles\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"PharmacogenomicsAlleles\",\"fields\":[{\"name\":\"allele\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"annotation\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"description\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}]}]}}]}]}}]},{\"name\":\"gwas\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GwasAssociation\",\"fields\":[{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"region\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"snpId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"riskAllele\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"riskAlleleFrequency\",\"type\":[\"null\",\"double\"]},{\"name\":\"studies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GwasAssociationStudy\",\"fields\":[{\"name\":\"pubmedid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"study\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"studyAccession\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"initialSampleSizeDescription\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"initialSampleSize\",\"type\":[\"null\",\"int\"]},{\"name\":\"platform\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"genotypingTechnology\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"traits\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GwasAssociationStudyTrait\",\"fields\":[{\"name\":\"diseaseTrait\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"strongestSnpRiskAllele\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},{\"name\":\"ontologies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"OntologyTermAnnotation\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"description\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"source\"",",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"url\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"attributes\",\"type\":[\"null\",{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}]}]}}]},{\"name\":\"scores\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GwasAssociationStudyTraitScores\",\"fields\":[{\"name\":\"pValue\",\"type\":[\"null\",\"double\"]},{\"name\":\"pValueMlog\",\"type\":[\"null\",\"double\"]},{\"name\":\"pValueText\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"orBeta\",\"type\":[\"null\",\"double\"]},{\"name\":\"percentCI\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}]}]}}]}]}}]}]}}]},{\"name\":\"cancerHotspots\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"CancerHotspotVariantAnnotation\",\"fields\":[{\"name\":\"geneName\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"proteinId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"aminoacidPosition\",\"type\":[\"null\",\"int\"]},{\"name\":\"aminoacidReference\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"cancerType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"scores\",\"type\":[\"null\",{\"type\":\"map\",\"values\":\"double\",\"avro.java.string\":\"String\"}]},{\"name\":\"cancerTypeCount\",\"type\":[\"null\",{\"type\":\"map\",\"values\":\"int\",\"avro.java.string\":\"String\"}]},{\"name\":\"organCount\",\"type\":[\"null\",{\"type\":\"map\",\"values\":\"int\",\"avro.java.string\":\"String\"}]},{\"name\":\"variants\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"CancerHotspotAlternateAnnotation\",\"fields\":[{\"name\":\"aminoacidAlternate\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"count\",\"type\":[\"null\",\"int\"]},{\"name\":\"sampleCount\",\"type\":[\"null\",{\"type\":\"map\",\"values\":\"int\",\"avro.java.string\":\"String\"}]}]}}]},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}]},{\"name\":\"functionalScore\",\"type\":[\"null\",{\"type\":\"array\",\"items\":\"Score\"}]},{\"name\":\"cytoband\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Cytoband\",\"fields\":[{\"name\":\"chromosome\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"stain\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"start\",\"type\":[\"null\",\"int\"]},{\"name\":\"end\",\"type\":[\"null\",\"int\"]}]}}]},{\"name\":\"repeat\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Repeat\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"chromosome\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"start\",\"type\":[\"null\",\"int\"]},{\"name\":\"end\",\"type\":[\"null\",\"int\"]},{\"name\":\"period\",\"type\":[\"null\",\"int\"]},{\"name\":\"consensusSize\",\"type\":[\"null\",\"int\"]},{\"name\":\"copyNumber\",\"type\":[\"null\",\"float\"]},{\"name\":\"percentageMatch\",\"type\":[\"null\",\"float\"]},{\"name\":\"score\",\"type\":[\"null\",\"float\"]},{\"name\":\"sequence\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}]},{\"name\":\"drugs\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Drug\",\"fields\":[{\"name\":\"therapeuticContext\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"pathway\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"effect\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"association\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"status\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"evidence\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"bibliography\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]}]}}]},{\"name\":\"additionalAttributes\",\"type\":[\"null\",{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AdditionalAttribute\",\"fields\":[{\"name\":\"attribute\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}}]},\"avro.java.string\":\"String\"}],\"default\":null}]}");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
   private java.lang.String chromosome;
   private java.lang.Integer start;
   private java.lang.Integer end;
   private java.lang.String reference;
   private java.lang.String alternate;
   private java.lang.String ancestralAllele;
   private java.lang.String id;
   private java.util.List xrefs;
   private java.util.List hgvs;
   private java.lang.String displayConsequenceType;
   private java.util.List consequenceTypes;
   private java.util.List populationFrequencies;
   private java.lang.String minorAllele;
   private java.lang.Float minorAlleleFreq;
   private java.util.List conservation;
   private java.util.List geneExpression;
   private java.util.List geneTraitAssociation;
   private java.util.List geneDrugInteraction;
   private java.util.List geneConstraints;
   private java.util.List geneMirnaTargets;
   private java.util.List geneCancerAssociations;
   private java.util.List traitAssociation;
   private java.util.List pharmacogenomics;
   private java.util.List gwas;
   private java.util.List cancerHotspots;
   private java.util.List functionalScore;
   private java.util.List cytoband;
   private java.util.List repeat;
   private java.util.List drugs;
   private java.util.Map additionalAttributes;

  /**
   * 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 VariantAnnotation() {}

  /**
   * All-args constructor.
   */
  public VariantAnnotation(java.lang.String chromosome, java.lang.Integer start, java.lang.Integer end, java.lang.String reference, java.lang.String alternate, java.lang.String ancestralAllele, java.lang.String id, java.util.List xrefs, java.util.List hgvs, java.lang.String displayConsequenceType, java.util.List consequenceTypes, java.util.List populationFrequencies, java.lang.String minorAllele, java.lang.Float minorAlleleFreq, java.util.List conservation, java.util.List geneExpression, java.util.List geneTraitAssociation, java.util.List geneDrugInteraction, java.util.List geneConstraints, java.util.List geneMirnaTargets, java.util.List geneCancerAssociations, java.util.List traitAssociation, java.util.List pharmacogenomics, java.util.List gwas, java.util.List cancerHotspots, java.util.List functionalScore, java.util.List cytoband, java.util.List repeat, java.util.List drugs, java.util.Map additionalAttributes) {
    this.chromosome = chromosome;
    this.start = start;
    this.end = end;
    this.reference = reference;
    this.alternate = alternate;
    this.ancestralAllele = ancestralAllele;
    this.id = id;
    this.xrefs = xrefs;
    this.hgvs = hgvs;
    this.displayConsequenceType = displayConsequenceType;
    this.consequenceTypes = consequenceTypes;
    this.populationFrequencies = populationFrequencies;
    this.minorAllele = minorAllele;
    this.minorAlleleFreq = minorAlleleFreq;
    this.conservation = conservation;
    this.geneExpression = geneExpression;
    this.geneTraitAssociation = geneTraitAssociation;
    this.geneDrugInteraction = geneDrugInteraction;
    this.geneConstraints = geneConstraints;
    this.geneMirnaTargets = geneMirnaTargets;
    this.geneCancerAssociations = geneCancerAssociations;
    this.traitAssociation = traitAssociation;
    this.pharmacogenomics = pharmacogenomics;
    this.gwas = gwas;
    this.cancerHotspots = cancerHotspots;
    this.functionalScore = functionalScore;
    this.cytoband = cytoband;
    this.repeat = repeat;
    this.drugs = drugs;
    this.additionalAttributes = additionalAttributes;
  }

  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 chromosome;
    case 1: return start;
    case 2: return end;
    case 3: return reference;
    case 4: return alternate;
    case 5: return ancestralAllele;
    case 6: return id;
    case 7: return xrefs;
    case 8: return hgvs;
    case 9: return displayConsequenceType;
    case 10: return consequenceTypes;
    case 11: return populationFrequencies;
    case 12: return minorAllele;
    case 13: return minorAlleleFreq;
    case 14: return conservation;
    case 15: return geneExpression;
    case 16: return geneTraitAssociation;
    case 17: return geneDrugInteraction;
    case 18: return geneConstraints;
    case 19: return geneMirnaTargets;
    case 20: return geneCancerAssociations;
    case 21: return traitAssociation;
    case 22: return pharmacogenomics;
    case 23: return gwas;
    case 24: return cancerHotspots;
    case 25: return functionalScore;
    case 26: return cytoband;
    case 27: return repeat;
    case 28: return drugs;
    case 29: return additionalAttributes;
    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: chromosome = (java.lang.String)value$; break;
    case 1: start = (java.lang.Integer)value$; break;
    case 2: end = (java.lang.Integer)value$; break;
    case 3: reference = (java.lang.String)value$; break;
    case 4: alternate = (java.lang.String)value$; break;
    case 5: ancestralAllele = (java.lang.String)value$; break;
    case 6: id = (java.lang.String)value$; break;
    case 7: xrefs = (java.util.List)value$; break;
    case 8: hgvs = (java.util.List)value$; break;
    case 9: displayConsequenceType = (java.lang.String)value$; break;
    case 10: consequenceTypes = (java.util.List)value$; break;
    case 11: populationFrequencies = (java.util.List)value$; break;
    case 12: minorAllele = (java.lang.String)value$; break;
    case 13: minorAlleleFreq = (java.lang.Float)value$; break;
    case 14: conservation = (java.util.List)value$; break;
    case 15: geneExpression = (java.util.List)value$; break;
    case 16: geneTraitAssociation = (java.util.List)value$; break;
    case 17: geneDrugInteraction = (java.util.List)value$; break;
    case 18: geneConstraints = (java.util.List)value$; break;
    case 19: geneMirnaTargets = (java.util.List)value$; break;
    case 20: geneCancerAssociations = (java.util.List)value$; break;
    case 21: traitAssociation = (java.util.List)value$; break;
    case 22: pharmacogenomics = (java.util.List)value$; break;
    case 23: gwas = (java.util.List)value$; break;
    case 24: cancerHotspots = (java.util.List)value$; break;
    case 25: functionalScore = (java.util.List)value$; break;
    case 26: cytoband = (java.util.List)value$; break;
    case 27: repeat = (java.util.List)value$; break;
    case 28: drugs = (java.util.List)value$; break;
    case 29: additionalAttributes = (java.util.Map)value$; break;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /**
   * Gets the value of the 'chromosome' field.
   */
  public java.lang.String getChromosome() {
    return chromosome;
  }

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

  /**
   * Gets the value of the 'start' field.
   */
  public java.lang.Integer getStart() {
    return start;
  }

  /**
   * Sets the value of the 'start' field.
   * @param value the value to set.
   */
  public void setStart(java.lang.Integer value) {
    this.start = value;
  }

  /**
   * Gets the value of the 'end' field.
   */
  public java.lang.Integer getEnd() {
    return end;
  }

  /**
   * Sets the value of the 'end' field.
   * @param value the value to set.
   */
  public void setEnd(java.lang.Integer value) {
    this.end = value;
  }

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

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

  /**
   * Gets the value of the 'alternate' field.
   */
  public java.lang.String getAlternate() {
    return alternate;
  }

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

  /**
   * Gets the value of the 'ancestralAllele' field.
   */
  public java.lang.String getAncestralAllele() {
    return ancestralAllele;
  }

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

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

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

  /**
   * Gets the value of the 'xrefs' field.
   */
  public java.util.List getXrefs() {
    return xrefs;
  }

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

  /**
   * Gets the value of the 'hgvs' field.
   */
  public java.util.List getHgvs() {
    return hgvs;
  }

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

  /**
   * Gets the value of the 'displayConsequenceType' field.
   */
  public java.lang.String getDisplayConsequenceType() {
    return displayConsequenceType;
  }

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

  /**
   * Gets the value of the 'consequenceTypes' field.
   */
  public java.util.List getConsequenceTypes() {
    return consequenceTypes;
  }

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

  /**
   * Gets the value of the 'populationFrequencies' field.
   */
  public java.util.List getPopulationFrequencies() {
    return populationFrequencies;
  }

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

  /**
   * Gets the value of the 'minorAllele' field.
   */
  public java.lang.String getMinorAllele() {
    return minorAllele;
  }

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

  /**
   * Gets the value of the 'minorAlleleFreq' field.
   */
  public java.lang.Float getMinorAlleleFreq() {
    return minorAlleleFreq;
  }

  /**
   * Sets the value of the 'minorAlleleFreq' field.
   * @param value the value to set.
   */
  public void setMinorAlleleFreq(java.lang.Float value) {
    this.minorAlleleFreq = value;
  }

  /**
   * Gets the value of the 'conservation' field.
   */
  public java.util.List getConservation() {
    return conservation;
  }

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

  /**
   * Gets the value of the 'geneExpression' field.
   */
  public java.util.List getGeneExpression() {
    return geneExpression;
  }

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

  /**
   * Gets the value of the 'geneTraitAssociation' field.
   */
  public java.util.List getGeneTraitAssociation() {
    return geneTraitAssociation;
  }

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

  /**
   * Gets the value of the 'geneDrugInteraction' field.
   */
  public java.util.List getGeneDrugInteraction() {
    return geneDrugInteraction;
  }

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

  /**
   * Gets the value of the 'geneConstraints' field.
   */
  public java.util.List getGeneConstraints() {
    return geneConstraints;
  }

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

  /**
   * Gets the value of the 'geneMirnaTargets' field.
   */
  public java.util.List getGeneMirnaTargets() {
    return geneMirnaTargets;
  }

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

  /**
   * Gets the value of the 'geneCancerAssociations' field.
   */
  public java.util.List getGeneCancerAssociations() {
    return geneCancerAssociations;
  }

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

  /**
   * Gets the value of the 'traitAssociation' field.
   */
  public java.util.List getTraitAssociation() {
    return traitAssociation;
  }

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

  /**
   * Gets the value of the 'pharmacogenomics' field.
   */
  public java.util.List getPharmacogenomics() {
    return pharmacogenomics;
  }

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

  /**
   * Gets the value of the 'gwas' field.
   */
  public java.util.List getGwas() {
    return gwas;
  }

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

  /**
   * Gets the value of the 'cancerHotspots' field.
   */
  public java.util.List getCancerHotspots() {
    return cancerHotspots;
  }

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

  /**
   * Gets the value of the 'functionalScore' field.
   */
  public java.util.List getFunctionalScore() {
    return functionalScore;
  }

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

  /**
   * Gets the value of the 'cytoband' field.
   */
  public java.util.List getCytoband() {
    return cytoband;
  }

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

  /**
   * Gets the value of the 'repeat' field.
   */
  public java.util.List getRepeat() {
    return repeat;
  }

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

  /**
   * Gets the value of the 'drugs' field.
   */
  public java.util.List getDrugs() {
    return drugs;
  }

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

  /**
   * Gets the value of the 'additionalAttributes' field.
   */
  public java.util.Map getAdditionalAttributes() {
    return additionalAttributes;
  }

  /**
   * Sets the value of the 'additionalAttributes' field.
   * @param value the value to set.
   */
  public void setAdditionalAttributes(java.util.Map value) {
    this.additionalAttributes = value;
  }

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

    private java.lang.String chromosome;
    private java.lang.Integer start;
    private java.lang.Integer end;
    private java.lang.String reference;
    private java.lang.String alternate;
    private java.lang.String ancestralAllele;
    private java.lang.String id;
    private java.util.List xrefs;
    private java.util.List hgvs;
    private java.lang.String displayConsequenceType;
    private java.util.List consequenceTypes;
    private java.util.List populationFrequencies;
    private java.lang.String minorAllele;
    private java.lang.Float minorAlleleFreq;
    private java.util.List conservation;
    private java.util.List geneExpression;
    private java.util.List geneTraitAssociation;
    private java.util.List geneDrugInteraction;
    private java.util.List geneConstraints;
    private java.util.List geneMirnaTargets;
    private java.util.List geneCancerAssociations;
    private java.util.List traitAssociation;
    private java.util.List pharmacogenomics;
    private java.util.List gwas;
    private java.util.List cancerHotspots;
    private java.util.List functionalScore;
    private java.util.List cytoband;
    private java.util.List repeat;
    private java.util.List drugs;
    private java.util.Map additionalAttributes;

    /** Creates a new Builder */
    private Builder() {
      super(org.opencb.biodata.models.variant.avro.VariantAnnotation.SCHEMA$);
    }
    
    /** Creates a Builder by copying an existing Builder */
    private Builder(org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder other) {
      super(other);
      if (isValidValue(fields()[0], other.chromosome)) {
        this.chromosome = data().deepCopy(fields()[0].schema(), other.chromosome);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.start)) {
        this.start = data().deepCopy(fields()[1].schema(), other.start);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.end)) {
        this.end = data().deepCopy(fields()[2].schema(), other.end);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.reference)) {
        this.reference = data().deepCopy(fields()[3].schema(), other.reference);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.alternate)) {
        this.alternate = data().deepCopy(fields()[4].schema(), other.alternate);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.ancestralAllele)) {
        this.ancestralAllele = data().deepCopy(fields()[5].schema(), other.ancestralAllele);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.id)) {
        this.id = data().deepCopy(fields()[6].schema(), other.id);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.xrefs)) {
        this.xrefs = data().deepCopy(fields()[7].schema(), other.xrefs);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.hgvs)) {
        this.hgvs = data().deepCopy(fields()[8].schema(), other.hgvs);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.displayConsequenceType)) {
        this.displayConsequenceType = data().deepCopy(fields()[9].schema(), other.displayConsequenceType);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.consequenceTypes)) {
        this.consequenceTypes = data().deepCopy(fields()[10].schema(), other.consequenceTypes);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.populationFrequencies)) {
        this.populationFrequencies = data().deepCopy(fields()[11].schema(), other.populationFrequencies);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.minorAllele)) {
        this.minorAllele = data().deepCopy(fields()[12].schema(), other.minorAllele);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.minorAlleleFreq)) {
        this.minorAlleleFreq = data().deepCopy(fields()[13].schema(), other.minorAlleleFreq);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.conservation)) {
        this.conservation = data().deepCopy(fields()[14].schema(), other.conservation);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.geneExpression)) {
        this.geneExpression = data().deepCopy(fields()[15].schema(), other.geneExpression);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.geneTraitAssociation)) {
        this.geneTraitAssociation = data().deepCopy(fields()[16].schema(), other.geneTraitAssociation);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.geneDrugInteraction)) {
        this.geneDrugInteraction = data().deepCopy(fields()[17].schema(), other.geneDrugInteraction);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.geneConstraints)) {
        this.geneConstraints = data().deepCopy(fields()[18].schema(), other.geneConstraints);
        fieldSetFlags()[18] = true;
      }
      if (isValidValue(fields()[19], other.geneMirnaTargets)) {
        this.geneMirnaTargets = data().deepCopy(fields()[19].schema(), other.geneMirnaTargets);
        fieldSetFlags()[19] = true;
      }
      if (isValidValue(fields()[20], other.geneCancerAssociations)) {
        this.geneCancerAssociations = data().deepCopy(fields()[20].schema(), other.geneCancerAssociations);
        fieldSetFlags()[20] = true;
      }
      if (isValidValue(fields()[21], other.traitAssociation)) {
        this.traitAssociation = data().deepCopy(fields()[21].schema(), other.traitAssociation);
        fieldSetFlags()[21] = true;
      }
      if (isValidValue(fields()[22], other.pharmacogenomics)) {
        this.pharmacogenomics = data().deepCopy(fields()[22].schema(), other.pharmacogenomics);
        fieldSetFlags()[22] = true;
      }
      if (isValidValue(fields()[23], other.gwas)) {
        this.gwas = data().deepCopy(fields()[23].schema(), other.gwas);
        fieldSetFlags()[23] = true;
      }
      if (isValidValue(fields()[24], other.cancerHotspots)) {
        this.cancerHotspots = data().deepCopy(fields()[24].schema(), other.cancerHotspots);
        fieldSetFlags()[24] = true;
      }
      if (isValidValue(fields()[25], other.functionalScore)) {
        this.functionalScore = data().deepCopy(fields()[25].schema(), other.functionalScore);
        fieldSetFlags()[25] = true;
      }
      if (isValidValue(fields()[26], other.cytoband)) {
        this.cytoband = data().deepCopy(fields()[26].schema(), other.cytoband);
        fieldSetFlags()[26] = true;
      }
      if (isValidValue(fields()[27], other.repeat)) {
        this.repeat = data().deepCopy(fields()[27].schema(), other.repeat);
        fieldSetFlags()[27] = true;
      }
      if (isValidValue(fields()[28], other.drugs)) {
        this.drugs = data().deepCopy(fields()[28].schema(), other.drugs);
        fieldSetFlags()[28] = true;
      }
      if (isValidValue(fields()[29], other.additionalAttributes)) {
        this.additionalAttributes = data().deepCopy(fields()[29].schema(), other.additionalAttributes);
        fieldSetFlags()[29] = true;
      }
    }
    
    /** Creates a Builder by copying an existing VariantAnnotation instance */
    private Builder(org.opencb.biodata.models.variant.avro.VariantAnnotation other) {
            super(org.opencb.biodata.models.variant.avro.VariantAnnotation.SCHEMA$);
      if (isValidValue(fields()[0], other.chromosome)) {
        this.chromosome = data().deepCopy(fields()[0].schema(), other.chromosome);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.start)) {
        this.start = data().deepCopy(fields()[1].schema(), other.start);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.end)) {
        this.end = data().deepCopy(fields()[2].schema(), other.end);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.reference)) {
        this.reference = data().deepCopy(fields()[3].schema(), other.reference);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.alternate)) {
        this.alternate = data().deepCopy(fields()[4].schema(), other.alternate);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.ancestralAllele)) {
        this.ancestralAllele = data().deepCopy(fields()[5].schema(), other.ancestralAllele);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.id)) {
        this.id = data().deepCopy(fields()[6].schema(), other.id);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.xrefs)) {
        this.xrefs = data().deepCopy(fields()[7].schema(), other.xrefs);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.hgvs)) {
        this.hgvs = data().deepCopy(fields()[8].schema(), other.hgvs);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.displayConsequenceType)) {
        this.displayConsequenceType = data().deepCopy(fields()[9].schema(), other.displayConsequenceType);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.consequenceTypes)) {
        this.consequenceTypes = data().deepCopy(fields()[10].schema(), other.consequenceTypes);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.populationFrequencies)) {
        this.populationFrequencies = data().deepCopy(fields()[11].schema(), other.populationFrequencies);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.minorAllele)) {
        this.minorAllele = data().deepCopy(fields()[12].schema(), other.minorAllele);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.minorAlleleFreq)) {
        this.minorAlleleFreq = data().deepCopy(fields()[13].schema(), other.minorAlleleFreq);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.conservation)) {
        this.conservation = data().deepCopy(fields()[14].schema(), other.conservation);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.geneExpression)) {
        this.geneExpression = data().deepCopy(fields()[15].schema(), other.geneExpression);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.geneTraitAssociation)) {
        this.geneTraitAssociation = data().deepCopy(fields()[16].schema(), other.geneTraitAssociation);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.geneDrugInteraction)) {
        this.geneDrugInteraction = data().deepCopy(fields()[17].schema(), other.geneDrugInteraction);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.geneConstraints)) {
        this.geneConstraints = data().deepCopy(fields()[18].schema(), other.geneConstraints);
        fieldSetFlags()[18] = true;
      }
      if (isValidValue(fields()[19], other.geneMirnaTargets)) {
        this.geneMirnaTargets = data().deepCopy(fields()[19].schema(), other.geneMirnaTargets);
        fieldSetFlags()[19] = true;
      }
      if (isValidValue(fields()[20], other.geneCancerAssociations)) {
        this.geneCancerAssociations = data().deepCopy(fields()[20].schema(), other.geneCancerAssociations);
        fieldSetFlags()[20] = true;
      }
      if (isValidValue(fields()[21], other.traitAssociation)) {
        this.traitAssociation = data().deepCopy(fields()[21].schema(), other.traitAssociation);
        fieldSetFlags()[21] = true;
      }
      if (isValidValue(fields()[22], other.pharmacogenomics)) {
        this.pharmacogenomics = data().deepCopy(fields()[22].schema(), other.pharmacogenomics);
        fieldSetFlags()[22] = true;
      }
      if (isValidValue(fields()[23], other.gwas)) {
        this.gwas = data().deepCopy(fields()[23].schema(), other.gwas);
        fieldSetFlags()[23] = true;
      }
      if (isValidValue(fields()[24], other.cancerHotspots)) {
        this.cancerHotspots = data().deepCopy(fields()[24].schema(), other.cancerHotspots);
        fieldSetFlags()[24] = true;
      }
      if (isValidValue(fields()[25], other.functionalScore)) {
        this.functionalScore = data().deepCopy(fields()[25].schema(), other.functionalScore);
        fieldSetFlags()[25] = true;
      }
      if (isValidValue(fields()[26], other.cytoband)) {
        this.cytoband = data().deepCopy(fields()[26].schema(), other.cytoband);
        fieldSetFlags()[26] = true;
      }
      if (isValidValue(fields()[27], other.repeat)) {
        this.repeat = data().deepCopy(fields()[27].schema(), other.repeat);
        fieldSetFlags()[27] = true;
      }
      if (isValidValue(fields()[28], other.drugs)) {
        this.drugs = data().deepCopy(fields()[28].schema(), other.drugs);
        fieldSetFlags()[28] = true;
      }
      if (isValidValue(fields()[29], other.additionalAttributes)) {
        this.additionalAttributes = data().deepCopy(fields()[29].schema(), other.additionalAttributes);
        fieldSetFlags()[29] = true;
      }
    }

    /** Gets the value of the 'chromosome' field */
    public java.lang.String getChromosome() {
      return chromosome;
    }
    
    /** Sets the value of the 'chromosome' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setChromosome(java.lang.String value) {
      validate(fields()[0], value);
      this.chromosome = value;
      fieldSetFlags()[0] = true;
      return this; 
    }
    
    /** Checks whether the 'chromosome' field has been set */
    public boolean hasChromosome() {
      return fieldSetFlags()[0];
    }
    
    /** Clears the value of the 'chromosome' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearChromosome() {
      chromosome = null;
      fieldSetFlags()[0] = false;
      return this;
    }

    /** Gets the value of the 'start' field */
    public java.lang.Integer getStart() {
      return start;
    }
    
    /** Sets the value of the 'start' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setStart(java.lang.Integer value) {
      validate(fields()[1], value);
      this.start = value;
      fieldSetFlags()[1] = true;
      return this; 
    }
    
    /** Checks whether the 'start' field has been set */
    public boolean hasStart() {
      return fieldSetFlags()[1];
    }
    
    /** Clears the value of the 'start' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearStart() {
      start = null;
      fieldSetFlags()[1] = false;
      return this;
    }

    /** Gets the value of the 'end' field */
    public java.lang.Integer getEnd() {
      return end;
    }
    
    /** Sets the value of the 'end' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setEnd(java.lang.Integer value) {
      validate(fields()[2], value);
      this.end = value;
      fieldSetFlags()[2] = true;
      return this; 
    }
    
    /** Checks whether the 'end' field has been set */
    public boolean hasEnd() {
      return fieldSetFlags()[2];
    }
    
    /** Clears the value of the 'end' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearEnd() {
      end = null;
      fieldSetFlags()[2] = false;
      return this;
    }

    /** Gets the value of the 'reference' field */
    public java.lang.String getReference() {
      return reference;
    }
    
    /** Sets the value of the 'reference' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setReference(java.lang.String value) {
      validate(fields()[3], value);
      this.reference = value;
      fieldSetFlags()[3] = true;
      return this; 
    }
    
    /** Checks whether the 'reference' field has been set */
    public boolean hasReference() {
      return fieldSetFlags()[3];
    }
    
    /** Clears the value of the 'reference' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearReference() {
      reference = null;
      fieldSetFlags()[3] = false;
      return this;
    }

    /** Gets the value of the 'alternate' field */
    public java.lang.String getAlternate() {
      return alternate;
    }
    
    /** Sets the value of the 'alternate' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setAlternate(java.lang.String value) {
      validate(fields()[4], value);
      this.alternate = value;
      fieldSetFlags()[4] = true;
      return this; 
    }
    
    /** Checks whether the 'alternate' field has been set */
    public boolean hasAlternate() {
      return fieldSetFlags()[4];
    }
    
    /** Clears the value of the 'alternate' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearAlternate() {
      alternate = null;
      fieldSetFlags()[4] = false;
      return this;
    }

    /** Gets the value of the 'ancestralAllele' field */
    public java.lang.String getAncestralAllele() {
      return ancestralAllele;
    }
    
    /** Sets the value of the 'ancestralAllele' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setAncestralAllele(java.lang.String value) {
      validate(fields()[5], value);
      this.ancestralAllele = value;
      fieldSetFlags()[5] = true;
      return this; 
    }
    
    /** Checks whether the 'ancestralAllele' field has been set */
    public boolean hasAncestralAllele() {
      return fieldSetFlags()[5];
    }
    
    /** Clears the value of the 'ancestralAllele' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearAncestralAllele() {
      ancestralAllele = null;
      fieldSetFlags()[5] = 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.VariantAnnotation.Builder setId(java.lang.String value) {
      validate(fields()[6], value);
      this.id = value;
      fieldSetFlags()[6] = true;
      return this; 
    }
    
    /** Checks whether the 'id' field has been set */
    public boolean hasId() {
      return fieldSetFlags()[6];
    }
    
    /** Clears the value of the 'id' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearId() {
      id = null;
      fieldSetFlags()[6] = false;
      return this;
    }

    /** Gets the value of the 'xrefs' field */
    public java.util.List getXrefs() {
      return xrefs;
    }
    
    /** Sets the value of the 'xrefs' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setXrefs(java.util.List value) {
      validate(fields()[7], value);
      this.xrefs = value;
      fieldSetFlags()[7] = true;
      return this; 
    }
    
    /** Checks whether the 'xrefs' field has been set */
    public boolean hasXrefs() {
      return fieldSetFlags()[7];
    }
    
    /** Clears the value of the 'xrefs' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearXrefs() {
      xrefs = null;
      fieldSetFlags()[7] = false;
      return this;
    }

    /** Gets the value of the 'hgvs' field */
    public java.util.List getHgvs() {
      return hgvs;
    }
    
    /** Sets the value of the 'hgvs' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setHgvs(java.util.List value) {
      validate(fields()[8], value);
      this.hgvs = value;
      fieldSetFlags()[8] = true;
      return this; 
    }
    
    /** Checks whether the 'hgvs' field has been set */
    public boolean hasHgvs() {
      return fieldSetFlags()[8];
    }
    
    /** Clears the value of the 'hgvs' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearHgvs() {
      hgvs = null;
      fieldSetFlags()[8] = false;
      return this;
    }

    /** Gets the value of the 'displayConsequenceType' field */
    public java.lang.String getDisplayConsequenceType() {
      return displayConsequenceType;
    }
    
    /** Sets the value of the 'displayConsequenceType' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setDisplayConsequenceType(java.lang.String value) {
      validate(fields()[9], value);
      this.displayConsequenceType = value;
      fieldSetFlags()[9] = true;
      return this; 
    }
    
    /** Checks whether the 'displayConsequenceType' field has been set */
    public boolean hasDisplayConsequenceType() {
      return fieldSetFlags()[9];
    }
    
    /** Clears the value of the 'displayConsequenceType' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearDisplayConsequenceType() {
      displayConsequenceType = null;
      fieldSetFlags()[9] = false;
      return this;
    }

    /** Gets the value of the 'consequenceTypes' field */
    public java.util.List getConsequenceTypes() {
      return consequenceTypes;
    }
    
    /** Sets the value of the 'consequenceTypes' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setConsequenceTypes(java.util.List value) {
      validate(fields()[10], value);
      this.consequenceTypes = value;
      fieldSetFlags()[10] = true;
      return this; 
    }
    
    /** Checks whether the 'consequenceTypes' field has been set */
    public boolean hasConsequenceTypes() {
      return fieldSetFlags()[10];
    }
    
    /** Clears the value of the 'consequenceTypes' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearConsequenceTypes() {
      consequenceTypes = null;
      fieldSetFlags()[10] = false;
      return this;
    }

    /** Gets the value of the 'populationFrequencies' field */
    public java.util.List getPopulationFrequencies() {
      return populationFrequencies;
    }
    
    /** Sets the value of the 'populationFrequencies' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setPopulationFrequencies(java.util.List value) {
      validate(fields()[11], value);
      this.populationFrequencies = value;
      fieldSetFlags()[11] = true;
      return this; 
    }
    
    /** Checks whether the 'populationFrequencies' field has been set */
    public boolean hasPopulationFrequencies() {
      return fieldSetFlags()[11];
    }
    
    /** Clears the value of the 'populationFrequencies' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearPopulationFrequencies() {
      populationFrequencies = null;
      fieldSetFlags()[11] = false;
      return this;
    }

    /** Gets the value of the 'minorAllele' field */
    public java.lang.String getMinorAllele() {
      return minorAllele;
    }
    
    /** Sets the value of the 'minorAllele' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setMinorAllele(java.lang.String value) {
      validate(fields()[12], value);
      this.minorAllele = value;
      fieldSetFlags()[12] = true;
      return this; 
    }
    
    /** Checks whether the 'minorAllele' field has been set */
    public boolean hasMinorAllele() {
      return fieldSetFlags()[12];
    }
    
    /** Clears the value of the 'minorAllele' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearMinorAllele() {
      minorAllele = null;
      fieldSetFlags()[12] = false;
      return this;
    }

    /** Gets the value of the 'minorAlleleFreq' field */
    public java.lang.Float getMinorAlleleFreq() {
      return minorAlleleFreq;
    }
    
    /** Sets the value of the 'minorAlleleFreq' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setMinorAlleleFreq(java.lang.Float value) {
      validate(fields()[13], value);
      this.minorAlleleFreq = value;
      fieldSetFlags()[13] = true;
      return this; 
    }
    
    /** Checks whether the 'minorAlleleFreq' field has been set */
    public boolean hasMinorAlleleFreq() {
      return fieldSetFlags()[13];
    }
    
    /** Clears the value of the 'minorAlleleFreq' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearMinorAlleleFreq() {
      minorAlleleFreq = null;
      fieldSetFlags()[13] = false;
      return this;
    }

    /** Gets the value of the 'conservation' field */
    public java.util.List getConservation() {
      return conservation;
    }
    
    /** Sets the value of the 'conservation' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setConservation(java.util.List value) {
      validate(fields()[14], value);
      this.conservation = value;
      fieldSetFlags()[14] = true;
      return this; 
    }
    
    /** Checks whether the 'conservation' field has been set */
    public boolean hasConservation() {
      return fieldSetFlags()[14];
    }
    
    /** Clears the value of the 'conservation' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearConservation() {
      conservation = null;
      fieldSetFlags()[14] = false;
      return this;
    }

    /** Gets the value of the 'geneExpression' field */
    public java.util.List getGeneExpression() {
      return geneExpression;
    }
    
    /** Sets the value of the 'geneExpression' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setGeneExpression(java.util.List value) {
      validate(fields()[15], value);
      this.geneExpression = value;
      fieldSetFlags()[15] = true;
      return this; 
    }
    
    /** Checks whether the 'geneExpression' field has been set */
    public boolean hasGeneExpression() {
      return fieldSetFlags()[15];
    }
    
    /** Clears the value of the 'geneExpression' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearGeneExpression() {
      geneExpression = null;
      fieldSetFlags()[15] = false;
      return this;
    }

    /** Gets the value of the 'geneTraitAssociation' field */
    public java.util.List getGeneTraitAssociation() {
      return geneTraitAssociation;
    }
    
    /** Sets the value of the 'geneTraitAssociation' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setGeneTraitAssociation(java.util.List value) {
      validate(fields()[16], value);
      this.geneTraitAssociation = value;
      fieldSetFlags()[16] = true;
      return this; 
    }
    
    /** Checks whether the 'geneTraitAssociation' field has been set */
    public boolean hasGeneTraitAssociation() {
      return fieldSetFlags()[16];
    }
    
    /** Clears the value of the 'geneTraitAssociation' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearGeneTraitAssociation() {
      geneTraitAssociation = null;
      fieldSetFlags()[16] = false;
      return this;
    }

    /** Gets the value of the 'geneDrugInteraction' field */
    public java.util.List getGeneDrugInteraction() {
      return geneDrugInteraction;
    }
    
    /** Sets the value of the 'geneDrugInteraction' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setGeneDrugInteraction(java.util.List value) {
      validate(fields()[17], value);
      this.geneDrugInteraction = value;
      fieldSetFlags()[17] = true;
      return this; 
    }
    
    /** Checks whether the 'geneDrugInteraction' field has been set */
    public boolean hasGeneDrugInteraction() {
      return fieldSetFlags()[17];
    }
    
    /** Clears the value of the 'geneDrugInteraction' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearGeneDrugInteraction() {
      geneDrugInteraction = null;
      fieldSetFlags()[17] = false;
      return this;
    }

    /** Gets the value of the 'geneConstraints' field */
    public java.util.List getGeneConstraints() {
      return geneConstraints;
    }
    
    /** Sets the value of the 'geneConstraints' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setGeneConstraints(java.util.List value) {
      validate(fields()[18], value);
      this.geneConstraints = value;
      fieldSetFlags()[18] = true;
      return this; 
    }
    
    /** Checks whether the 'geneConstraints' field has been set */
    public boolean hasGeneConstraints() {
      return fieldSetFlags()[18];
    }
    
    /** Clears the value of the 'geneConstraints' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearGeneConstraints() {
      geneConstraints = null;
      fieldSetFlags()[18] = false;
      return this;
    }

    /** Gets the value of the 'geneMirnaTargets' field */
    public java.util.List getGeneMirnaTargets() {
      return geneMirnaTargets;
    }
    
    /** Sets the value of the 'geneMirnaTargets' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setGeneMirnaTargets(java.util.List value) {
      validate(fields()[19], value);
      this.geneMirnaTargets = value;
      fieldSetFlags()[19] = true;
      return this; 
    }
    
    /** Checks whether the 'geneMirnaTargets' field has been set */
    public boolean hasGeneMirnaTargets() {
      return fieldSetFlags()[19];
    }
    
    /** Clears the value of the 'geneMirnaTargets' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearGeneMirnaTargets() {
      geneMirnaTargets = null;
      fieldSetFlags()[19] = false;
      return this;
    }

    /** Gets the value of the 'geneCancerAssociations' field */
    public java.util.List getGeneCancerAssociations() {
      return geneCancerAssociations;
    }
    
    /** Sets the value of the 'geneCancerAssociations' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setGeneCancerAssociations(java.util.List value) {
      validate(fields()[20], value);
      this.geneCancerAssociations = value;
      fieldSetFlags()[20] = true;
      return this; 
    }
    
    /** Checks whether the 'geneCancerAssociations' field has been set */
    public boolean hasGeneCancerAssociations() {
      return fieldSetFlags()[20];
    }
    
    /** Clears the value of the 'geneCancerAssociations' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearGeneCancerAssociations() {
      geneCancerAssociations = null;
      fieldSetFlags()[20] = false;
      return this;
    }

    /** Gets the value of the 'traitAssociation' field */
    public java.util.List getTraitAssociation() {
      return traitAssociation;
    }
    
    /** Sets the value of the 'traitAssociation' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setTraitAssociation(java.util.List value) {
      validate(fields()[21], value);
      this.traitAssociation = value;
      fieldSetFlags()[21] = true;
      return this; 
    }
    
    /** Checks whether the 'traitAssociation' field has been set */
    public boolean hasTraitAssociation() {
      return fieldSetFlags()[21];
    }
    
    /** Clears the value of the 'traitAssociation' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearTraitAssociation() {
      traitAssociation = null;
      fieldSetFlags()[21] = false;
      return this;
    }

    /** Gets the value of the 'pharmacogenomics' field */
    public java.util.List getPharmacogenomics() {
      return pharmacogenomics;
    }
    
    /** Sets the value of the 'pharmacogenomics' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setPharmacogenomics(java.util.List value) {
      validate(fields()[22], value);
      this.pharmacogenomics = value;
      fieldSetFlags()[22] = true;
      return this; 
    }
    
    /** Checks whether the 'pharmacogenomics' field has been set */
    public boolean hasPharmacogenomics() {
      return fieldSetFlags()[22];
    }
    
    /** Clears the value of the 'pharmacogenomics' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearPharmacogenomics() {
      pharmacogenomics = null;
      fieldSetFlags()[22] = false;
      return this;
    }

    /** Gets the value of the 'gwas' field */
    public java.util.List getGwas() {
      return gwas;
    }
    
    /** Sets the value of the 'gwas' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setGwas(java.util.List value) {
      validate(fields()[23], value);
      this.gwas = value;
      fieldSetFlags()[23] = true;
      return this; 
    }
    
    /** Checks whether the 'gwas' field has been set */
    public boolean hasGwas() {
      return fieldSetFlags()[23];
    }
    
    /** Clears the value of the 'gwas' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearGwas() {
      gwas = null;
      fieldSetFlags()[23] = false;
      return this;
    }

    /** Gets the value of the 'cancerHotspots' field */
    public java.util.List getCancerHotspots() {
      return cancerHotspots;
    }
    
    /** Sets the value of the 'cancerHotspots' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setCancerHotspots(java.util.List value) {
      validate(fields()[24], value);
      this.cancerHotspots = value;
      fieldSetFlags()[24] = true;
      return this; 
    }
    
    /** Checks whether the 'cancerHotspots' field has been set */
    public boolean hasCancerHotspots() {
      return fieldSetFlags()[24];
    }
    
    /** Clears the value of the 'cancerHotspots' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearCancerHotspots() {
      cancerHotspots = null;
      fieldSetFlags()[24] = false;
      return this;
    }

    /** Gets the value of the 'functionalScore' field */
    public java.util.List getFunctionalScore() {
      return functionalScore;
    }
    
    /** Sets the value of the 'functionalScore' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setFunctionalScore(java.util.List value) {
      validate(fields()[25], value);
      this.functionalScore = value;
      fieldSetFlags()[25] = true;
      return this; 
    }
    
    /** Checks whether the 'functionalScore' field has been set */
    public boolean hasFunctionalScore() {
      return fieldSetFlags()[25];
    }
    
    /** Clears the value of the 'functionalScore' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearFunctionalScore() {
      functionalScore = null;
      fieldSetFlags()[25] = false;
      return this;
    }

    /** Gets the value of the 'cytoband' field */
    public java.util.List getCytoband() {
      return cytoband;
    }
    
    /** Sets the value of the 'cytoband' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setCytoband(java.util.List value) {
      validate(fields()[26], value);
      this.cytoband = value;
      fieldSetFlags()[26] = true;
      return this; 
    }
    
    /** Checks whether the 'cytoband' field has been set */
    public boolean hasCytoband() {
      return fieldSetFlags()[26];
    }
    
    /** Clears the value of the 'cytoband' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearCytoband() {
      cytoband = null;
      fieldSetFlags()[26] = false;
      return this;
    }

    /** Gets the value of the 'repeat' field */
    public java.util.List getRepeat() {
      return repeat;
    }
    
    /** Sets the value of the 'repeat' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setRepeat(java.util.List value) {
      validate(fields()[27], value);
      this.repeat = value;
      fieldSetFlags()[27] = true;
      return this; 
    }
    
    /** Checks whether the 'repeat' field has been set */
    public boolean hasRepeat() {
      return fieldSetFlags()[27];
    }
    
    /** Clears the value of the 'repeat' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearRepeat() {
      repeat = null;
      fieldSetFlags()[27] = false;
      return this;
    }

    /** Gets the value of the 'drugs' field */
    public java.util.List getDrugs() {
      return drugs;
    }
    
    /** Sets the value of the 'drugs' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setDrugs(java.util.List value) {
      validate(fields()[28], value);
      this.drugs = value;
      fieldSetFlags()[28] = true;
      return this; 
    }
    
    /** Checks whether the 'drugs' field has been set */
    public boolean hasDrugs() {
      return fieldSetFlags()[28];
    }
    
    /** Clears the value of the 'drugs' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearDrugs() {
      drugs = null;
      fieldSetFlags()[28] = false;
      return this;
    }

    /** Gets the value of the 'additionalAttributes' field */
    public java.util.Map getAdditionalAttributes() {
      return additionalAttributes;
    }
    
    /** Sets the value of the 'additionalAttributes' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder setAdditionalAttributes(java.util.Map value) {
      validate(fields()[29], value);
      this.additionalAttributes = value;
      fieldSetFlags()[29] = true;
      return this; 
    }
    
    /** Checks whether the 'additionalAttributes' field has been set */
    public boolean hasAdditionalAttributes() {
      return fieldSetFlags()[29];
    }
    
    /** Clears the value of the 'additionalAttributes' field */
    public org.opencb.biodata.models.variant.avro.VariantAnnotation.Builder clearAdditionalAttributes() {
      additionalAttributes = null;
      fieldSetFlags()[29] = false;
      return this;
    }

    @Override
    public VariantAnnotation build() {
      try {
        VariantAnnotation record = new VariantAnnotation();
        record.chromosome = fieldSetFlags()[0] ? this.chromosome : (java.lang.String) defaultValue(fields()[0]);
        record.start = fieldSetFlags()[1] ? this.start : (java.lang.Integer) defaultValue(fields()[1]);
        record.end = fieldSetFlags()[2] ? this.end : (java.lang.Integer) defaultValue(fields()[2]);
        record.reference = fieldSetFlags()[3] ? this.reference : (java.lang.String) defaultValue(fields()[3]);
        record.alternate = fieldSetFlags()[4] ? this.alternate : (java.lang.String) defaultValue(fields()[4]);
        record.ancestralAllele = fieldSetFlags()[5] ? this.ancestralAllele : (java.lang.String) defaultValue(fields()[5]);
        record.id = fieldSetFlags()[6] ? this.id : (java.lang.String) defaultValue(fields()[6]);
        record.xrefs = fieldSetFlags()[7] ? this.xrefs : (java.util.List) defaultValue(fields()[7]);
        record.hgvs = fieldSetFlags()[8] ? this.hgvs : (java.util.List) defaultValue(fields()[8]);
        record.displayConsequenceType = fieldSetFlags()[9] ? this.displayConsequenceType : (java.lang.String) defaultValue(fields()[9]);
        record.consequenceTypes = fieldSetFlags()[10] ? this.consequenceTypes : (java.util.List) defaultValue(fields()[10]);
        record.populationFrequencies = fieldSetFlags()[11] ? this.populationFrequencies : (java.util.List) defaultValue(fields()[11]);
        record.minorAllele = fieldSetFlags()[12] ? this.minorAllele : (java.lang.String) defaultValue(fields()[12]);
        record.minorAlleleFreq = fieldSetFlags()[13] ? this.minorAlleleFreq : (java.lang.Float) defaultValue(fields()[13]);
        record.conservation = fieldSetFlags()[14] ? this.conservation : (java.util.List) defaultValue(fields()[14]);
        record.geneExpression = fieldSetFlags()[15] ? this.geneExpression : (java.util.List) defaultValue(fields()[15]);
        record.geneTraitAssociation = fieldSetFlags()[16] ? this.geneTraitAssociation : (java.util.List) defaultValue(fields()[16]);
        record.geneDrugInteraction = fieldSetFlags()[17] ? this.geneDrugInteraction : (java.util.List) defaultValue(fields()[17]);
        record.geneConstraints = fieldSetFlags()[18] ? this.geneConstraints : (java.util.List) defaultValue(fields()[18]);
        record.geneMirnaTargets = fieldSetFlags()[19] ? this.geneMirnaTargets : (java.util.List) defaultValue(fields()[19]);
        record.geneCancerAssociations = fieldSetFlags()[20] ? this.geneCancerAssociations : (java.util.List) defaultValue(fields()[20]);
        record.traitAssociation = fieldSetFlags()[21] ? this.traitAssociation : (java.util.List) defaultValue(fields()[21]);
        record.pharmacogenomics = fieldSetFlags()[22] ? this.pharmacogenomics : (java.util.List) defaultValue(fields()[22]);
        record.gwas = fieldSetFlags()[23] ? this.gwas : (java.util.List) defaultValue(fields()[23]);
        record.cancerHotspots = fieldSetFlags()[24] ? this.cancerHotspots : (java.util.List) defaultValue(fields()[24]);
        record.functionalScore = fieldSetFlags()[25] ? this.functionalScore : (java.util.List) defaultValue(fields()[25]);
        record.cytoband = fieldSetFlags()[26] ? this.cytoband : (java.util.List) defaultValue(fields()[26]);
        record.repeat = fieldSetFlags()[27] ? this.repeat : (java.util.List) defaultValue(fields()[27]);
        record.drugs = fieldSetFlags()[28] ? this.drugs : (java.util.List) defaultValue(fields()[28]);
        record.additionalAttributes = fieldSetFlags()[29] ? this.additionalAttributes : (java.util.Map) defaultValue(fields()[29]);
        return record;
      } catch (Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy