An open API service indexing awesome lists of open source software.

https://github.com/kojix2/read_until


https://github.com/kojix2/read_until

adaptive-sampling crystal-lang minknow nanopore oxford-nanopore

Last synced: 13 days ago
JSON representation

Awesome Lists containing this project

README

          

# read_until.cr

[![Test](https://github.com/kojix2/read_until/actions/workflows/test.yml/badge.svg)](https://github.com/kojix2/read_until/actions/workflows/test.yml)
[![Lines of Code](https://img.shields.io/endpoint?url=https%3A%2F%2Ftokei.kojix2.net%2Fbadge%2Fgithub%2Fkojix2%2Fread_until%2Flines)](https://tokei.kojix2.net/github/kojix2/read_until)

🕳️⚡ Oxford Nanopore [Read Until](https://github.com/nanoporetech/read_until_api) - for [Crystal](https://crystal-lang.org/)

## Installation

Add the dependency to your shard.yml:

```yaml
dependencies:
read_until:
github: kojix2/read_until
```

Run `shards install`

## Usage

```crystal
require "read_until"
```

Run example:

```sh
crystal run examples/basic.cr
```

Minimal streaming shape:

```crystal
client = ReadUntil::Client.new(connection)

client.open(
channels: 1..512,
mode: ReadUntil::StreamMode::OneChunk,
prefilter: ReadUntil::Prefilter.strand_like(:strand, :adapter),
) do |session|
session.each_read(batch_size: 16) do |read|
signal = read.signal(Int16)
if reject?(signal)
session.unblock(read, for: 100.milliseconds)
end
end
end
```

## Development

- Your contributions and feedback are welcome
- This library was generated by an AI agent based on human instructions.

## License

This project is distributed under the Mozilla Public License 2.0 (MPL-2.0).

It includes a Crystal port of Oxford Nanopore's Python `read_until_api` and
inherits the upstream license requirements for derived source files.

- Project license: [LICENSE](LICENSE)
- Upstream project: https://github.com/nanoporetech/read_until_api
- Upstream license text: https://github.com/nanoporetech/read_until_api/blob/release/LICENSE.md