Releases: INCATools/ontology-access-kit
v0.5.22
v0.5.21
What's Changed
- Fix for #662 - Update address for node normalizer endpoint by @caufieldjh in #663
- Use passthrough from curies v0.6.6 by @cthoyt in #669
Full Changelog: v0.5.20...v0.5.21
v0.5.21-rc2
Full Changelog: v0.5.19-rc1...v0.5.21-rc2
v0.5.20
Highlights
Optional extra: LLM for Named Entity Recognition (Annotation)
Optional extra, https://llm.datasette.io/
pip install 'oaklib[llm]'
This provides a lightweight version of OntoGPT. Currently only the annotate
endpoint is implemented.
Create a file conf.yaml
categories: [PhenotypicFeature, Disease]
sources: [human-phenotype-ontology]
The conf file is optional - this affects the prompt
Note the conf file format for LLM is experimental and liable to change:
Run:
runoak -i llm:sqlite:obo:hp annotate -C conf.yaml "the patient has bowed and shortened tibia, as well as absent ears and no lungs"
The output is in the standard OAK text annotation format
TODO:
- experiment with different prompt settings
- stabilize format
- further documentation
Attaching metadata to relationships
As requested by @joeflack4
See:
Example code:
>>> from oaklib import get_adapter
>>> adapter = get_adapter("sqlite:obo:mondo")
>>> rels = list(adapter.relationships(["MONDO:0009831"]))
>>> for rel, metadatas in adapter.relationships_metadata(rels):
... for p, v in metadatas:
... print(rel, p, v)
<BLANKLINE>
...
('MONDO:0009831', 'rdfs:subClassOf', 'MONDO:0002516') oio:source NCIT:C9005
...
Or on the command line:
runoak -i sqlite:obo:mondo relationships MONDO:0009831 --include-metadata -p i
What's Changed
- Adding llm as an extra, adding llm implementation for annotation by @cmungall in #658
- Additional documentation by @cmungall in #655
- Adding ability to retrieve axiom annotations on relationships (axiom annotations) by @cmungall in #656 @joeflack4
- minor obographviz config change: new color disambiguating chebi by @cmungall in #657
Full Changelog: v0.5.19...v0.5.20
v0.5.19
Highlights
The release adds a command validate-mappings
:
Given an ontology, it will fetch all mappings, and check them for
- cardinality problems
- links to obsolete classes
The output is an SSSOM file containing only problematic lines, with the problem injected into the comment file
Example notebook:
https://github.com/INCATools/ontology-access-kit/blob/main/notebooks/Commands/ValidateMappings.ipynb
can be used in python like this
>>> from oaklib import get_adapter
>>> from oaklib.utilities.mapping.mapping_validation import validate_mappings
>>> adapter = get_adapter("sqlite:obo:xao")
>>> mappings = list(adapter.sssom_mappings())
>>> for errors, m in validate_mappings(mappings):
... print(errors, m.subject_id, m.object_id)
<BLANKLINE>
...
What's Changed
- examples for working with disjoints by @cmungall in #651
- Adding validate-mappings command. by @cmungall in #652
Full Changelog: v0.5.18...v0.5.19
v0.5.19-rc1
v0.5.18
Highlights
Query and Generate disjointness constraints in the ontology
This release adds the disjoints
and generate-disjoints
for querying and generating candidate disjointness axioms, along with corresponding python API.
This tool is intended primarily for ontology developers, to better explore axioms in there ontology, and to suggest new ones. See the example notebook:
https://github.com/INCATools/ontology-access-kit/blob/main/notebooks/Commands/Disjoints.ipynb
What's Changed
- New notebook that runs examples showcased in Mondo paper by @hrshdhgd in #584
- Allow diffs to be filtered by change type (kgcl) by @cmungall in #647
- Interface for association search by @cmungall in #646
- Adding utilities for working with disjoint classes. by @cmungall in #650
Full Changelog: v0.5.17...v0.5.18
v0.5.18-rc2
Full Changelog: v0.5.18-rc1...v0.5.18-rc2
v0.5.18-rc1
Full Changelog: v0.5.17...v0.5.18-rc1