:- module( bio_db_homs_gont, [ bio_db_homs_gont/0, % + Gene Ontology. % A) edges gont_homs_edge_gisa/2, gont_homs_edge_greg/2, % A regulates B gont_homs_edge_gprg/2, % positively regulates gont_homs_edge_gnrg/2, % negatively regulates gont_homs_edge_gpof/2, % part_of % B) maps gont_homs_gont_symb/3, gont_homs_gont_gonm/2, gont_homs_symb_gont/3 ] ). :- use_module(library(lib)). :- lib(& bio_db). /** bio_db_homs_gont. Documentation predicate for Homo sapiens data from GO database. Predicates defined: * gont_homs_edge_gisa/2 * gont_homs_edge_greg/2 * gont_homs_edge_gprg/2 * gont_homs_edge_gnrg/2 * gont_homs_edge_gpof/2 * gont_homs_gont_symb/3 * gont_homs_gont_gonm/2 * gont_homs_symb_gont/3 == ?- lib( & bio_db(homs(gont)) ). ?- [ pack('bio_db/cell/homs/gont') ]. == @author nicos angelopoulos @version 0.1 2018/10/29 */ bio_db_homs_gont. %% gont_homs_edge_gisa( ?Ch, ?Pa ). % % Gene ontotology is_a relation. Ch (a GO term) is_a (part of) Pa (a GO term). % %== % ?- gont_homs_edge_gisa(G1,G2), gont_homs_gont_gonm( G1, N1 ), map_homs_gont_gont_gonm( G2, N2 ). % G1 = 'GO:0000001', % G2 = 'GO:0048308', % N1 = 'mitochondrion inheritance', % N2 = 'organelle inheritance' . %== % gont_homs_edge_gisa( Ch, Pa ) :- bio_db:bio_db_serve( gont_homs_edge_gisa(Ch,Pa) ). %% gont_homs_edge_greg( ?Pa, ?Ch ). % % Pa regulates Ch (GO hirerchical relation). % gont_homs_edge_greg( Pa, Ch ) :- bio_db:bio_db_serve( gont_homs_edge_greg(Pa,Ch) ). %% gont_homs_edge_gprg( ?Pa, ?Ch ). % % Pa positively regulates Ch (GO hirerchical relation). % gont_homs_edge_gprg( Pa, Ch ) :- bio_db:bio_db_serve( gont_homs_edge_gprg(Pa,Ch) ). %% gont_homs_edge_gnrg( ?Pa, ?Ch ). % % Pa negatively regulates Ch (GO hirerchical relation). % gont_homs_edge_gnrg( Pa, Ch ) :- bio_db:bio_db_serve( gont_homs_edge_gnrg(Pa,Ch) ). %% gont_homs_edge_gpof( ?Part, ?Whole ). % % Part is part of Whole (GO hirerchical relation). % gont_homs_edge_gpof( Part, Whole ) :- bio_db:bio_db_serve( gont_homs_edge_gpof(Part,Whole) ). /** gont_homs_gont_symb( ?Gont, -Evid, -Symb). Map predicate from GO terms to approved HGNC Symbol. == ?- map_gont_gont_symb( 'GO:0003674', _, Symb ). Symb = 'A1BG' ; Symb = 'AAAS' ; Symb = 'AARSD1'... == */ gont_homs_gont_symb( X, Ev, Y ) :- bio_db:bio_db_serve( gont_homs_gont_symb(X,Ev,Y) ). /** gont_homs_gont_gonm( ?Gont, ?Gonm ). Map predicate from gene ontology terms to GO term names. == ?- gont_homs_gont_gonm( 'GO:0004674', A ). A = 'protein serine/threonine kinase activity'. == */ gont_homs_gont_gonm( X, Y ) :- bio_db:bio_db_serve( gont_homs_gont_gonm(X,Y) ). /** gont_homs_symb_gont(+Symb, -Ev, -Gont). Map predicate from HGNC symbols to GO terms. == ?- gont_homs_symb_gont( 'LMTK3', Symb ). Symb = 'GO:0003674' ; Symb = 'GO:0004674' ; Symb = 'GO:0004713' ; Symb = 'GO:0005524' ; Symb = 'GO:0005575' ; Symb = 'GO:0006468' ; Symb = 'GO:0010923' ; Symb = 'GO:0016021' ; Symb = 'GO:0018108'. == */ gont_homs_symb_gont( X, Ev, Y ) :- bio_db:bio_db_serve( gont_homs_symb_gont(X,Ev,Y) ).