Sign in

    moonbit-fastq-qc

    Streaming FASTQ quality control for MoonBit Native

    moonbit
    fastq
    bioinformatics
    quality-control
    Download zip
    Author
    Version
    0.1.2
    License
    Apache-2.0
    Last updated
    2 months ago
    Downloads
    25

    No dependencies

    #moonbit-fastq-qc

    moonbit-fastq-qc is a MoonBit Native toolkit for validating FASTQ data, measuring read quality, and preparing reads for local analysis pipelines. It accepts plain FASTQ and FASTQ.GZ input and writes deterministic JSON and standalone HTML reports.

    #Capabilities

    • FASTQ structure, DNA alphabet, sequence/quality length, and truncation checks
    • Phred+33 and Phred+64 quality handling
    • Read length, GC, N content, per-position quality, duplication, and adapter metrics
    • Optional length, quality, N-count, and N-ratio filtering
    • Adapter, fixed-length, and low-quality-tail trimming
    • Paired-end name, duplicate, and length consistency checks
    • Native gzip input through the bundled zlib adapter
    • Versioned JSON output and offline HTML output

    The repository contains synthetic fixtures only. It does not contain clinical, patient, or production sequencing data.

    #Quick start

    moon run --target native cmd/fastq_qc -- fixtures/basic.fastq \ --phred-offset 33 \ --adapter-file fixtures/adapters.txt \ --json _build/report.json \ --html _build/report.html

    Gzip input uses the same command with fixtures/basic.fastq.gz. The JSON report is the machine-readable contract; HTML embeds the same report and does not request network resources.

    #Library layout

    fastq/ validated record model and parser metrics/ quality, length, GC, and N statistics contamination/ adapter and duplicate analysis pipeline/ deterministic filtering and trimming paired/ paired-end consistency checks report/ versioned JSON and standalone HTML renderers native/gzip/ Native gzip bridge and its third-party notices cmd/fastq_qc/ command-line wiring and file I/O fixtures/ synthetic, checksummed examples scripts/ reproducible source-scale and benchmark commands docs/ validation notes and fixture documentation

    #Development

    Install the current stable MoonBit toolchain using the official installer, then run:

    moon fmt --check moon check --deny-warn moon info git diff --exit-code moon test --deny-warn moon test --target native --deny-warn

    For a transparent source-size breakdown on Windows:

    powershell -ExecutionPolicy Bypass -File scripts/source_scale.ps1

    The script reports project MoonBit production/test lines, project-owned Native lines, and bundled third-party zlib lines separately. Generated _build files, interface files, documentation, and third-party code are not silently mixed into the MoonBit total.

    #Reproducibility and limitations

    Fixtures and their hashes are documented in fixtures/README.md. The validation matrix and observed local measurements are recorded in docs/validation.md. Benchmark numbers are machine- and toolchain-dependent observations, not performance guarantees.

    This project is intentionally smaller than a full FastQC replacement. It does not provide remote input, clinical interpretation, complete FastQC module compatibility, or automatic repair of inconsistent paired-end data.

    #License

    The project is licensed under Apache-2.0. The bundled zlib source and notices are documented in THIRD_PARTY_NOTICES.md.

    schema_version

    fn schema_version() -> Int

    Returns the current JSON report schema version.

    Source Files

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io