Axiom
annotated source: RO_0002131
annotated property: propertyChainAxiom
annotated target: BFO_0000051
annotated target: BFO_0000050
http://purl.obolibrary.org/obo/ro 0002582: true

Axiom
annotated source: RO_0002216
annotated property: propertyChainAxiom
annotated target: RO_0002215
annotated target: BFO_0000050
http://purl.obolibrary.org/obo/ro 0002582: true

Axiom
annotated source: RO_0002329
annotated property: propertyChainAxiom
annotated target: BFO_0000050
annotated target: RO_0002215
http://purl.obolibrary.org/obo/ro 0002581: true

Axiom
annotated source: RO_0002432
annotated property: propertyChainAxiom
annotated target: RO_0002327
annotated target: BFO_0000066
http://purl.obolibrary.org/obo/ro 0002581: true

Axiom
annotated source: RO_0002479
annotated property: propertyChainAxiom
annotated target: BFO_0000051
annotated target: BFO_0000066
http://purl.obolibrary.org/obo/ro 0002581: true

continuant
type: Class
subclass of: Restriction
  on property: BFO_0000050
  some values from: continuant
subclass of: Restriction
  on property: RO_0002214
  some values from: continuant
subclass of: Restriction
  on property: RO HOM0000000
  some values from: continuant
disjoint with: occurrent
disjoint with: Restriction
  on property: BFO_0000050
  some values from: occurrent
IAO_0000115: An entity that exists in full at any time in which it exists at all, persists through time while maintaining its identity and has no temporal parts.

occurrent
type: Class
subclass of: Restriction
  on property: BFO_0000050
  some values from: occurrent
subclass of: Restriction
  on property: RO HOM0000000
  some values from: occurrent
disjoint with: Restriction
  on property: BFO_0000050
  some values from: continuant
IAO_0000115: An entity that has temporal parts and that happens, unfolds or develops through time.

independent continuant
type: Class
subclass of: continuant
subclass of: Restriction
  on property: BFO_0000050
  some values from: independent continuant
IAO_0000115: A continuant that is a bearer of quality and realizable entity entities, in which other entities inhere and which itself cannot inhere in anything.

process
type: Class
subclass of: occurrent
subclass of: Restriction
  on property: RO_0002214
  some values from: process
IAO_0000115: An occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t.

material entity
type: Class
subclass of: independent continuant
IAO_0000115: An independent continuant that is spatially extended whose identity is independent of that of other entities and can be maintained through time.

molecular_function
type: Class
subclass of: process

catalytic activity
type: Class
subclass of: molecular_function

biological_process
type: Class
subclass of: process

kinase activity
type: Class
subclass of: transferase activity, transferring phosphorus-containing groups
subclass of: Restriction
  on property: RO_0002481
  has self: true

transferase activity
type: Class
subclass of: catalytic activity

transferase activity, transferring phosphorus-containing groups
type: Class
subclass of: transferase activity

exposure event or process
type: Class
subclass of: process
IAO_0000115: A process occurring within or in the vicinity of an organism that exerts some causal influence on the organism via the interaction between an exposure stimulus and an exposure receptor. The exposure stimulus may be a process, material entity or condition (for example, lack of nutrients). The exposure receptor can be an organism, organism population or a part of an organism.

infer input from direct reg
is rule enabled: true
comment: MF(X)-directly_regulates->MF(Y)-enabled_by->GP(Z) => MF(Y)-has_input->GP(Y) e.g. if 'protein kinase activity'(X) directly_regulates 'protein binding activity (Y)and this is enabled by GP(Z) then X has_input Z
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002327
  argument1: http://purl.obolibrary.org/obo/ro.owl#z
  argument2: http://purl.obolibrary.org/obo/ro.owl#y
body: IndividualPropertyAtom
  property predicate: RO_0002578
  argument1: http://purl.obolibrary.org/obo/ro.owl#x
  argument2: http://purl.obolibrary.org/obo/ro.owl#y
body: ClassAtom
  class predicate: molecular_function
  argument1: http://purl.obolibrary.org/obo/ro.owl#x
body: ClassAtom
  class predicate: molecular_function
  argument1: http://purl.obolibrary.org/obo/ro.owl#y
head: IndividualPropertyAtom
  property predicate: RO_0002233
  argument1: http://purl.obolibrary.org/obo/ro.owl#x
  argument2: http://purl.obolibrary.org/obo/ro.owl#z

enabling an MF enables its parts
comment: GP(X)-enables->MF(Y)-has_part->MF(Z) => GP(X) enables MF(Z), e.g. if GP X enables ATPase coupled transporter activity' and 'ATPase coupled transporter activity' has_part 'ATPase activity' then GP(X) enables 'ATPase activity'
type: Imp
body: ClassAtom
  class predicate: molecular_function
  argument1: y
body: IndividualPropertyAtom
  property predicate: RO_0002327
  argument1: x
  argument2: y
body: IndividualPropertyAtom
  property predicate: BFO_0000051
  argument1: y
  argument2: z
head: IndividualPropertyAtom
  property predicate: RO_0002327
  argument1: x
  argument2: z

involved in BP
is rule enabled: true
comment: GP(X)-enables->MF(Y)-part_of->BP(Z) => GP(X) involved_in BP(Z) e.g. if X enables 'protein kinase activity' and Y 'part of' 'signal tranduction' then X involved in 'signal transduction'
type: Imp
body: ClassAtom
  class predicate: biological_process
  argument1: z
body: IndividualPropertyAtom
  property predicate: BFO_0000050
  argument1: y
  argument2: z
body: IndividualPropertyAtom
  property predicate: RO_0002327
  argument1: x
  argument2: y
head: IndividualPropertyAtom
  property predicate: RO_0002331
  argument1: x
  argument2: z

Imp
comment: This rule is dubious: added as a quick fix for expected inference in GO-CAM. The problem is most acute for transmembrane proteins, such as receptors or cell adhesion molecules, which have some subfunctions inside the cell (e.g. kinase activity) and some subfunctions outside (e.g. ligand binding). Correct annotation of where these functions occurs leads to incorrect inference about the location of the whole protein. This should probably be weakened to "... -> overlaps"
body: IndividualPropertyAtom
  property predicate: RO_0002327
  argument1: x
  argument2: y
body: IndividualPropertyAtom
  property predicate: BFO_0000066
  argument1: y
  argument2: z
head: IndividualPropertyAtom
  property predicate: BFO_0000050
  argument1: x
  argument2: z

inferring direct reg edge from input to regulatory subfunction
comment: If a molecular function (X) has a regulatory subfunction, then any gene product which is an input to that subfunction has an activity that directly_regulates X. Note: this is intended for cases where the regaultory subfunction is protein binding, so it could be tightened with an additional clause to specify this.
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002352
  argument1: B
  argument2: C
body: IndividualPropertyAtom
  property predicate: RO_0002333
  argument1: A
  argument2: B
body: IndividualPropertyAtom
  property predicate: RO_0002013
  argument1: D
  argument2: C
head: IndividualPropertyAtom
  property predicate: RO_0002578
  argument1: A
  argument2: D

inferring direct neg reg edge from input to regulatory subfunction
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002352
  argument1: B
  argument2: C
body: IndividualPropertyAtom
  property predicate: RO_0002333
  argument1: A
  argument2: B
body: IndividualPropertyAtom
  property predicate: RO_0002014
  argument1: D
  argument2: C
head: IndividualPropertyAtom
  property predicate: RO_0002630
  argument1: A
  argument2: D

inferring direct positive reg edge from input to regulatory subfunction
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002352
  argument1: B
  argument2: C
body: IndividualPropertyAtom
  property predicate: RO_0002333
  argument1: A
  argument2: B
body: IndividualPropertyAtom
  property predicate: RO_0002015
  argument1: D
  argument2: C
head: IndividualPropertyAtom
  property predicate: RO_0002629
  argument1: A
  argument2: D

effector input is compound function input
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002025
  argument1: mf
  argument2: eff
body: IndividualPropertyAtom
  property predicate: RO_0002233
  argument1: eff
  argument2: in
head: IndividualPropertyAtom
  property predicate: RO_0002233
  argument1: mf
  argument2: in

Input of effector is input of its parent MF
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002025
  argument1: mf
  argument2: eff
body: IndividualPropertyAtom
  property predicate: RO_0002233
  argument1: mf
  argument2: in
head: IndividualPropertyAtom
  property predicate: RO_0002233
  argument1: eff
  argument2: in

Imp
comment: if effector directly regulates X, its parent MF directly regulates X
body: IndividualPropertyAtom
  property predicate: RO_0002578
  argument1: mf
  argument2: mf2
body: IndividualPropertyAtom
  property predicate: RO_0002025
  argument1: mf
  argument2: eff
head: IndividualPropertyAtom
  property predicate: RO_0002578
  argument1: eff
  argument2: mf2

Imp
comment: if effector directly positively regulates X, its parent MF directly positively regulates X
body: IndividualPropertyAtom
  property predicate: RO_0002025
  argument1: mf
  argument2: eff
body: IndividualPropertyAtom
  property predicate: RO_0002629
  argument1: mf
  argument2: mf2
head: IndividualPropertyAtom
  property predicate: RO_0002629
  argument1: eff
  argument2: mf2

if effector directly negatively regulates X, its parent MF directly negatively regulates X
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002630
  argument1: mf
  argument2: mf2
body: IndividualPropertyAtom
  property predicate: RO_0002025
  argument1: mf
  argument2: eff
head: IndividualPropertyAtom
  property predicate: RO_0002630
  argument1: eff
  argument2: mf2

'causally downstream of' and 'overlaps' should be disjoint properties (a SWRL rule is required because these are non-simple properties).
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002131
  argument1: x
  argument2: y
body: IndividualPropertyAtom
  property predicate: RO_0002404
  argument1: x
  argument2: y
head: ClassAtom
  class predicate: Nothing
  argument1: y
head: ClassAtom
  class predicate: Nothing
  argument1: x

'causally upstream of' and 'overlaps' should be disjoint properties (a SWRL rule is required because these are non-simple properties).
type: Imp
body: IndividualPropertyAtom
  property predicate: RO_0002131
  argument1: x
  argument2: y
body: IndividualPropertyAtom
  property predicate: RO_0002411
  argument1: x
  argument2: y
head: ClassAtom
  class predicate: Nothing
  argument1: y
head: ClassAtom
  class predicate: Nothing
  argument1: x