use of org.molgenis.data.annotation.core.entity.EntityAnnotator in project molgenis by molgenis.
the class ClinvarAnnotator method init.
@Override
public void init() {
List<Attribute> attributes = createClinvarOutputAttributes();
AnnotatorInfo clinvarInfo = AnnotatorInfo.create(Status.READY, AnnotatorInfo.Type.PATHOGENICITY_ESTIMATE, NAME, " ClinVar is a freely accessible, public archive of reports of the relationships" + " among human variations and phenotypes, with supporting evidence. ClinVar thus facilitates" + " access to and communication about the relationships asserted between human variation and " + "observed health status, and the history of that interpretation. ClinVar collects reports " + "of variants found in patient samples, assertions made regarding their clinical significance, " + "information about the submitter, and other supporting data. The alleles described in submissions " + "are mapped to reference sequences, and reported according to the HGVS standard. ClinVar then " + "presents the data for interactive users as well as those wishing to use ClinVar in daily " + "workflows and other local applications. ClinVar works in collaboration with interested " + "organizations to meet the needs of the medical genetics community as efficiently and effectively " + "as possible. Information about using ClinVar is available at: http://www.ncbi.nlm.nih.gov/clinvar/docs/help/.", attributes);
LocusQueryCreator locusQueryCreator = new LocusQueryCreator(vcfAttributes);
ClinvarMultiAllelicResultFilter clinvarMultiAllelicResultFilter = new ClinvarMultiAllelicResultFilter(vcfAttributes);
EntityAnnotator entityAnnotator = new AbstractAnnotator(CLINVAR_TABIX_RESOURCE, clinvarInfo, locusQueryCreator, clinvarMultiAllelicResultFilter, dataService, resources, new SingleFileLocationCmdLineAnnotatorSettingsConfigurer(CLINVAR_LOCATION, clinvarAnnotatorSettings)) {
@Override
public List<Attribute> createAnnotatorAttributes(AttributeFactory attributeFactory) {
return createClinvarOutputAttributes();
}
@Override
protected Object getResourceAttributeValue(Attribute attr, Entity sourceEntity) {
String attrName;
if (CLINVAR_CLNSIG.equals(attr.getName())) {
attrName = CLINVAR_CLNSIG_ResourceAttributeName;
} else if (CLINVAR_CLNALLE.equals(attr.getName())) {
attrName = CLINVAR_CLINALL_ResourceAttributeName;
} else {
attrName = attr.getName();
}
return sourceEntity.get(attrName);
}
};
annotator.init(entityAnnotator);
}
use of org.molgenis.data.annotation.core.entity.EntityAnnotator in project molgenis by molgenis.
the class OmimAnnotator method init.
@Override
public void init() {
List<Attribute> attributes = createOmimOutputAttributes();
AnnotatorInfo omimInfo = AnnotatorInfo.create(AnnotatorInfo.Status.READY, AnnotatorInfo.Type.PHENOTYPE_ASSOCIATION, NAME, "OMIM is a comprehensive, authoritative compendium of human genes and genetic phenotypes that is " + "freely available and updated daily. The full-text, referenced overviews in OMIM contain information on all " + "known mendelian disorders and over 15,000 genes. OMIM focuses on the relationship between phenotype and genotype.", attributes);
EntityAnnotator entityAnnotator = new AbstractAnnotator(OMIM_RESOURCE, omimInfo, geneNameQueryCreator, new OmimResultFilter(entityTypeFactory, this), dataService, resources, new SingleFileLocationCmdLineAnnotatorSettingsConfigurer(OMIM_LOCATION, omimAnnotatorSettings)) {
@Override
public List<Attribute> createAnnotatorAttributes(AttributeFactory attributeFactory) {
return createOmimOutputAttributes();
}
};
annotator.init(entityAnnotator);
}
use of org.molgenis.data.annotation.core.entity.EntityAnnotator in project molgenis by molgenis.
the class GoNLAnnotator method init.
@Override
public void init() {
List<Attribute> attributes = createGoNlOutputAttributes();
AnnotatorInfo thousandGenomeInfo = AnnotatorInfo.create(AnnotatorInfo.Status.READY, AnnotatorInfo.Type.POPULATION_REFERENCE, NAME, "What genetic variation is to be found in the Dutch indigenous population? " + "Detailed knowledge about this is not only interesting in itself, " + "it also helps to extract useful biomedical information from Dutch biobanks. " + "The Dutch biobank collaboration BBMRI-NL has initiated the extensive Rainbow Project “Genome of the Netherlands” (GoNL) " + "because it offers unique opportunities for science and for the development of new treatments and diagnostic techniques. " + "A close-up look at the DNA of 750 Dutch people-250 trio’s of two parents and an adult child-plus a " + "global genetic profile of large numbers of Dutch will disclose a wealth of new information, new insights, " + "and possible applications.", attributes);
LocusQueryCreator locusQueryCreator = new LocusQueryCreator(vcfAttributes);
EntityAnnotator entityAnnotator = new QueryAnnotatorImpl(GONL_MULTI_FILE_RESOURCE, thousandGenomeInfo, locusQueryCreator, dataService, resources, (annotationSourceFileName) -> {
goNLAnnotatorSettings.set(ROOT_DIRECTORY, annotationSourceFileName);
goNLAnnotatorSettings.set(FILEPATTERN, "gonl.chr%s.snps_indels.r5.vcf.gz");
goNLAnnotatorSettings.set(OVERRIDE_CHROMOSOME_FILES, "X:gonl.chrX.release4.gtc.vcf.gz");
goNLAnnotatorSettings.set(CHROMOSOMES, "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,X");
}) {
@Override
public List<Attribute> createAnnotatorAttributes(AttributeFactory attributeFactory) {
return createGoNlOutputAttributes();
}
@Override
protected void processQueryResults(Entity entity, Iterable<Entity> annotationSourceEntities, boolean updateMode) {
if (updateMode) {
throw new MolgenisDataException("This annotator/filter does not support updating of values");
}
List<Entity> refMatches = determineRefMatches(entity, annotationSourceEntities);
setGoNLFrequencies(entity, refMatches);
}
};
annotator.init(entityAnnotator);
}
use of org.molgenis.data.annotation.core.entity.EntityAnnotator in project molgenis by molgenis.
the class DannAnnotator method init.
@Override
public void init() {
List<Attribute> attributes = createDannOutputAttributes();
AnnotatorInfo dannInfo = AnnotatorInfo.create(AnnotatorInfo.Status.READY, AnnotatorInfo.Type.PATHOGENICITY_ESTIMATE, NAME, "Annotating genetic variants, especially non-coding variants, " + "for the purpose of identifying pathogenic variants remains a challenge." + " Combined annotation-dependent depletion (CADD) is an al- gorithm designed " + "to annotate both coding and non-coding variants, and has been shown to outper- form " + "other annotation algorithms. CADD trains a linear kernel support vector machine (SVM) " + "to dif- ferentiate evolutionarily derived, likely benign, alleles from simulated, " + "likely deleterious, variants. However, SVMs cannot capture non-linear relationships" + " among the features, which can limit performance. To address this issue, we have" + " developed DANN. DANN uses the same feature set and training data as CADD to train" + " a deep neural network (DNN). DNNs can capture non-linear relation- ships among " + "features and are better suited than SVMs for problems with a large number of samples " + "and features. We exploit Compute Unified Device Architecture-compatible " + "graphics processing units and deep learning techniques such as dropout and momentum " + "training to accelerate the DNN training. DANN achieves about a 19%relative reduction " + "in the error rate and about a 14%relative increase in the area under the curve (AUC) metric " + "over CADD’s SVM methodology. " + "All data and source code are available at https://cbcl.ics.uci.edu/ public_data/DANN/.", attributes);
EntityAnnotator entityAnnotator = new AbstractAnnotator(DANN_TABIX_RESOURCE, dannInfo, new LocusQueryCreator(vcfAttributes), new MultiAllelicResultFilter(attributes, vcfAttributes), dataService, resources, new SingleFileLocationCmdLineAnnotatorSettingsConfigurer(DANN_LOCATION, dannAnnotatorSettings)) {
@Override
public List<Attribute> createAnnotatorAttributes(AttributeFactory attributeFactory) {
return createDannOutputAttributes();
}
};
annotator.init(entityAnnotator);
}
use of org.molgenis.data.annotation.core.entity.EntityAnnotator in project molgenis by molgenis.
the class ThousandGenomesAnnotator method init.
@Override
public void init() {
List<Attribute> attributes = createThousandGenomesOutputAttributes();
AnnotatorInfo thousandGenomeInfo = AnnotatorInfo.create(Status.READY, AnnotatorInfo.Type.POPULATION_REFERENCE, NAME, "The 1000 Genomes Project is an international collaboration to produce an " + "extensive public catalog of human genetic variation, including SNPs and structural variants, " + "and their haplotype contexts. This resource will support genome-wide association studies and other " + "medical research studies. " + "The genomes of about 2500 unidentified people from about 25 populations around the world will be" + "sequenced using next-generation sequencing technologies. " + "The results of the study will be freely and publicly accessible to researchers worldwide. " + "Further information about the project is available in the About tab. Information about downloading, " + "browsing or using the 1000 Genomes data is available at: http://www.1000genomes.org/ ", attributes);
LocusQueryCreator locusQueryCreator = new LocusQueryCreator(vcfAttributes);
MultiAllelicResultFilter multiAllelicResultFilter = new MultiAllelicResultFilter(singletonList(attributeFactory.create().setName(THOUSAND_GENOME_AF_RESOURCE_ATTRIBUTE_NAME).setDataType(DECIMAL)), vcfAttributes);
EntityAnnotator entityAnnotator = new AbstractAnnotator(THOUSAND_GENOME_MULTI_FILE_RESOURCE, thousandGenomeInfo, locusQueryCreator, multiAllelicResultFilter, dataService, resources, (annotationSourceFileName) -> {
thousendGenomesAnnotatorSettings.set(ROOT_DIRECTORY, annotationSourceFileName);
thousendGenomesAnnotatorSettings.set(FILEPATTERN, "ALL.chr%s.phase3_shapeit2_mvncall_integrated_v5.20130502.genotypes.vcf.gz");
thousendGenomesAnnotatorSettings.set(CHROMOSOMES, "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22");
}) {
@Override
public List<Attribute> createAnnotatorAttributes(AttributeFactory attributeFactory) {
return createThousandGenomesOutputAttributes();
}
@Override
protected Object getResourceAttributeValue(Attribute attr, Entity entityType) {
String attrName = THOUSAND_GENOME_AF.equals(attr.getName()) ? THOUSAND_GENOME_AF_RESOURCE_ATTRIBUTE_NAME : attr.getName();
return entityType.get(attrName);
}
};
annotator.init(entityAnnotator);
}
Aggregations