Skip to content

Releases: INCATools/ontology-access-kit

v0.6.17

01 Oct 15:57
adb26c6
Compare
Choose a tag to compare

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:

https://incatools.github.io/ontology-access-kit/guide/relationships-and-graphs.html#further-notes-on-owl-and-graph-projection

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

Full Changelog: v0.6.16...v0.6.17

v0.6.16

20 Aug 20:44
7602658
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.15...v0.6.16

v0.6.15

15 Aug 20:34
a0bf7ae
Compare
Choose a tag to compare

What's Changed

  • Implementing NodeDeletion which was earlier a comment. by @hrshdhgd in #791

Full Changelog: v0.6.14...v0.6.15

v0.6.14

01 Aug 16:43
2458242
Compare
Choose a tag to compare

What's Changed

  • set_label will INSERT if label not already presented. Fixes #788 by @cmungall in #789

Full Changelog: v0.6.13...v0.6.14

v0.6.13

31 Jul 21:57
a112885
Compare
Choose a tag to compare

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

23 Jul 20:25
5bec328
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.11...v0.6.12

v0.6.11

03 Jul 16:51
b32706b
Compare
Choose a tag to compare

What's Changed

  • Solves ClassCreation duplication & formats Mappings md table properly by @hrshdhgd in #780

Full Changelog: v0.6.10...v0.6.11

v0.6.10

20 Jun 18:02
2baba34
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.9...v0.6.10

v0.6.9

05 Jun 21:00
8b25588
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.8...v0.6.9

v0.6.8

05 Jun 14:53
84bd709
Compare
Choose a tag to compare

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