No description
Find a file
2025-06-28 11:03:26 +01:00
.github/workflows remove tests on macos unless release; cleanup 2025-04-23 15:54:01 +01:00
benchmark remove tests on macos unless release; cleanup 2025-04-23 15:54:01 +01:00
docs update docs 2025-06-27 14:07:35 +01:00
readfx add paired end support 2025-06-27 14:07:19 +01:00
src utils 2025-06-01 18:21:52 +02:00
tests paired-end-tests 2025-06-27 14:07:08 +01:00
.gitignore exclude macos files 2025-05-08 14:43:37 +01:00
LICENSE relabel to readfx 2025-01-08 11:00:47 +00:00
readfx.nim add paired end support 2025-06-27 14:07:19 +01:00
readfx.nimble version-bump 2025-06-27 14:09:42 +01:00
README.md Update README.md 2025-06-28 11:03:26 +01:00

ReadFX - Nim FASTQ/FASTA Parser

Nim Tests

The Nim FASTA/FASTQ parsing library for SeqFu.

Installation

nimble install readfx

Usage

import readfx

# Using the C wrapper (klib)
for record in readFQ("example.fastq"):
  echo record.name, ": ", record.sequence.len
  
# Using pointer-based version (more efficient, reuses memory)
for record in readFQPtr("example.fastq.gz"):
  echo $record.name, ": ", $record.sequence.len
  
# Using the native Nim implementation
var r: FQRecord
var f = xopen[GzFile]("example.fastq.gz")
defer: f.close()
while f.readFastx(r):
  echo r.name, ": ", r.sequence.len

# Reading paired-end FASTQ files
for pair in readFQPair("sample_R1.fastq.gz", "sample_R2.fastq.gz"):
  echo "R1: ", pair.read1.name, " (", pair.read1.sequence.len, " bp)"
  echo "R2: ", pair.read2.name, " (", pair.read2.sequence.len, " bp)"

Authors