Skip to content

esteinig/Streamfish

Repository files navigation

Streamfish

Giant salmon body-slamming fisherman

Low-latency adaptive sampling using asynchroneous streams and RPC.

Streamfish started as a side project to re-implement the ReadUntil API and parts of the Minknow API in Rust. I wanted to better understand how the adaptive sampling mechanics work in the background.

While Streamfish approaches the adaptive sampling mechanics from a slightly different angle than Readfish by using asynchroneous streams, it implements many of the principles developed by the LooseLab. You could consider Streamfish a highly experimental relative of Readfish.

It is very much recommended not to use it for real sequencing runs, unless you are swimming in money or something 🐡

Table of contents

  1. Motivation
  2. Documentation
  3. Features
  4. Warnings
  5. System requirements
  6. Installation
  7. Dependencies
  8. Schematics
  9. Simulations
  10. Benchmarks

Documentation

A full description of features, configurations and deployment options can be found in the documentation.

Features

More details on Streamfish features can be found in the documentation (TBD).

Warnings

This is an experimental adaptive sampling client. It is not user-friendly. Please use Readfish or other suitable implementations for real sequencing experiments.

System requirements

  • Linux system with suitable resources and NVIDIA GPU capable of running Guppy/Dorado
  • MinKNOW > v.5.3 for TLS certificates and playback of live sequence runs

I have mainly tested this system on a gaming computer running Ubuntu 20.04 LTS with 16 cores (AMD), NVIDIA GTX 3060 12GB RAM with drivers supporting CUDA 11.4 or higher and 48 GB RAM. Streamfish client and server run their asynchroneous routines on a single thread. Basecalling and reference mapping require more resources depending on throughput and experiment configuration. Slice and dice configurations may be more exhaustive on CPU depending on how many clients are run simultaneously; slice and dice partitions can be spread across multiple GPUs.

Installation

TBD

Dependencies

TBD

Schematics

TBD

Benchmarks

TBD

Simulations

TBD

About

Adaptive sampling client for nanopore devices; a streamy relative of Readfish

Resources

License

Stars

6 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors