---
layout: rule
id: GORULE:0000061
title: "Allowed gene product to term relations (gp2term)"
type: repair
fail_mode: hard
status: implemented
tags: []
contact: "go-quality@lists.stanford.edu"
---

GAF2.2 files require a gene product to term (gp2term) relation in Column 4. Allowed gp2term relations:  
* For `GO:0003674 "molecular_function"` and subclass descendants:
    * If the annotation is to the root term `"molecular_function"`, then the gp2term relation should `RO:0002327 "enables"`; else, it is repaired to `RO:0002327 "enables"`.
    * If the annotation is to is a subclass descendant of `"molecular_function"`, then the allowed gp2term relations are `RO:0002327 "enables"` and `RO_0002326 "contributes_to"`; else, it is updated to `RO:0002327 "enables"`.
* For `GO:0008150 "biological process"`: 
    * If the annotation is to the root term `"biological_process"`, then the gp2term relation should be `RO:0002331 "involved_in"`. If the gp2term relation is different, it is repaired to `RO:0002331 "involved_in"`.
    * If the annotation is to is a subclass descendant of `"biological_process"` then the allowed gp2term relations are `RO:0002331 "involved_in"`, `RO:0002264 "acts_upstream_or_within"`, `RO:0004032 "acts_upstream_of_or_within_positive_effect"`, `RO:0004033 "acts upstream of or within_negative_effect"`, `RO:0002263 "acts_upstream_of"`, `RO:0004034 "acts_upstream_of_positive_effect"`, `RO:0004035 "acts upstream of, negative effect"`; else, the relation is repaired to `RO:0002264 "acts upstream of or within"`.
* For `GO:0005575 "cellular component"`
    * If the annotation is to the root term `"cellular_component"`, then the gp2term relation should be `RO:0002432 "is_active_in"`; else, it is repaired to `RO:0002432 "is_active_in"`.
    * If the annotation is to `"GO:0032991 "protein-containing complex"` or a subclass descendant of, then the gp2term relation should be `"BFO:0000050 "part_of"`; else, it is repaired to `"BFO:0000050 "part of"`.
    * If the annotation is to `GO:0110165 "cellular anatomical entity"` or to `GO:0044423 "virion component"` or a descendant of either of these terms, then the allowed gp2term relations are `RO:0001025 "located_in"` and `RO:0002432 "is_active_in"`, and `RO_0002325 "colocalizes_with"`; else it is repaired to `RO:0001025 "located_in"`.
    
* If an annotation has a negation (`NOT`), is is kept as a pipe-separated value with the gp2term relation in addition to the relation. 'NOT' is not allowed on its own.
* Note that RO does not have underscores in the term labels, but the userscores are used in the GP2Term relations in GAF 2.2.
