GAF Taxonomy Reasoning: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
== | == Rules == | ||
To determine if an [[only_in]] constraint is valid, annotations are propagated up the GO DAG over [[is_a]] and [[part_of]], across the [[only_in]] link, and '''down''' the taxonomy hierarchy. If a path from a term to a taxon does not exist, then this term cannot be applied to this taxon. | |||
Formally: | |||
* an annotation <G,C> is invalid if: | |||
** G has-taxon T | |||
** (C is_a C' OR C part_of C') AND | |||
** C' only_in T' AND | |||
** NOT(T is_a T') | |||
In RO [[is_a]] and [[part_of]] are both transitive and reflexive (the reflexivity case accounts for when T and T' are identical) | |||
== Report Format == | == Report Format == |
Revision as of 20:37, 6 January 2010
Rules
To determine if an only_in constraint is valid, annotations are propagated up the GO DAG over is_a and part_of, across the only_in link, and down the taxonomy hierarchy. If a path from a term to a taxon does not exist, then this term cannot be applied to this taxon.
Formally:
- an annotation <G,C> is invalid if:
- G has-taxon T
- (C is_a C' OR C part_of C') AND
- C' only_in T' AND
- NOT(T is_a T')
In RO is_a and part_of are both transitive and reflexive (the reflexivity case accounts for when T and T' are identical)
Report Format
Each line is in two parts. The part before the :: separator is the error report. The part after is the GAF line, copied verbatim.
The report part before the delimiter is
<GO ID> "<Term name>" only_in <TAX ID> "<Taxon name>"
This is not ideal, as GO ID is redundant with col 5 of the GAF, which is repeated after the ::
ideally the report part would show the ID that is directly linked to the taxon - but it doesn't do this yet.
Example line:
GO:0007595 "lactation" only_in NCBITaxon:40674 "Mammalia" :: Ensembl ENSGALP00000029396 ENSGALP00000029396 GO:0007595 GO_REF:0000002 IEA InterPro:IPR003626 P protein NCBITaxon:9
031 20091214 UniProtKB
This IEA from Chicken is erroneously associates a protein with "lactation", which is restricted to mammals.
Implementation
The script go-gaf-inference.pl is distributed as part pf GO Moose.