ONTS =\ biological_process_xp_cell\ biological_process_xp_cellular_component\ biological_process_xp_chebi\ biological_process_xp_protein\ biological_process_xp_fly_anatomy\ biological_process_xp_human_anatomy\ biological_process_xp_multi_organism_process\ biological_process_xp_plant_anatomy\ biological_process_xp_self\ biological_process_xp_sequence_molecule\ biological_process_xp_stimulus\ biological_process_xp_uber_anatomy\ biological_process_xp_zebrafish_anatomy\ cellular_component_xp_go\ cellular_component_xp_self\ cellular_component_xp_self_Xpart\ molecular_function_xp_chebi\ molecular_function_xp_protein\ pro2uniprot #biological_process_xp_multi_organism_process_full #go_xp_internal #biological_process_xp_pamgo_new\ RELONTS = relations_process_xp_cell relations_process_xp ro ro_ucdhsc GO = ../../ontology/editors/gene_ontology_write.obo all: all_newlinks all_latest: update all update: update_go update_obo update_go: cd $(HOME)/cvs/go && cvs update update_obo: cd $(HOME)/cvs/obo && cvs update all_abduced: $(patsubst %,%-abduced-links.txt,$(ONTS)) all_newlinks: $(patsubst %,%-newlinks.txt,$(ONTS)) all_relstats: $(patsubst %,%.relstats,$(ONTS)) # currently anat only go-with-xp.owl: owltools ../../ontology/editors/gene_ontology_write.obo biological_process_xp_uber_anatomy.obo relations_process_xp.obo biological_process_xp_cell.obo --merge-support-ontologies -o file://`pwd`/$@ oort: ontology-release-runner --outdir r/ --prefix http://purl.obolibrary.org/obo/GO_ --enforceEL --reasoner jcel --asserted --simple --re-mireot --allow-overwrite file://`pwd`/go-with-xp.owl http://purl.obolibrary.org/obo/uberon/merged.owl go_xp_all.obo: obo-simple-merge.pl $(patsubst %,%.obo,$(ONTS)) $(patsubst %,%.obo,$(RELONTS)) > $@ %.owl: %.obo obolib-obo2owl -o $@ $< # blip io-convert -to owl2 -i $< -u ontol_bridge_to_owl2_and_iao -o $@ %-import-newlinks.txt: %-import.obo ulimit -t 300 && blip-reasoner -import_all -i $< -explain genus_differentia -explain genus > $@.tmp && filterreasoner.pl $@.tmp | grep GO > $@ go-newlinks.txt: blip-reasoner -r go -explain genus_differentia -explain genus -explain equiv_class > $@.tmp && filterreasoner.pl $@.tmp > $@ %-newlinks.txt: %.obo blip-reasoner -r go -i $< -explain genus_differentia -explain genus -explain equiv_class > $@.tmp && filterreasoner.pl $@.tmp | grep GO > $@ %-mismatch-differentium.txt: %.obo $(GO) blip-findall -r implied/go -i $< "differentium(X,R,Y),\+restriction(X,R,Y),solutions(R2,(restriction(X,R2,Y);subclass(X,Y),R2=is_a),Rs)" -select "differentium(X,Y,bad(R),consider(Rs))" -label > $@ %-mismatch-genus.txt: %.obo $(GO) blip-findall -table_pred ontol_db:bf_parentRT/2 -r go -i $< "genus(X,Y),\+subclassT(X,Y),(bf_parentRT(X,Y)->Related=otherwise_related;Related=not_related),solutions(Z,subclassT(X,Z),Zs)" -select "genus(X,Y,Related,consider,Zs)" -label > $@ %.relstats: %-imports.obo blip -import_all -i $< -u query_obo findall -label rel_summary/5 > $@.tmp && mv $@.tmp $@ %-part_ofs.txt: %-imports.obo blip-reasoner -import_all -i $< -explain development_rule > $@.tmp && mv $@.tmp $@ %-implied.obo: %-imports.obo obo2obo -o -saveimpliedlinks $@ $< >& $*-implied.log biological_process_xp_%-minimir.obo: biological_process_xp_%.obo blip -r go -i $< -r $* -i relations_process_xp.obo ontol-query -mireot GO -to obo > $@.tmp && egrep -v "^(disj|domain|range)" $@.tmp > $@ && rm $@.tmp biological_process_xp_%-minimir-merged.obo: biological_process_xp_%-minimir.obo obo2obo -o $@ $< $(GO) %-mireot.obo: %.obo blip -i $< -r chebi_slim -r cell -r uberon -r go -r protein ontol-query -table_pred ontol_db:subclassT/2 -query "(differentium(X,_,Y);genus(X,Y)),id_idspace(X,'GO'),\+ id_idspace(Y,'GO'),subclassRT(Y,ID),class(ID)" -to obo > $@.tmp && cat $@.tmp > $@ .PRECIOUS: %-mireot.obo %-supermireot.obo: %.obo blip -i $< -r chebi_slim -r cell -r uberon -r go -r protein ontol-query -table_pred ontol_db:bf_parentRT/2 -query "(differentium(X,_,Y);genus(X,Y)),(bf_parentRT(X,ID);bf_parentRT(Y,ID)),class(ID)" -to obo > $@.tmp && cat $@.tmp > $@ .PRECIOUS: %-mireot.obo %-merged.obo: %-mireot.obo obo2obo -allowdangling -o -allowdangling $@ $(GO) $(patsubst %,%.obo,$(RELONTS)) $< $*.obo .PRECIOUS: %-merged.obo %-entailed.txt: %.obo blip-findall -r implied/$< "entailed_by(subclass(A,B),genus_differentia),\+entity_obsolete(A,_),\+entity_obsolete(B,_)" -select "subclass(A,B)" -label > $@.tmp && sort -u $@.tmp > $@ %-expanded.obo: %-imports.obo obo2obo -o $@.tmp $< >& $*-implied.log && ./expand.pl $@.tmp > $@ %.links: %-imports.obo obo2linkfile -o $@.tmp $< >& $*-implied.log && ./expand.pl $@.tmp > $@ %-abduced-links.txt: %-imports.obo blip -import_all -i $< -u query_go findall abduce_link/4 > $@.tmp && sort -u $@.tmp > $@ %-misalign.txt: %-imports.obo blip -import_all -i $< -u tabling -table_pred user:xp_align/6 -u query_obo findall "xp_align_nr(A,R,B,XA,XR,XB)" -label > $@.tmp && sort -u $@.tmp > $@ %-autosyn.obo: %-imports.obo obol -import_all -u obol_biological_process_xp_self -u obol_biological_process_xp_cellular_component -u obol_cellular_component_xp -u obol_biological_process_xp_chemical -i $< obol-generate-synonyms > $@.tmp && mv $@.tmp $@ cell_structures: cell_structure-fly.txt cell_structure-human.txt cell_structure-mouse.txt cell_structure-plant.txt cell_structure-xenopus.txt cell_structure-zebrafish.txt TP = -table_pred ontol_db:subclassT/2 -table_pred ontol_db:parent_over/3 -table_pred ontol_db:parent_overT/4 cell_structure-human.txt: blip $(TP) -import_all -i biological_process_xp_cell-imports.obo -i biological_process_xp_human_anatomy.obo -r fma -u query_go findall cell_structure/2 > $@.tmp && sort -u $@.tmp > $@ cell_structure-mouse.txt: blip $(TP) -import_all -i biological_process_xp_cell-imports.obo -i biological_process_xp_mouse_anatomy.obo -r mouse_anatomy -u query_go findall cell_structure/2 > $@.tmp && sort -u $@.tmp > $@ cell_structure-%.txt: blip $(TP) -import_all -i biological_process_xp_cell-imports.obo -i biological_process_xp_$*_anatomy.obo -r $*_anatomy -u query_go findall cell_structure/2 > $@.tmp && sort -u $@.tmp > $@ chebi_relslim.obo: ./mk-chebi-relslim.pl ~/cvs/obo/ontology/chemical/chebi.obo > $@ # grep -v ^relationship: ~/cvs/obo/ontology/chemical/chebi.obo > $@ all_development.txt: go -i biological_process_xp_uber_anatomy.obo -i biological_process_xp_cell.obo -i biological_process_xp_fly_anatomy.obo -i biological_process_xp_plant_anatomy.obo -i biological_process_xp_fungal_anatomy.obo -n %development -showxp xpart: cellular_component_xp_self_Xpart.obo %_Xpart.obo: %.obo obo-grep.pl -r 'id: .*part\n' $< | obo-grep.pl --neg -r Typedef - > $@ go_withXpart_links.obo: cellular_component_xp_self_Xpart-implied.obo grep -v ^intersection_of: $< > $@ %.check: %.obo blip -r go -i $< -u query_go findall -label cc_func_check/7 > $@.tmp && grep -v ^Mapped $@.tmp > $@ %.roleswitch: %.obo blip -import_all -i $*-imports.obo -u query_go findall xp_role_switch/6 -label > $@ %.obo.correl: %.obo blip -r go -i $< -u query_go findall xp_correlation/6 -label > $@ .PRECIOUS: %.obo.correl %.correl.avgs: %.correl blip -i $< -f tbl -u query_go findall xp_correlation_avg/4 > $@ # saving of biological_process_xp_uber_anatomy not yet fully automated merge: obo-grep.pl -r intersection_of: ~/tmp/bp_xp_u.obo | obo-filter-tags.pl -t id -t intersection_of - >z.obo && obo-simple-merge.pl z.obo biological_process_xp_uber_anatomy.obo > z pro2uniprot.txt: wget ftp://ftp.pir.georgetown.edu/databases/ontology/pro_obo/PRO_mappings/uniprotmapping.txt -O $@.tmp && ./pro2uniprot.pl $@.tmp > $@ pro2uniprot.obo: pro2uniprot.txt tbl2obolinks.pl --is_a $< > $@ # e.g. MAPKKK cascade involved in osmosensory signaling pathway infer_pathway_context.txt: blip-godb -r go -sqlbind seqfeature_db:all-ebi_go -sqlbind curation_db:all-ebi_go -i biological_process_xp_self-unvetted.obo -r ebi_go -u query_go -debug xsql findall "infer_xp_annotation('GO:0007165',part_of,G,C),feature_label(G,GN),class(C,CN)" -select "infer_xp_annotation(G,GN,C,CN)" > $@ #blip-godb -r go -sqlbind curation_db:all-ebi_go -i biological_process_xp_self.obo -i biological_process_xp_self-unvetted.obo -r ebi_go -u query_go -debug xsql findall "infer_xp_annotation('GO:0007165',part_of,G,C)" -label > $@ promote-%.txt: blip-findall -table_pred user:class_simplexp_promote/3 -table_pred ontol_db:subclassRT/2 -r goxp/biological_process_xp_cell -r cell -r go -u curation_db -r go_assoc_local/$* -u query_go "promote_annotation_by_xp(G,C,C2)" -label > $@ # ---------------------------------------- # Templates # ---------------------------------------- # find all MGI c16 annotations that do not inherit from a template %-ambiguous.txt: blip-findall -r cell -u curation_db -table_pred ontol_db:subclassT/2 -r go -i go_templates.obo -r go_assoc_local/$* "curation_subject_property_value(_,X,R,Y),subclassRT(X,'GO:0008150'),\+((subclassRT(X,Z),parent(Z,primary_cell_participant_role,_))),\+((parentT(X,regulates,Z),parent(Z,primary_cell_participant_role,_)))" -select X-Y -label > $@.tmp && sort -u $@.tmp > $@ # new xp checking # ---------------------------------------- # XP-checking # ---------------------------------------- %-g2r.txt: %.obo ./summarize-genus-relation.pl biological_process_xp_cellular_component.obo > $@ # ---------------------------------------- # Non-disjoint genus terms # ---------------------------------------- all_relcheck: non_disjoint_genus.txt domain_mm1-cell.txt domain_mm2-cell.txt domain_mm1-uber_anatomy.txt domain_mm2-uber_anatomy.txt domain_mm1-cellular_component.txt domain_mm2-cellular_component.txt non_disjoint_genus.txt: relations_process_xp.obo blip-findall -r go -i $< "property(R1),subclass(R1,R),subclass(R2,R),R1\=R2,property_domain(R1,G1),property_domain(R2,G2),subclassT(X,G1),subclassT(X,G2)" -select "d(G1,G2,X)" -no_pred -use_tabs -label > $@.tmp && sort -u $@.tmp > $@ domain_mm1-%.txt: biological_process_xp_%.obo relations_process_xp.obo blip-findall -r go -i relations_process_xp.obo -i $< "property_domain(R,D),genus(X,D),differentium(X,R2,Y),R\=R2,R2\=occurs_in,R2\=part_of" -select "x(X,R2,Y,R)" -label > $@ domain_mm2-%.txt: biological_process_xp_%.obo relations_process_xp.obo blip-findall -r go -i relations_process_xp.obo -i $< "property_domain(R,D),differentium(X,R,Y),genus(X,D2),D\=D2" -select "x(X,D,D2)" -label > $@ # ---------------------------------------- # Pre-merge # ---------------------------------------- biological_process_xp_cellular_component-pre.obo: biological_process_xp_cellular_component.obo obo-grep.pl -r 'intersection_of: GO:(0022607|0022411|0016043)' $< > $@ # ---------------------------------------- # Oort # ---------------------------------------- release-go-cc: newrel ontology-release-runner --outdir $@ --reasoner elk --asserted --simple --allow-overwrite $(GO) biological_process_xp_cellular_component.obo relations_process_xp.obo release-go-cl: newrel ontology-release-runner --outdir $@ --reasoner elk --asserted --simple --allow-overwrite $(GO) biological_process_xp_cell.obo http://purl.obolibrary.org/obo/cl-basic.obo relations_process_xp.obo release-go-anat: newrel ontology-release-runner --outdir $@ --reasoner elk --asserted --simple --allow-overwrite $(GO) -b relations_process_xp.obo -b biological_process_xp_cell.obo -b biological_process_xp_uber_anatomy.obo http://purl.obolibrary.org/obo/uberon/composite-metazoan.owl newrel: touch $@