package org.molgenis.data.annotation.core.entity; import com.google.auto.value.AutoValue; import org.molgenis.data.meta.model.Attribute; import java.util.List; /** * Informatin about an {@link Annotator} * * @author fkelpin */ @AutoValue public abstract class AnnotatorInfo { public enum Status { READY, BETA, INDEV, UNKNOWN } public enum Type { EFFECT_PREDICTION, AUTOMATED_PROTOCOL, PATHOGENICITY_ESTIMATE, POPULATION_REFERENCE, PHENOTYPE_ASSOCIATION, GENOMIC_FEATURE, UNUSED, UNKNOWN } public abstract Status getStatus(); public abstract Type getType(); public abstract String getCode(); public abstract String getDescription(); public abstract List<Attribute> getOutputAttributes(); public static AnnotatorInfo create(Status status, Type type, String code, String description, List<Attribute> outputAttributes) { return new AutoValue_AnnotatorInfo(status, type, code, description, outputAttributes); } } /** * Effect predictions & gene names: snpeff Automated protocols: monogenic denovo Pathogenicity estimates & calibration: * cadd dann fitcon ccgg Population references: gonl 1kg exac vkgl Phenotype associations: cgd hpo omim phewascatalog * gwascatalog clinvar phenomizer Genomic features: ase proteinatlas vistaenhancers splicingcode Unused: kegg cosmic * dbnsfp * <p> * Bron heeft Chrom Pos en evt Ref Alt * <p> * Wordt altijd weer 1 rij * <p> * Tabix metadata kan in principe uit de file komen, zie VCFRepository * <p> * CADD: Query op Chrom/Pos, Post-Process de resultaten m.b.v. Ref/Alts, Dan moet het er 0 of 1 zijn. * <p> * 1000G: Query op Chrom/Pos, Parse de INFO kolom, Post-Process de resultaten m.b.v. Ref/Alts. Dan moet het er 0 of 1 * zijn. * <p> * GoNL : Query op Chrom/Pos, Parse de INFO kolom, Post-Process de resultaten m.b.v. Ref/Alts. Dan moet het er 0 of 1 * zijn. * <p> * ClinVar: Query op Chrom/Pos, Parse de INFO kolom, Post-Process de resultaten m.b.v. Ref/Alts. Dan moet het er 0 of 1 * zijn. * <p> * ExAC: Query op Chrom/Pos, Parse de INFO kolom, Post-Process de resultaten m.b.v. Ref/Alts (doet iets met MAF). Dan * moet het er 0 of 1 zijn. */