Skip to main content

A parser for SBML

Project description

Crates.io pypi Documentation Build Codecov

rust_sbml

Parser for the Systems Biology Markup Language (SBML):

Getting started

Rust

Add it to your Cargo.toml with no default features to avoid all PyO3 nuisances.

[dependencies.rust_sbml]
version = "0.7.0"
default_features=false

For example,

use rust_sbml::Model;

let example=r#"<?xml version="1.0" encoding="UTF-8"?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" level="3" version="2">
     <model timeUnits="second" extentUnits="mole" substanceUnits="mole">
     </model>
</sbml>"#;
let result = Model::parse(example);
println!("{:?}", result.unwrap());

See write_to_file.rs for an example on serializing to a file.

Python

It has only been tested on Linux.

Using pip

pip install rust_sbml

From source

Clone the repository.

git clone https://github.com/carrascomj/rust_sbml.git

You need maturin for building it.

python -m pip install maturin
  • Build locally
    maturin build --release
    pip install .
    
  • Build on virtualenv (no pip install required)
    # --release can be omitted to speed up compilation time
    maturin develop --release
    

Having it installed, you can use it as a normal Python package.

from rust_sbml import Model

sbml = Model("examples/EcoliCore.xml")
reaction = sbml.getListOfReactions()[0]
print(reaction.getListOfReactants())

Milestones

  • getListOfSpecies() (id, name)
  • getListOfCompartments() (id, name)
  • getListOfReactions() (id, name)
    • .getListOfReactants() (id, name)
    • .getListOfProducts() (id, name)
  • Capable of retrieving FBC bounds.
  • Published to pypi
  • Kinetic Laws, with naive mathml tailored for SBML.
  • Metadata, with naive rdf tailored for SBML.
  • Test suite with python calls.
  • Test suite with libsbml comparison trough cobrapy.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

README.md is automatically generated on CI using cargo-readme. Please, modify README.tpl or lib.rs instead (check the github worflow for more details).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rust_sbml-0.7.0.tar.gz (81.7 kB view details)

Uploaded Source

Built Distributions

rust_sbml-0.7.0-cp39-cp39-manylinux2010_x86_64.whl (450.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

rust_sbml-0.7.0-cp39-cp39-macosx_10_7_x86_64.whl (418.2 kB view details)

Uploaded CPython 3.9 macOS 10.7+ x86-64

rust_sbml-0.7.0-cp38-cp38-manylinux2010_x86_64.whl (449.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

rust_sbml-0.7.0-cp38-cp38-macosx_10_7_x86_64.whl (417.6 kB view details)

Uploaded CPython 3.8 macOS 10.7+ x86-64

rust_sbml-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl (450.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

rust_sbml-0.7.0-cp37-cp37m-macosx_10_7_x86_64.whl (417.7 kB view details)

Uploaded CPython 3.7m macOS 10.7+ x86-64

rust_sbml-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl (447.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

File details

Details for the file rust_sbml-0.7.0.tar.gz.

File metadata

  • Download URL: rust_sbml-0.7.0.tar.gz
  • Upload date:
  • Size: 81.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.9.4

File hashes

Hashes for rust_sbml-0.7.0.tar.gz
Algorithm Hash digest
SHA256 0088b4097c74d15a6f144c974a124a25ce77a9a36a82f1cc108a7142f0cf7df3
MD5 1e9d27082e830361d89ec70156ed63ff
BLAKE2b-256 5779e2d5eb1f16c265e4744db5925adabcc8a8fbef20d746a1b5bcc27c32d589

See more details on using hashes here.

File details

Details for the file rust_sbml-0.7.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for rust_sbml-0.7.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d4f6e816fd80ef26b2e7881e8b8870eac9698fd627de51ed5deb1dcba3802e87
MD5 8cbea3fc2fd5ffeb3b7d33bb5ec3d485
BLAKE2b-256 21e475c73f4a6ac8e76951c5e5b2e9fff92c42d9c00730011a22ea7bdbe7532c

See more details on using hashes here.

File details

Details for the file rust_sbml-0.7.0-cp39-cp39-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for rust_sbml-0.7.0-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 9df78e16c092d0c0d07951bfcd2f57e64a3b52b9abaaf5a1980fb0f654b8ee18
MD5 71aa43feec541ee3e8a61b40490ea910
BLAKE2b-256 46ebb387d240073f83d07b0451a1d19098cd5e496e3ee70c52292a4b84abde20

See more details on using hashes here.

File details

Details for the file rust_sbml-0.7.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for rust_sbml-0.7.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 850987a7dd3b5aa82184c4aaffe2f63647f938bbad4b9fdbd4f73a17885c899b
MD5 30021a8fe1f28499884bd8d98dd426d2
BLAKE2b-256 0aaaf1e6233f8e6d112a379624dd06e3cb11ec1d03dcd1938996a1dda7702dbc

See more details on using hashes here.

File details

Details for the file rust_sbml-0.7.0-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for rust_sbml-0.7.0-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 e459a94ff8faed36e44d8ec94558a27f470599fc112aa794a933005c5e7d19e1
MD5 9b270b51a7e8a54706627c214b0d3541
BLAKE2b-256 20239771da23f357fbd20751b65ed2d780495c63c9ea5e0f317e00d890abecc8

See more details on using hashes here.

File details

Details for the file rust_sbml-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for rust_sbml-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6d2006b8cf4d4ed6b63bb21111dd0bcf15a291565753c1bfc76d9912dd3cfede
MD5 c3beb4b012b491b2a7cda1a333aceb8d
BLAKE2b-256 726dcd50c9e9348cf28ccf21cd8d430920708ed566f6adf3eb7b355306416c3f

See more details on using hashes here.

File details

Details for the file rust_sbml-0.7.0-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for rust_sbml-0.7.0-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 fbc88784e11e871b1d1eb61b72d5edd8047548910194834c13bf8a0551b49d28
MD5 effbb614c06203276ace86244b998906
BLAKE2b-256 00be16fbda6aa52fa23c46b085e5f3b6419ebc9d2eee953000ba9ecd6f49496f

See more details on using hashes here.

File details

Details for the file rust_sbml-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for rust_sbml-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a4d51dd9394b1ec03654d1b761fdb86125446e64add80242a63aa6ebd411672c
MD5 7b3aff74e0431f0cfbdc68a777daa9c4
BLAKE2b-256 c4915970a77a536ab5ac7f57cc1483fa0257e2ef44a592596da45740aba441ea

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page