Releases: INCATools/ontology-access-kit
v0.6.17
Highlights
Fine-grained cache management for sqlite downloads
OAK makes use of the pystow framework for caching downloads - one of the main uses for this is to cache downloads of sqlite builds of each ontology. Previously it was left to the user to go into their cache directory and remove old stale files.
This release provides finer grained control, e.g. via the global --caching
option on the command line
See
For full details
Credit: @gouttegd
Additional OWL graph projections
We now include support for SubClassOf-hasValue pattern, exemplied by OBI's relationship between sequencers and manufacturers.
obi relationships MiSeq
yields:
subject | predicate | object | subject_label | predicate_label | object_label |
---|---|---|---|---|---|
OBI:0002003 | rdfs:subClassOf | OBI:0400103 | MiSeq | None | DNA sequencer |
OBI:0002003 | OBI:0000304 | OBI:0000759 | MiSeq | is_manufactured_by | Illumina |
We also now include a test ontology for graph projections that could form part of a general test suite outside of OAK.
The OAK guide now includes a section on graph projections:
New validate-subset
command
The default metrics used for evaluation involve calculating the degree of overlap between members of the
subset. Subsets in general should partition the ontology into sets that overlap as little as possible.
Different overlap metrics can be plugged in, see the information-content methods for more details.
The simplest way to run this is to pass in a list of terms via a subset query
runoak -i po.db validate-subset p i,p .in Tomato
You can also calculate IC scores for each term and pass them in via a file:
runoak -i amigo:NCBITaxon:9606 information-content -o human-ic.tsv
Then
runoak -i go.db validate-subset p i,p .in goslim_generic --information-content-file human-ic.tsv
This command also understand the GO subset metadata format. You can use this as configuration for
validating multiple subsets:
runoak -i go.db validate-subset --config-yaml go_subsets_metadata.yaml -X "i^BFO:" -O yaml
The taxon field is used to validate each subset according to its appropriate context
What's Changed
- Add test for all_by_all_pairwise_similarity() in semsimian using custom IC map by @justaddcoffee in #801
- Add cache management features by @gouttegd in #799
- Enhanced heatmap functionality by @cmungall in #798
- Adding a .sample operator by @cmungall in #797
- graph projections by @cmungall in #806
- subset validation by @cmungall in #806
- Update cli.rst (fixed very minor documentation error) by @DnlRKorn in #804
Full Changelog: v0.6.16...v0.6.17
v0.6.16
v0.6.15
v0.6.14
v0.6.13
What's Changed
- Supporting skos mappings for simpleobo and pronto. by @cmungall in #766
- structured_format.pattern-style permissible value creation eg for MIxS by @turbomam in #785
- Update sql_implementation.py to include sqlachemy output in debug logging. by @DnlRKorn in #782
New Contributors
Full Changelog: v0.6.12...v0.6.13
v0.6.12
v0.6.11
v0.6.10
v0.6.9
v0.6.8
Highlights
This PR adds a new interface, UsageInterface, and accompanying command usages
.
Fixes #777
One of the primary use cases here is for an ontology developer to know whether it is safe and who to alert when considering obsoleting a term.
Due to OAK's architecture it is easy to use this command to multiplex a query across multiple endpoints: QuickGO, AmiGO, Ubergraph, multiple sqlite databases, Ontobee....
Usage: runoak usages [OPTIONS] [TERMS]...
List usages of a term or set of terms.
Usages of neuron in GO:
runoak -i sqlite:obo:go usages CL:0000540
Association/annotations sources can also be used:
runoak -i quickgo: usages GO:0031969
Note this query may be slow - you can restrict to a species:
runoak -i quickgo:NCBITaxon:9606 usages GO:0031969
(this should return no results, as there should be no human proteins
annotated to chloroplast membrane)
Using amigo:
runoak -i amigo: usages GO:0031969
Using ubergraph:
runoak -i ubergraph: usages CL:0000540
This will include usages over multiple ontologies
You can multiple queries over multiple sources (an
AggregatorImplementation):
runoak -i sqlite:obo:go -a ubergraph: -a amigo: -a quickgo: usages
GO:0031969
Options:
-o, --output FILENAME Output file, e.g. obo file
--autolabel / --no-autolabel If set, results will automatically have labels
assigned [default: autolabel]
-O, --output-type TEXT Desired output type
-o, --output FILENAME Output file, e.g. obo file
-P, --used-by-prefix TEXT
--help Show this message and exit.
To support this, this PR also includes a QuickGO adapter
Current behavior may be incomplete. For example, if a term is used in axiom annotation this may not be detected. This functionality is currently for exploration and to drive requirements for a complete tool
What's Changed
Full Changelog: v0.6.7...v0.6.8