genie-sys 0.1.1

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

A rust binding for [Genie](https://github.com/MueFab/genie) (A Open Source MPEG-G Codec).

## Goal

This crate aims to provide application programing interface (API) for C++ implementation of [Genie](https://github.com/MueFab/genie).


## Quick Example Usage

```Rust
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]./tests/ folder.

## APIs

### Transcoding

+ [x] convert_fastq
+ [x] 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]https://github.com/google/autocxx/issues/1396)

## Contact

Sengrith PROM <psengrith@gmail.com>