#genomic #bioinformatics #genie #api-bindings #gabac #mpge-g

sys genie-sys

A rust binding for Genie (A Open Source MPEG-G Codec)

2 releases

0.1.1 Dec 18, 2024
0.1.0 Dec 14, 2024

#124 in Biology

Download history 219/week @ 2024-12-12 49/week @ 2024-12-19

268 downloads per month

MIT/Apache

20KB
385 lines

Genie-sys

A rust binding for Genie (A Open Source MPEG-G Codec).

Goal

This crate aims to provide application programing interface (API) for C++ implementation of Genie.

Quick Example Usage

use genie_sys::*;

fn main() {
    let file = concat!(env!("OUT_DIR"), "/genie/data/fastq/simplest.fastq").to_string();
    let ofile = "output.mgrec".to_string();
    unsafe { geniesys::convert_fastq(file, ofile, 1) };
}
  • More example use cases in tests folder.

APIs

Transcoding

  • convert_fastq
  • convert_mgrec
  • convert_fasta

Nucleotide Encoding

TODO:

Sequence Transformation

TODO:

Genie Core API

Could be enabled by adding feature core_capi.

[!WARNING] Limitation

C++ API will be supported when autocxx could resolve issue with Apple C++ headers >= 16. (#1396)

Contact

Sengrith PROM psengrith@gmail.com

Dependencies

~3–10MB
~198K SLoC