No project description provided
Project description
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.
Libsemsim is a C++ library with a C interface that is used to build a Python front end (pyomexmeta). Libsemsim 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.
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, untested on other flavours.
libOmexMeta has not been tested on a Mac.
Documentation
https://sys-bio.github.io/libOmexMeta/
Note: documentation is being written presently
Installation
Python
On linux, grab some dependencies:
$ sudo apt install libxml2 libxml2-dev libxslt1-dev libpq-dev
Windows is self-contained.
Now 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:v1.1.0
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 above for docker image which does this for you already on linux builds. The build process is similar on both windows and linux, but linux has some additional dependencies installed via apt-get
.
On Linux only, install some dependencies using apt
Note, the build process is not yet fully optimized for linux and will be improved
Pick up some dependencies
$ sudo apt-get install -y sqlite3 libsqlite3-dev libxml2 libxml2-dev \
libxslt1-dev postgresql postgresql-contrib libdb-dev \
libdb-dev gcc-10 g++-10 flex bison doxygen python3-sphinx\
libpthread-stubs0-dev libltdl-dev git
Switch default gcc to version 10.1:
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
On both Linux and Windows
Get vcpkg
$ git clone https://github.com/microsoft/vcpkg.git
$ cd vcpkg
Configure vcpkg and install dependencies on Linux
$ ./bootstrap-vcpkg.sh
$ vcpkg integrate install
$ vcpkg install libxml2 curl libiconv pcre openssl yajl libpq sqlite3
Note: this is where the linux build is not optimized.
Configure vcpkg and install dependencies on Windows
> bootstrap-vcpkg.bat
> vcpkg integrate install
> vcpkg install libxml2:x64-windows curl:x64-windows libiconv:x64-windows pcre:x64-windows openssl:x64-windows yajl:x64-windows libpq:x64-windows sqlite3:x64-windows libxslt:x64-windows
Build libOmexMeta
Use CMake > 15.7
git clone https://github.com/sys-bio/libOmexMeta.git
cd libOmexMeta
mkdir build && cd build
cmake -DVCPKG_ROOT=/vcpkg -DCMAKE_INSTALL_PREFIX=../install-linux -DBUILD_TESTS=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..
make -j 8
make install # or sudo if installing to default location (i.e. omit the `-DCMAKE_INSTALL_PREFIX`)
ToDo
- Change the date attribute to use a blank node.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for pyomexmeta-1.1.23-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bfbb80697321050989f4b80bebb3616d70c218d94dac674b7fd85a84388c350 |
|
MD5 | 6b53371944e6dfe68bd31aea3a4474bd |
|
BLAKE2b-256 | db75f8a2fe2245a35dc6181e8fead2e8ac729f3d079a2bc8f9cb5f883b310c08 |
Hashes for pyomexmeta-1.1.23-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4785aad1f7862be406b5fb18a3285fc74cdacd88776dcb2f843b2bbd05b8b120 |
|
MD5 | dc93a0120f7fee52995a2e0df464b0f2 |
|
BLAKE2b-256 | d761051ab60b5fd157f0b6609b3fdbff0de119d8d7bd541ae0090fe6474a2248 |
Hashes for pyomexmeta-1.1.23-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aa17401ddaf87a905ae83c72393243b858360cf5f6b1e878673e78c7ed4e701 |
|
MD5 | 38caf9f3db00c1085b0e97162fabe0cc |
|
BLAKE2b-256 | 894c9a12fe7036c67124587e74dbdf5f94a6d1feb707f064042f4c90e9e7dfcf |