podders

Crates.iopodders
lib.rspodders
version0.1.4
sourcesrc
created_at2023-12-20 17:01:47.859933
updated_at2024-07-10 10:51:53.673223
descriptionWrite uncompressed Pod5 files in native rust. No FFI! PODDDDERS
homepage
repositoryhttps://github.com/adoni5/podders/
max_upload_size
id1075525
size290,534
(Adoni5)

documentation

https://docs.rs/podders

README

Podders

podchamp

[!NOTE] The pod champ commeth Pronounced pɒdəɹz

Very simple native rust lib for writing POD5 files. No FFI Woooooooo LET'S GOOOOO

Limitations

Many!

  • ** Uncompressed signal** - I blasted this out in 7 days, so currently we are limited to uncompressed Signal.
  • Writing only - Again does what I need it to do. I would like to add more features at some point, but for now we are stuck with this.

Example usage


fn test() -> arrow::error::Result<()> {
    let mut pod5 = Pod5File::new("test_builder.pod5").unwrap();

    pod5.push_run_info(dummy_run_info());
    pod5.write_run_info_to_ipc();
    println!("{:#?}", pod5.run_table.length);

    let read = dummy_read_row(None).unwrap();
    let read_2 = dummy_read_row(Some("9e81bb6a-8610-4907-b4dd-4ed834fc414d")).unwrap();

    pod5.push_read(read);

    pod5.push_read(read_2);
    pod5.write_reads_to_ipc();
    // println!("{:#?}", pod5._signal);
    pod5.write_signal_to_ipc();
    pod5.write_footer();

    Ok(())
}

Changelog

V0.1.1

  • Made struct fields on RunInfoData and ReadInfo public - whoops!
Commit count: 40

cargo fmt