Skip to main content

PyPI version Build Status Binder

Documentation

https://sys-bio.github.io/libOmexMeta

libOmexMeta

LibOmexMeta is a library aimed at providing developer-level support for reading, writing, editing and managing semantic annotations for biosimulation models. The COMBINE modeling community has developed consensus around how best to annotate models and how to package these models into archives (OMEX files) that include the modeling source code, the annotations, files that describe parameters and settings needed for simulations (in a SEDML file), and potentially the data used for these modeling efforts. This consensus was initially described in the publication "Harmonizing semantic annotations for computational models in biology" (Briefings in Bioinformatics, 2018).

The goal of semantic annotations are to make explicit the biology that underlies the semantics of biosimulation models. By using standard knowledge resources about biology and biological processes (such as CheBI, Uniprot, and ontologies of anatomy), we can make the models more understandable, reusable and reproducible. More information can be found at the OMEX Metadata Specification web page.

LibOmexMeta is a C++ library with a C interface that is used to build a Python front end (pyomexmeta). LibOmexMeta uses RDF as a framework for representing these annotations. At the core of libOmexMeta are the Redland libraries: - raptor2 for parsing RDF syntax into RDF graphs and serializing the output - rasqal for querying RDF graphs - librdf as a front end to raptor2 and rasqal and for triple stores.

Live demonstration

An interactive demonstration of pyomexmeta via Jupyter notebook is available via the launch binder badge above or by following this direct link. When you get to the binder site, select the file called "notebook.ipynb" to start the demo. Remember that notebooks are made of cells containing code. To execute code in a particular cell, select the cell and then pick the run button in the tool bar. The source for this live demonstration is available here: https://github.com/sys-bio/pyomexmeta-binder-notebook.

Features

Parsers

  • rdfxml, ntriples, turtle, trig, rss-tag-soup, grddl, guess, rdfa, nquads, guess

Serializers

  • ntriples, turtle, rdfxml-xmp, rdfxml-abbrev, rdfxml, rss-1.0, atom, dot, json-triples, json, nquads, html

Querying

  • Languages
  • Query result formats:
    • xml, json, table, csv, mkr, tsv, html, turtle, rdfxml,

Storages modules

  • hashes, memory, file, mysql, sqlite, uri, tstore (may be supported on request), postgresql (supported but not tested), virtuoso (may be supported on request),

Platform

  • Windows
  • Linux Ubuntu 18.04
  • ManyLinux 2014
  • MacOs

Installation

Python

Use pip.

$ pip install pyomexmeta
# verify its worked
$ ipython -c "import pyomexmeta"

Python 3 only - if you're not using Python 3, I recommend you upgrade.

Docker

You can get a docker image using

$ docker pull ciaranwelsh/libomexmeta

This is an Ubuntu 18.04 based container that has libOmexMeta prebuilt and installed under /libOmexMeta/install-docker. See dockerfile for full set of commands to build libOmexMeta on ubuntu. Conda is preconfigured and pyomexmeta is installed.

Downloading Binaries

You can download binaries from the releases tab

Building from source

See the azure-pipelines.yml file to see how we build libOmexMeta on Azure Pipelines.

We use vcpkg for acquiring the dependencies that we need on all platforms. Therefore, the following works on windows, linux and macOS. Note that on linux you need gcc-9 or greater. libOmexMeta was developed with gcc-10.2.

# set variable to hold vcpkg location: 
VCPKG_INSTALL_PREFIX="/full/path/to/vcpkg"
git clone https://github.com/microsoft/vcpkg.git $VCPKG_INSTALL_PREFIX
cd $VCPKG_INSTALL_PREFIX
./bootstrap-vcpkg.sh
vcpkg integrate install
vcpkg install curl pcre openssl yajl sqlite3 liblzma

Now build libOmexMeta

git clone https://github.com/sys-bio/libOmexMeta.git
cd libOmexMeta
mkdir build
cd build
cmake -DVCPKG_ROOT=$VCPKG_INSTALL_PREFIX -DCMAKE_INSTALL_PREFIX="/full/path/to/where/you/want/to/install/libomexmeta" -DBUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=ON ..
cmake --build . --target install --config Release -j 12

Metadata

Release files for pyomexmeta 1.2.14.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pyomexmeta 1.2.14.1
File
pyomexmeta-1.2.14.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
pyomexmeta-1.2.14.1-py3-none-manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
pyomexmeta-1.2.14.1-py3-none-macosx_13_0_arm64.whl Python 3 none macOS 13.0+ ARM64 Details
pyomexmeta-1.2.14.1-py3-none-macosx_10_15_x86_64.whl Python 3 none macOS 10.15+ x86-64 Details

Total release size: 14.7 MB

Release files / pyomexmeta-1.2.14.1-py3-none-win_amd64.whl

Download URL pyomexmeta-1.2.14.1-py3-none-win_amd64.whl
Size 2.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
836ca4d513b2ead2cfa989d7d9ad5af5144b88f79c4fbf19b0b442cff5d7f718
BLAKE2b-256 checksum
How to use checksums
816b41f5971d6490671163a92ba00875161dfd0d731acea90697e2297e6dc1a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / pyomexmeta-1.2.14.1-py3-none-manylinux2014_x86_64.whl

Download URL pyomexmeta-1.2.14.1-py3-none-manylinux2014_x86_64.whl
Size 5.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6b94371ef1afad1bf15abfdb351da4dece232e40a17d9ce5edddb7f3192dac30
BLAKE2b-256 checksum
How to use checksums
738b714aa3e1c5a72a7b6398e4096e806f40aa694a5e7de7335b354c85dfe627
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / pyomexmeta-1.2.14.1-py3-none-macosx_13_0_arm64.whl

Download URL pyomexmeta-1.2.14.1-py3-none-macosx_13_0_arm64.whl
Size 3.0 MB
Tags Python 3 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
d38cd2d5214ad3f18a7eece1b07b9853470a1c5883641e6fefc3f9bd7344ad10
BLAKE2b-256 checksum
How to use checksums
556845c024ee9a2b9846ccbcd8bf5b8002ee696895aad52b61e99b979e798356
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / pyomexmeta-1.2.14.1-py3-none-macosx_10_15_x86_64.whl

Download URL pyomexmeta-1.2.14.1-py3-none-macosx_10_15_x86_64.whl
Size 3.4 MB
Tags Python 3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
8f53b5f4e56bb7031f022d279d8c6e5a0975c948ea111d5f6eee6faa87f39901
BLAKE2b-256 checksum
How to use checksums
ba723af325f2d9dbd9dfde172d4690037e808d83d44f530d8c537b8f4024e092
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

1.2.14.1 This release

4 release files

1.2.12

9 release files

1.2.11

9 release files

1.2.10

9 release files

1.2.9

9 release files

1.2.8

9 release files

1.2.7

9 release files

1.2.6

9 release files

1.2.5

3 release files

1.2.3

6 release files

1.2.1

6 release files

1.2.0

3 release files

1.1.22

3 release files

1.1.20

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page