{"name":"@jennifer/ngs","description":"Streaming NGS file formats, read QC, interval arithmetic and pipeline orchestration","versions":{"0.1.0":{"version":"0.1.0","kind":"git","url":"https://github.com/deckyard/deck-ngs.git","ref":"0.1.0","commit":"a3ecd948ffe2ea9151f8906e18548e0275c12162","checksum":"","yanked":true,"license":"LGPL-3.0-only","requires":{},"engines":{"jennifer":"\u003e=0.25.0"},"capabilities":["exec"],"keywords":["bioinformatics","ngs","sequencing","fastq","genomics"],"description":"Streaming NGS file formats, read QC, interval arithmetic and pipeline orchestration","publishedAt":"1793633189","repoId":1350405333,"repoOwnerId":346943577,"repoOwner":"deckyard"}},"readme":"# deck-ngs - `@jennifer/ngs`\n\n[![test](https://github.com/jennifer-language/deck-ngs/actions/workflows/test.yml/badge.svg)](https://github.com/jennifer-language/deck-ngs/actions/workflows/test.yml)\n[![Documentation](https://img.shields.io/badge/docs-github%20pages-blue)](https://jennifer-language.github.io/deck-ngs/)\n[![release](https://img.shields.io/github/v/release/jennifer-language/deck-ngs)](https://github.com/jennifer-language/deck-ngs/releases/latest)\n\nStreaming file formats, read QC, interval arithmetic and pipeline orchestration\nfor next-generation sequencing data, in [Jennifer](https://jennifer-lang.dev/).\n\n**[Read the documentation →](https://jennifer-language.github.io/deck-ngs/)**\n\n## What it is\n\nThe glue and light-I/O layer of a sequencing pipeline, not the engine. Everything\nstreams, so a 50 GB input costs the same memory as a 50 MB one, and the heavy\ncompute stays in the native tools.\n\n**In scope:** streaming format I/O (FASTQ, SAM, VCF, BED, GFF3/GTF), QC and\npreprocessing, interval arithmetic, pipeline orchestration.\n\n**Out of scope:** read alignment, assembly, variant calling and BAM/CRAM. Drive\nthose through the `pipeline` module and parse their text output here -\n[why →](https://jennifer-language.github.io/deck-ngs/#out-of-scope).\n\n## Install\n\n```yaml\n# deck.yaml\ndecks:\n  \"@jennifer/ngs\": \"^0.1.0\"\n```\n\n```jennifer\nimport \"@jennifer/ngs/\" as ngs;            # the entry module\nimport \"@jennifer/ngs/fastq.j\" as fastq;   # the working surface\n```\n\nNeeds **Jennifer 0.25.0 or newer**. Streaming gzip and pipeline orchestration\nshell out, so they want the default `jennifer` binary rather than\n`jennifer-tiny`, plus `gzip` and `mkfifo` on `PATH`; parsing, interval\narithmetic and formatting run on both. [Vendoring by hand, and the startup\ncapability check →](https://jennifer-language.github.io/deck-ngs/getting-started.html)\n\n## A first look\n\n```jennifer\n# Streams, gzip and all - memory stays flat regardless of file size.\ndef report as qc.Report init qc.analyze(\"sample.fastq.gz\", qc.options());\nio.printf(\"%s\", qc.summary($report));\n```\n\n## Modules\n\n`source` · `fastq` · `bed` · `gff` · `sam` · `vcf` · `intervals` ·\n`qc` · `trim` · `pipeline` · `core` · `ngs`\n\n[What each one does →](https://jennifer-language.github.io/deck-ngs/#the-modules) - and every exported name, with its\nsignature, is in the [cheatsheet](https://jennifer-language.github.io/deck-ngs/cheatsheet.html).\n\n## Documentation\n\nThe manual lives in `docs/` and is published to\n[GitHub Pages](https://jennifer-language.github.io/deck-ngs/) by CI. Start with\n[coordinate systems](https://jennifer-language.github.io/deck-ngs/coordinates.html) before writing interval code, and\n[recipes](https://jennifer-language.github.io/deck-ngs/recipes.html) for worked end-to-end tasks.\n\nChanging the deck - the gates, the docs build, CI and the release process - is\n[Working on the deck](https://jennifer-language.github.io/deck-ngs/development.html).\n\n## Licence\n\nLGPL-3.0-only, matching the Jennifer interpreter. The full text is in\n[`LICENSE`](LICENSE); every source file carries an SPDX header.\n"}