Giter Site home page Giter Site logo

obophenotype / zebrafish-phenotype-ontology-build Goto Github PK

View Code? Open in Web Editor NEW
2.0 6.0 1.0 33.55 MB

:fish: Zebrafish Phenotype Ontology: Build Tools (OBSOLETE)

License: BSD 3-Clause "New" or "Revised" License

Shell 2.01% Java 97.99%
ontology phenotype-ontologies hpo zebrafish-phenotypes zebrafish phenotype phenomics phenotypes phenotyping

zebrafish-phenotype-ontology-build's Introduction

Introduction

There are many phenotype ontologies available. For instance the Human Phenotype Ontology (HPO) is intended to provide a structured vocabulary of phenotypic abnormalities. Terms of phenotype ontologies can be associated to individuals, diseases, genes, SNPs, etc., depending on the resolution of available data and application. In contrast to the pre-composition approach, in which terms are explicitly created like in the HPO and MPO, the zebrafish community describes phenotypes of zebrafish genes using a strict pattern of terms originating from low-level ontologies (post-composition).

In order to allow existing algorithm and tools (semantic similarity, enrichment, etc.) to take advantage of this data as well, it is useful to separate the phenotypic concepts from the actual annotations. This project is an attempt in doing so.

Details

We create an ontology of zebrafish phenotypes obtained from http://zfin.org/downloads

  • Building up the axioms
    • EQ approach
    • Preserve IDs by loading previously generated axioms

Usage

This project is used as part of the Monarch Initiative (http://monarchinitiative.org) and for the construction of the Uberpheno (see http://f1000research.com/articles/2-30)

zebrafish-phenotype-ontology-build's People

Contributors

balhoff avatar drseb avatar sba1 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

balhoff

zebrafish-phenotype-ontology-build's Issues

How to deal with deprecated terms in reference ontologies?

The following classes are used across ZP, but are obsoleted/deprecated:

What should happen to the phenotypes? Note that only some of them are in the ZFIN annotations; some are in the current manual intermediate layer.

@drseb

BSPO_0000101
GO_0000046
GO_0004872
GO_0005578
GO_0005605
GO_0006200
GO_0007067
GO_0008002
GO_0008003
GO_0008105
GO_0015992
GO_0016023
GO_0016265
GO_0016271
GO_0016337
GO_0021865
GO_0021867
GO_0031512
GO_0031513
GO_0040023
GO_0042384
GO_0042516
GO_0043205
GO_0043206
GO_0071436
GO_0072372
GO_0090002
GO_0097369
GO_2001273
GO_2001274
GO_2001275
ZFA_0000283
ZFA_0005182

ZFIN raw data has not anticipated use of 'BSPO:0000120' (121) (in left/right side of)

In 'Phenotype of Zebrafish Genes' dataset (https://zfin.org/downloads/phenoGeneCleanData_fish.txt), ZFIN annotates a few genes using BSPO:0000120 (in left side of) and the respective 'in right side of'. Both BSPO identifiers refer to object properties, not classes; ZPGen assumes the column contains classes. Question to @ybradford : These are only a handful of records; is it possible that the intention was to use BSPO:0000000 (left side) or BSPO:0000007 (right side) instead?

/data $ wget https://zfin.org/downloads/phenoGeneCleanData_fish.txt
/data $ grep BSPO:0000120 phenoGeneCleanData_fish.txt 
169650585	ephb4b	ZDB-GENE-990415-65	BSPO:0000120	in_left_side_of	BFO:0000050	part_of	ZFA:0000121	lateral plate mesoderm	PATO:0000462	absent	abnormal							ZDB-FISH-161209-1	TU + MO2-ephb4b	ZDB-STAGE-010723-16	ZDB-STAGE-010723-16	ZDB-GENOX-161209-3	ZDB-PUB-160612-7	ZDB-FIG-160818-15
169657538	klf8	ZDB-GENE-070424-152	BSPO:0000120	in_left_side_of	BFO:0000050	part_of	ZFA:0000101	diencephalon	PATO:0000462	absent	abnormal	ZDB-FISH-180605-11	AB + MO1-klf8	ZDB-STAGE-010723-16	ZDB-STAGE-010723-16	ZDB-GENOX-180605-12	ZDB-PUB-170720-15	ZDB-FIG-180118-30
169657540	klf8	ZDB-GENE-070424-152	BSPO:0000120	in_left_side_of	BFO:0000050	part_of	ZFA:0000101	diencephalon	PATO:0000462	absent	abnormal	ZDB-FISH-180605-12	AB + MO2-klf8	ZDB-STAGE-010723-16	ZDB-STAGE-010723-16	ZDB-GENOX-180605-13	ZDB-PUB-170720-15	ZDB-FIG-180118-30
169648499	meis3	ZDB-GENE-010406-2	BSPO:0000120	in_left_side_of	BFO:0000050	part_of	ZFA:0001323	mid intestine	PATO:0000462	absent	abnormal	ZDB-FISH-160212-5	AB + MO1-meis3	ZDB-STAGE-010723-9	ZDB-STAGE-010723-9	ZDB-GENOX-160212-9	ZDB-PUB-150912-13	ZDB-FIG-160212-9
169648501	meis3	ZDB-GENE-010406-2	BSPO:0000120	in_left_side_of	BFO:0000050	part_of	ZFA:0001076	intestinal bulb	PATO:0000628	mislocalised	abnormal							ZDB-FISH-160212-5	AB + MO1-meis3	ZDB-STAGE-010723-9	ZDB-STAGE-010723-9	ZDB-GENOX-160212-9	ZDB-PUB-150912-13	ZDB-FIG-160212-9
/data $ grep BSPO:0000121 phenoGeneCleanData_fish.txt 
169650586	ephb4b	ZDB-GENE-990415-65	BSPO:0000121	in_right_side_of	BFO:0000050	part_of	ZFA:0000121	lateral plate mesoderm	PATO:0000628	mislocalised	abnormal							ZDB-FISH-161209-1	TU + MO2-ephb4b	ZDB-STAGE-010723-16	ZDB-STAGE-010723-16	ZDB-GENOX-161209-3	ZDB-PUB-160612-7	ZDB-FIG-160818-15
169648503	meis3	ZDB-GENE-010406-2	BSPO:0000121	in_right_side_of	BFO:0000050	part_of	ZFA:0001323	mid intestine	PATO:0000462	absent	abnormal							ZDB-FISH-160212-5	AB + MO1-meis3	ZDB-STAGE-010723-9	ZDB-STAGE-010723-9	ZDB-GENOX-160212-9	ZDB-PUB-150912-13	ZDB-FIG-160212-9
169648502	meis3	ZDB-GENE-010406-2	BSPO:0000121	in_right_side_of	BFO:0000050	part_of	ZFA:0001076	intestinal bulb	PATO:0000628	mislocalisedabnormal							ZDB-FISH-160212-5	AB + MO1-meis3	ZDB-STAGE-010723-9	ZDB-STAGE-010723-9	ZDB-GENOX-160212-9	ZDB-PUB-150912-13	ZDB-FIG-160212-9
/data $ 

Duplicate label and other annotations (i.e. source_information)

In particular when the spelling on one of the ZFIN label have changed, multiple rdfs:label annotations are created. Example:

ZP_0008089 :

label 1: abnormal(ly) has fewer parts of type sympathetic nervous system towards norepinephrin secreting cell
label 2: abnormal(ly) has fewer parts of type sympathetic nervous system towards norepinephrine secreting cell

Note spelling of norepinephrine.

OBO purl points to outdated file

The purl http://purl.obolibrary.org/obo/upheno/zp.owl redirects to a file located here:

http://compbio.charite.de/jenkins/job/zp-owl/lastSuccessfulBuild/artifact/zp.owl

which seems to be a version of ZP that is, as per ontology metadata version, not the latest:

http://purl.obolibrary.org/obo/upheno/releases/2015-11-30/zp.owl

Can we refresh the purl so that it points to this repo?

ZPGen does not currently deal with modifiers: Ameliorated and Exacerbated

When running ZPGen, we get around 2K warnings for the following:

wrong format for entry ZDB-FISH-180905-7 expected normal/abnormal, found 'ameliorated'
wrong format for entry ZDB-FISH-180905-7 expected normal/abnormal, found 'exacerbated'

Which is caused by ZFINWalker (l177):

private static void checkPhenotypeTag(String string, ZFINEntry entry) {
		if (!(string.equals("abnormal") || string.equals("normal"))) {
			System.err.println("wrong format for entry " + entry.genxZfinID + " expected normal/abnormal, found '" + string + "'");
		}
		if (string.equals("absent") && entry.entity1SupertermId.equals("GO:0007601")) {
			entry.isAbnormal = true;
			entry.patoID = "PATO:0000462";
			entry.patoName = "absent";
		}
	}

It seems we need to map this column properly to PATO, and create modifiers in PATO if they dont exist. Opinions @drseb ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.