Skip to content

Instantly share code, notes, and snippets.

View cmungall's full-sized avatar
💭
linkml hacking

Chris Mungall cmungall

💭
linkml hacking
View GitHub Profile
fact(is_a(a,b)).
fact(is_a(b,c)).
rule((is_aT(A,B) :- is_a(A,B))).
rule((is_aT(A,B) :- is_a(A,Z),is_aT(Z,B))).
prove(Goal,[Goal]) :-
fact(Goal).
prove(Goal, [Rule|Steps]) :-
Rule = rule( (Goal :- Body) ),
Proposed schema for evolved processes. Evolved processes are either (1) the realization of a single function (2) a causally connected mereological sum of (1)s
The schema could be generalized to other processes arise from non-evolved functions such as building a house.
For simplicity this initial elucidation focuses on evolved processes (aka biological programs).
Subsubmption hierarchy (`P` = process, `C` = independent continuant, `Q` = quality)
* enabled by (aka has agent) `P->C`
* has participant `P->C`
* modifies or consumes (aka has initial participant)
#!/usr/bin/env python3
"""
Command line wrapper to mygene for bulk operations
Type:
bulkgene -h
For instructions
## Original Ontology
* IRI: http://purl.obolibrary.org/obo/ro.owl
* VersionIRI: http://purl.obolibrary.org/obo/ro/releases/2018-05-11/ro.owl
## New Ontology
* IRI: http://purl.obolibrary.org/obo/ro.owl
@cmungall
cmungall / nucleus_query.pro
Created October 23, 2018 00:10
Example of bash datalog on GO
rel(S,P,O) :~ cat relationships.tsv
anc(S,O) :- rel(S,_,O).
anc(S,O) :- anc(S,Z),anc(Z,O).
main(X) :- anc(X, "GO:0005634").
% from https://twitter.com/mbeisen/status/1097569638555086851
:- use_module(library(clpfd)).
% xi where 1 <= xi <= M, 1 <= i <= N, sum(xi = 2M)
solve(M,N,L) :- length(L,N), L ins 1..M, sum(L,#=,M*2).
% use random_variable option when labeling results
test(M,N) :-solve(M,N,L), labeling([random_variable(5)],L), writeln(L), fail ; halt.
% TO RUN
@cmungall
cmungall / make_gdrive_index.py
Created June 12, 2019 01:46
Generate HTML index of a synced google drive folder. For me this is faster to search and navigate than the clunky slow google web interface. Pretty hacky code but it works for me
#!/usr/bin/env python3
import os
import re
import logging
import click
# don't index these
excludes = {
'single_files',
'Icon',
@cmungall
cmungall / oak-definitions.md
Created November 18, 2022 00:25
Fetching definitions with OAK
```sql
sqlite> attach 'db/orcid.db' as orcid_db;
sqlite> select * from contributor inner join orcid_db.orcid on (orcid.id=contributor.object) where orcid.label like 'Chris%';
obo:cl.owl|obo:cl.owl|dcterms:contributor|orcid:0000-0002-6601-2165||||orcid:0000-0002-6601-2165|Christopher J. Mungall
CL:0010001|CL:0010001|dcterms:contributor|orcid:0000-0002-6601-2165||||orcid:0000-0002-6601-2165|Christopher J. Mungall
CL:0010002|CL:0010002|dcterms:contributor|orcid:0000-0002-6601-2165||||orcid:0000-0002-6601-2165|Christopher J. Mungall
CL:0010003|CL:0010003|dcterms:contributor|orcid:0000-0002-6601-2165||||orcid:0000-0002-6601-2165|Christopher J. Mungall
CL:0010004|CL:0010004|dcterms:contributor|orcid:0000-0002-6601-2165||||orcid:0000-0002-6601-2165|Christopher J. Mungall
UBERON:0000093|UBERON:0000093|dcterms:contributor|orcid:0000-0002-6601-2165||||orcid:0000-0002-6601-2165|Christopher J. Mungall
UBERON:0000094|UBERON:0000094|dcterms:contributor|orcid:0000-0002-6601-2165||||orcid:0000-0002-6601-2165|Christopher J. M
@cmungall
cmungall / gist:27d726d42d03b85b7cfe275518310225
Created July 14, 2023 18:46
non-locatable uberon structures
http://purl.obolibrary.org/obo/UBERON_0003072 ! optic cup
http://purl.obolibrary.org/obo/UBERON_0008188 ! tendon of biceps brachii
http://purl.obolibrary.org/obo/UBERON_0005719 ! footplate apical ectodermal ridge
http://purl.obolibrary.org/obo/UBERON_0004468 ! set of muscles of vertebral column
http://purl.obolibrary.org/obo/UBERON_0009614 ! hindbrain neural plate
http://purl.obolibrary.org/obo/UBERON_0017615 ! vomerine dentition
http://purl.obolibrary.org/obo/UBERON_8480009 ! tendon of semitendinosus
http://purl.obolibrary.org/obo/UBERON_0005240 ! basal plate medulla oblongata
http://purl.obolibrary.org/obo/UBERON_0001999 ! iliopsoas
http://purl.obolibrary.org/obo/UBERON_0003854 ! spinal cord neural plate