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

avro.variantAnnotation.avdl Maven / Gradle / Ivy

The newest version!

@namespace("org.opencb.biodata.models.variant.avro")

protocol VariantAnnotations {

    import idl "evidence.avdl";

    // DEPRECATED: to be removed next release
    @javaAnnotation("Deprecated")
    enum ExpressionCall {UP, DOWN}

    record GeneDrugInteraction {
        union { null, string } geneName;
        union { null, string } drugName;
        union { null, string } source;
        union { null, string } studyType;
        union { null, string } type;
        union { null, string } interactionType;
        union { null, string } chemblId;
        union { null, array } publications;
    }

    record Expression {
        union { null, string } geneName;
        union { null, string } transcriptId;
        union { null, string } experimentalFactor;
        union { null, string } factorValue;        
        union { null, string } experimentId;
        union { null, string } technologyPlatform;        
        union { null, ExpressionCall} expression;
        union { null, float } pvalue;
    }

    record Constraint {
        union { null, string } source;
        union { null, string } method;
        union { null, string } name;
        union { null, double } value;
    }

    record GeneMirnaTarget {
        union { null, string } id;
        union { null, string } name;
        union { null, string } biotype;
    }

    record GeneTraitAssociation {
        string id;
        string name;
        union { null, string } hpo;
        union { null, float } score;
        union { null, int } numberOfPubmeds;
        union { null, array } associationTypes;
        union { null, array } sources;
        string source;
    }

    record PopulationFrequency {
        string study;
        string population;
        string refAllele;
        string altAllele;
        float refAlleleFreq;
        float altAlleleFreq;
        union { null, int } refAlleleCount;
        union { null, int } altAlleleCount;
        union { null, float } refHomGenotypeFreq;
        union { null, float } hetGenotypeFreq;
        union { null, float } altHomGenotypeFreq;
        union { null, int } refHomGenotypeCount;
        union { null, int } hetGenotypeCount;
        union { null, int } altHomGenotypeCount;
    }

    record SequenceOntologyTerm {
        string accession;
        string name;
    }

    record ProteinFeature {
        union { null, string } id;
        int start;
        int end;
        union { null, string } type;
        union { null, string } description;
    }

    record Score {
        double score;
        string source;
        union { null, string } description;
    }

    record ProteinVariantAnnotation {
        union { null, string } uniprotAccession = null;
        union { null, string } uniprotName = null;
        union { null, string } proteinId = null;    // Ensembl or RefSeq protein ID
        union { null, int } position;
        union { null, string } reference;
        union { null, string } alternate;
        union { null, string } uniprotVariantId;
        union { null, string } functionalDescription;
        union { null, array } substitutionScores;
        union { null, array } keywords;
        union { null, array } features;
    }

    record ExonOverlap {
        union { null, string } number;
        union { null, float } percentage;
    }

    record SpliceScores {
        string source;
        map scores;
    }
    record ConsequenceType {
        union { null, string } geneId;
        union { null, string } geneName;

        // DEPRECATED: duplicate of geneId, to be removed next release
        @javaAnnotation("Deprecated")
        union { null, string } ensemblGeneId;
        // DEPRECATED: duplicate of transcriptId, to be removed next release
        @javaAnnotation("Deprecated")
        union { null, string } ensemblTranscriptId;

        union { null, string } transcriptId;    // Ensembl or RefSeq ID depending on field 'source'

        union { null, array } hgvs;

        union { null, string } strand;
        union { null, string } biotype;
        union { null, string } source;
        union { null, array } exonOverlap;

        union { null, array } spliceScores;

        // DEPRECATED: replaced by transcriptFlags
        //@javaAnnotation("Deprecated")
        //union { null, array } transcriptAnnotationFlags;

        union { null, array } transcriptFlags;
        union { null, int } cdnaPosition;
        union { null, int } cdsPosition;
        union { null, string } codon;
        union { null, ProteinVariantAnnotation } proteinVariantAnnotation;
        array sequenceOntologyTerms;
    }

    record Xref {
        union { null, string } id;
        union { null, string } source;
    }

    record Cytoband {
        union { null, string } chromosome;
        union { null, string } stain;
        union { null, string } name;
        union { null, int } start;
        union { null, int } end;
    }

    record Repeat {
        union { null, string } id;
        union { null, string } chromosome;
        union { null, int } start;
        union { null, int } end;
        union { null, int } period;
        union { null, int } consensusSize;
        union { null, float } copyNumber;
        union { null, float } percentageMatch;
        union { null, float } score;
        union { null, string } sequence;
        union { null, string } source;
    }

    record Drug {
        union { null, string } therapeuticContext;
        union { null, string } pathway;
        union { null, string } effect;
        union { null, string } association;
        union { null, string } status;
        union { null, string } evidence;
        union { null, array } bibliography;
    }

    record PharmacogenomicsAlleles {
        union { null, string } allele;
        union { null, string } annotation;
        union { null, string } description;
    }

    record PharmacogenomicsClinicalAnnotation {
        union { null, string } variantId;
        union { null, array } geneNames;
        union { null, array } phenotypes;
        union { null, array } phenotypeTypes;
        union { null, string } confidence;
        union { null, string } score;
        union { null, string } url;
        union { null, string } summary;
        union { null, array } pubmed;
        union { null, array } alleles;
    }

    record Pharmacogenomics {
        union { null, string } id;
        union { null, string } name;
        union { null, string } source;
        union { null, array } types;
        union { null, string } smiles;
        union { null, string } inChI;
        union { null, array } annotations;
    }

    record GeneCancerAssociation {
        union { null, string } id;
        union { null, string } source;
        union { null, string } tier;
        union { null, boolean } somatic;
        union { null, boolean } germline;
        union { null, array } somaticTumourTypes;
        union { null, array } germlineTumourTypes;
        union { null, array } syndromes;
        union { null, array } tissues;
        union { null, array } modeOfInheritance;
        union { null, array } roleInCancer;
        union { null, array } mutationTypes;
        union { null, array } translocationPartners;
    }

    record GwasAssociationStudyTraitScores {
        union { null, double } pValue;
        union { null, double } pValueMlog;
        union { null, string } pValueText;
        union { null, double } orBeta;
        union { null, string } percentCI;
    }

    record OntologyTermAnnotation {
        union { null, string } id;
        union { null, string } name;
        union { null, string } description;
        union { null, string } source;
        union { null, string } url;
        union { null, map } attributes;
    }

    record GwasAssociationStudyTrait {
        union { null, string } diseaseTrait;
        union { null, array } strongestSnpRiskAllele;
        union { null, array } ontologies;
        union { null, array } scores;
    }

    record GwasAssociationStudy {
        union { null, string } pubmedid;
        union { null, string } study;
        union { null, string } studyAccession;
        union { null, string } initialSampleSizeDescription;
        union { null, int } initialSampleSize;
        union { null, string } platform;
        union { null, string } genotypingTechnology;
        union { null, array } traits;
    }

    record GwasAssociation {
        union { null, string } source;
        union { null, string } region;
        union { null, string } snpId;
        union { null, string } riskAllele;
        union { null, double } riskAlleleFrequency;
        union { null, array } studies;
    }

    record CancerHotspotAlternateAnnotation {
        union { null, string } aminoacidAlternate;
        union { null, int } count;
        union { null, map } sampleCount;
    }

    record CancerHotspotVariantAnnotation {
        union { null, string } geneName;
        union { null, string } proteinId;
        union { null, int } aminoacidPosition;
        union { null, string } aminoacidReference;
        union { null, string } cancerType;
        union { null, map } scores;
        union { null, map } cancerTypeCount;
        union { null, map } organCount;
        union { null, array } variants;
        union { null, string } source;
    }

    record AdditionalAttribute {
        map attribute;
    }

    record VariantAnnotation {
        union { null, string } chromosome;
        union { null, int } start;
        union { null, int } end;
        union { null, string } reference;
        union { null, string } alternate;

        // DEPRECATED: to be removed next release
        @javaAnnotation("Deprecated")
        union { null, string } ancestralAllele;

        union { null, string } id;
        union { null, array } xrefs;
        union { null, array } hgvs;
        union { null, string } displayConsequenceType;
        array consequenceTypes = [];
        union { null, array } populationFrequencies;
        union { null, string } minorAllele;
        union { null, float } minorAlleleFreq;
        union { null, array } conservation;

        // DEPRECATED: to be removed next release
        @javaAnnotation("Deprecated")
        union { null, array } geneExpression;

        union { null, array } geneTraitAssociation;
        union { null, array } geneDrugInteraction;
        union { null, array } geneConstraints;
        union { null, array } geneMirnaTargets;
        union { null, array } geneCancerAssociations;
        union { null, array } traitAssociation;
        union { null, array } pharmacogenomics;
        union { null, array } gwas;
        union { null, array } cancerHotspots;
        union { null, array } functionalScore;
        union { null, array } cytoband;
        union { null, array } repeat;
        union { null, array } drugs;
        union { null, map } additionalAttributes = null;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy