Giter Site home page Giter Site logo

obophenotype / c-elegans-phenotype-ontology Goto Github PK

View Code? Open in Web Editor NEW
10.0 8.0 4.0 101.05 MB

Ontology for phenotypes pertaining to the nematode Caenorhabditis elegans and related nematodes used by the nematode genome database WormBase

Home Page: https://wormbase.org

License: Creative Commons Attribution 4.0 International

Dockerfile 0.06% Makefile 73.31% Shell 16.79% Batchfile 0.16% Ruby 4.10% Scala 5.57%
ontology elegans-phenotype-ontology phenotype-term caenorhabditis-elegans phenotype-ontologies phenotypes nematodes obofoundry elegans

c-elegans-phenotype-ontology's People

Contributors

chris-grove avatar matentzn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c-elegans-phenotype-ontology's Issues

WBP-DPO logical alignment review

@Clare72 (FlyBase) has kindly started a review of alignments between DPO and WBP. Here are her notes:

DPO WBPHENOTYPE Label DPO Label WBP Alignment Note
FBcv_0000408 WBPhenotype_0000067 stress response defective organism stress response variant logical does not need to be organism-wide
FBcv_0000409 WBPhenotype_0000876 osmotic stress response defective organism osmotic stress response variant logical does not need to be organism-wide
FBcv_0000410 WBPhenotype_0001273 heat stress response defective organism heat response variant logical does not need to be organism-wide
FBcv_0000683 WBPhenotype_0000146 temperature response defective organism temperature response variant logical does not need to be organism-wide
FBcv_0000725 WBPhenotype_0001620 oxidative stress response defective organism oxidative stress response variant logical does not need to be organism-wide

@chris-grove What do you think? Thanks @Clare72!!

There are a bunch of classes in the ontology with no labels

Currently hotfixed by removing the requirement from the make file, but should be sorted.

#  trailing-whitespace nolabels
VCHECKS = equivalent-classes owldef-self-reference xref-syntax

Could this be an artefact of the EQ-definitions file? Maybe some classes were deleted in wb.obo?

Fix unfolded protein response terms

Currently, the term:

unfolded protein response variant (WBPhenotype:0001719)

has as a synonym:

"ER unfolded protein response abnormal"

and definition:

"Animals exhibit variations in any of the series of molecular signals generated as a consequence of the presence of unfolded proteins in the endoplasmic reticulum (ER) and or the mitochondria, compared to control. One such response is the increase in expression of chaperones."

and has no children. There are several UPRs, not just ER, so we should remove the synonym

"ER unfolded protein response abnormal"

change the definition to:

"Animals exhibit variations in any of the series of molecular signals generated as a consequence of the presence of unfolded proteins in cellular compartments, compared to control. One such response is the increase in expression of chaperones."

and create two new children terms:

"endoplasmic reticulum unfolded protein response variant"

with synonyms:
"ER unfolded protein response variant"
"ER UPR variant"
"endoplasmic reticulum UPR variant"

with definition:

"Animals exhibit variations in any of the series of molecular signals generated as a consequence of the presence of unfolded proteins in the endoplasmic reticulum (ER), compared to control. One such response is the increase in expression of chaperones. "

AND

"mitochondrial unfolded protein response variant"

with synonyms:
"mitochondrial UPR variant"
"UPRmt variant"

with definition: "Animals exhibit variations in any of the series of molecular signals generated as a consequence of the presence of unfolded proteins in the mitochondria, compared to control. One such response is the increase in expression of chaperones."

Syntax error in Apr 21 2019 release

Hi there!

The latest release of wbphenotype has an issue in its OBO file: on line 37520, the definition of the WBPhenotype:0002510 term somehow got exported as a namespace instead (thus causing a syntax error):

[Term]
id: WBPhenotype:0002509
name: extra dopaminergic neuron
def: "Animals produce an excess number of dopaminergic neurons compared to controls." [WB:WBPaper00053165, WB:WBPerson2987, WB:WBPerson3252]
is_a: WBPhenotype:0002508 ! extra neuron

[Term]
id: WBPhenotype:0002510
name: fewer neurons
namespace: Animals exhibit fewer neurons compared to control animals. {xref="WB:WBPerson3252", xref="WB:WBPerson2987", xref="WB:WBPaper00053165"}
is_a: WBPhenotype:0002174 ! cell number decreased

For the record, the previous release (WS271) didn't have that issue.

Implement Upheno absent pattern

Implement by adding absent.yaml to external.txt in the src/patterns/dosdp-patterns directory.

Implement first instance: 'alae absent' in respective absent.tsv. When you are done, remember to delete from donotedit. Feel free to add as many absent ones as you find.

Duplicate definitions

ERROR duplicate_definition WBPhenotype:0001638 IAO:0000115 Animals are deficient in the formation or disassembly of lysosomes.
ERROR duplicate_definition WBPhenotype:0001784 IAO:0000115 Animals are deficient in the formation or disassembly of lysosomes.
ERROR duplicate_definition WBPhenotype:0000991 IAO:0000115 Activity of the neuron varies from that observed for control animals or neurons. In C. elegans neuron activity is often assayed by observing calcium spikes.
ERROR duplicate_definition WBPhenotype:0001818 IAO:0000115 Activity of the neuron varies from that observed for control animals or neurons. In C. elegans neuron activity is often assayed by observing calcium spikes.

Obsolete GO term imported as not obsolete, throwing ODK pipeline error

@matentzn

I'm getting an error in my ODK pipeline:

2024-01-09 17:50:40,308 ERROR org.obolibrary.robot.ReasonOperation - Only equivalent classes that have been asserted are allowed. Inferred equivalencies are forbidden.^M
2024-01-09 17:50:40,313 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: <http://purl.obolibrary.org/obo/GO_0032989> == <http://purl.obolibrary.org/obo/GO_0032990>^M
make: *** [Makefile:678: wbphenotype-full.owl] Error 1^M
rm imports/bfo_terms_combined.txt imports/go_terms_combined.txt imports/pato_terms_combined.txt imports/iao_terms_combined.txt imports/wbls_terms_combined.txt imports/cl_terms_combined.txt imports/ro_terms_combined.txt imports/wbbt_terms_combined.txt^M
Please remember to update your ODK image from time to time: https://oboacademy.github.io/obook/howto/odk-update/.
Tue Jan  9 12:50:40 EST 2024

Some notes: I think part of the issue is that GO:0032990 (“cell part morphogenesis”) is obsolete and has been replaced by GO:0032989 (“cellular component morphogenesis”):
https://amigo.geneontology.org/amigo/term/GO:0032990
https://amigo.geneontology.org/amigo/term/GO:0032989
but the ontology imports are still bringing in GO:0032990 as if it is still a valid term. As for equivalencies I see in Protege (see screenshots), it seems that “cell part morphogenesis” is an asserted subclass of “cellular component morphogenesis”. After running the reasoner (ELK), I don’t see an explicit equivalency of the two terms, but maybe I’m forgetting how to do it properly. The EQ for “cell part morphogenesis” is :

'anatomical structure morphogenesis'
 and ('results in morphogenesis of' some 'cellular anatomical entity')

and for "cellular component morphogenesis" is:

'anatomical structure morphogenesis'
 and ('results in morphogenesis of' some cellular_component)

Screenshots:
Screenshot 2024-01-14 at 10 34 28 AM
Screenshot 2024-01-14 at 10 34 16 AM
Screenshot 2024-01-14 at 10 33 56 AM

Illegal equivalencies in WBPhenotype

@chris-grove This will be your initiation to the next level of real ontology engineering. Our ontologies should not have logical equivalences between names (WPO1=WPO2), causing weird cycles downstream. Here is the error message:

lets see what you can do :D

2019-07-22 09:46:01,254 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: <http://purl.obolibrary.org/obo/WBPhenotype_0000769> == <http://purl.obolibrary.org/obo/WBPhenotype_0001081>
2019-07-22 09:46:01,254 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: <http://purl.obolibrary.org/obo/WBPhenotype_0001034> == <http://purl.obolibrary.org/obo/WBPhenotype_0001159>
2019-07-22 09:46:01,254 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: <http://purl.obolibrary.org/obo/WBPhenotype_0000020> == <http://purl.obolibrary.org/obo/WBPhenotype_0001006>
2019-07-22 09:46:01,254 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: <http://purl.obolibrary.org/obo/WBPhenotype_0001106> == <http://purl.obolibrary.org/obo/WBPhenotype_0001681>
2019-07-22 09:46:01,254 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: <http://purl.obolibrary.org/obo/WBPhenotype_0001527> == <http://purl.obolibrary.org/obo/WBPhenotype_0000256>
2019-07-22 09:46:01,254 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: <http://purl.obolibrary.org/obo/WBPhenotype_0000775> == <http://purl.obolibrary.org/obo/WBPhenotype_0001041>
2019-07-22 09:46:01,254 ERROR org.obolibrary.robot.ReasonOperation - Equivalence: <http://purl.obolibrary.org/obo/WBPhenotype_0001040> == <http://purl.obolibrary.org/obo/WBPhenotype_0001049>

This test should tell you whether you are doing the right thing:

cd src/ontology
sh run.sh robot reason -i wbphenotype-edit.owl --equivalent-classes-allowed asserted-only -o test.owl

Fix abnormal phenotypes

We need to identify all phenotypes with 'abnormal' in the 'quality' spot and fix them to be ordinary abnormal phenotypes:

  • Open Protege, run ELK
  • Go to DL query tab, run 'has part' some abnormal, make sure only the 'subclasses' checkbox is clicked on the right of the DL query results.
  • Go to all of them, if they look like development variant, i.e.
has part some (
    abnormal and 
    inheres in some developmental process)

They should go into the 'abnormal' pattern.

Remove duplicates

There are now a bunch of terms with more than one definition.
wbpheno-duplicates.txt

While we do not yet have an ODK way to getting these, maybe it would be a good exercise to get rid of the ones already in there. Note that most of them should be deleted from this src/ontology/wbphenotype_eq_do_no_edit.owl file, but there is a chance that somehow the same class was defined in two separate patterns - unlikely though. Perhaps going through all these and deleting the wrong ones will give us a hint how good we were doing :)

quality part_of anatomical entity

The logical definition for 'P0 spindle position defective early emb' is:

'has part' some 
    (position
     and ('part of' some P0)
     and (BFO_0000070 some spindle))

This is stating that the PATO quality position is 'part of' a physical structure P0. This causes issues in GO Noctua where we have some mappings that connect P0 up to 'independent continuant', causing the quality to be inferred to be both a 'specifically dependent continuant' and an 'independent continuant' (via the part_of). Can this relation be changed to 'inheres in' or 'inheres in part of'?

7 unsatisfiable classes due to broken EQ:

germ cell cytoplasmic morphology variant (this fixed 5 unsatisfiable classes)

'has part' some 
(morphology and ('part of' some 'germ cell') and ('inheres in' some cytoplasm) and ('has component' some abnormal))

changed to:

'has part' some 
(morphology and ('inheres in' some (cytoplasm and 'part of' some 'germ cell')) and ('has component' some abnormal))

sperm pseudopod variant:

'has part' some 
(abnormal and ('part of' some sperm) and ('inheres in' some pseudopodium))

changed to:

'has part' some 
(abnormal and ('inheres in' some (pseudopodium and ('part of' some sperm))))

sperm pseudopod physiology variant:

'has part' some 
('physiological state' and ('part of' some sperm) and ('inheres in' some pseudopodium) and ('has component' some abnormal))

Changed to:

'has part' some 
('physiological state' and ('inheres in' some (pseudopodium and ('part of' some sperm))) and ('has component' some abnormal))

Trailing whitespace in some definitions

Currently hotfixed by removing the requirement from the make file, but should be sorted.

#  trailing-whitespace
VCHECKS = equivalent-classes owldef-self-reference xref-syntax nolabels

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.