Skip to content

cmdoret/htslurp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

htslurp

Warning

This is an experiment and the code is in a not-working state.

Attempt at making a noodles-based htsget client that can lazily deserialize records in memory. The aim is to provide a simple rust API with python bindings.

Context

The aim of this project is to provide a convenient interface to consume remote CRAM/BCF records over the network without storing them locally.

The noodles crate is used to fetch a binary stream from a server and construct a reader over it that can lazily instantiate records.

flowchart LR
    htsget[htsget-server] -->|bytes| Reader
    Reader -->|Cram records| python
Loading

Development

This project requires:

  • a working rust (>=1.76) and python (>=3.10) installation
  • maturin
  • uv
  • just

To build the python package:

just build

To install the project in installable mode:

just develop

About

slurp noodles-htsget streams into python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published