Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 27 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,21 +28,39 @@ Run FastaGuard first.
| Channel | Status |
| --- | --- |
| GitHub release | `v0.3.0` is live with Linux and macOS binaries |
| Bioconda | `v0.2.0` is live; `v0.3.0` update is under Bioconda review |
| BioContainers | `v0.2.0` is live; `v0.3.0` follows the Bioconda update |
| Bioconda | `v0.3.0` is live for Linux and macOS x86_64/ARM64 |
| BioContainers | `v0.3.0` is live as a pinned workflow image |
| Source build | `v0.3.0` can be built from the Git tag |

## Install

Latest release binary for Linux x86_64:
Recommended bioinformatics install:

```bash
mamba install -c conda-forge -c bioconda fastaguard=0.3.0
```

Containerized workflow install:

```bash
docker pull quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0
```

Run through BioContainers:

```bash
docker run --rm quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 fastaguard --version
```

GitHub release binary for Linux x86_64:

```bash
curl -L -O https://github.com/ehsanestaji/FastaGuard/releases/download/v0.3.0/fastaguard-v0.3.0-x86_64-unknown-linux-gnu.tar.gz
tar -xzf fastaguard-v0.3.0-x86_64-unknown-linux-gnu.tar.gz
./fastaguard-v0.3.0-x86_64-unknown-linux-gnu/fastaguard --version
```

Latest release binary for macOS Apple Silicon:
GitHub release binary for macOS Apple Silicon:

```bash
curl -L -O https://github.com/ehsanestaji/FastaGuard/releases/download/v0.3.0/fastaguard-v0.3.0-aarch64-apple-darwin.tar.gz
Expand All @@ -57,13 +75,6 @@ cargo install --git https://github.com/ehsanestaji/FastaGuard --tag v0.3.0
fastaguard --version
```

Bioconda install, currently serving the published `v0.2.0` package until the
`v0.3.0` recipe update merges:

```bash
mamba install -c conda-forge -c bioconda fastaguard
```

Verify any installed CLI:

```bash
Expand Down Expand Up @@ -124,12 +135,10 @@ docker run --rm -v "$PWD:/data" fastaguard:local /data/sample.fa \
--multiqc /data/fastaguard_mqc.json
```

Published BioContainers currently provides the v0.2 image, which does not
include v0.3 gate behavior yet. Use it for v0.2 workflows until the Bioconda
v0.3 update propagates:
Published BioContainers provides the v0.3 image for workflow engines:

```bash
docker pull quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0
docker pull quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0
```

Exit codes:
Expand Down Expand Up @@ -244,7 +253,6 @@ FastaGuard catches FASTA-level assembly problems before expensive assembly QC.
v0.3.0 is published on GitHub with Linux and macOS release binaries. It adds the
assembly gate contract, checksum provenance, and evidence workflow.

Bioconda currently serves v0.2.0 for `linux-64`, `linux-aarch64`, `osx-64`,
and `osx-arm64`; the v0.3.0 Bioconda update is open and passing CI. The
BioContainers v0.3 image will become available after the Bioconda package
propagates.
Bioconda serves v0.3.0 for `linux-64`, `linux-aarch64`, `osx-64`, and
`osx-arm64`. BioContainers publishes the pinned v0.3 workflow image
`quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0`.
6 changes: 3 additions & 3 deletions docs/adoption-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Bioconda published -> BioContainers available -> MultiQC plugin -> public benchm

Goal: make installation natural for bioinformatics users.

Status: Bioconda is live for FastaGuard v0.2.0 on Linux and macOS x86_64/ARM64
Status: Bioconda is live for FastaGuard v0.3.0 on Linux and macOS x86_64/ARM64
platforms. BioContainers publishes the pinned workflow image
`quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0`.
`quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0`.

- Keep GitHub release binaries working.
- Keep Docker smoke tests passing.
Expand All @@ -27,7 +27,7 @@ platforms. BioContainers publishes the pinned workflow image
Done when:

```bash
mamba install -c conda-forge -c bioconda fastaguard
mamba install -c conda-forge -c bioconda fastaguard=0.3.0
fastaguard --schema
```

Expand Down
15 changes: 7 additions & 8 deletions docs/benchmarking.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ Use it to answer:

Do not use it to claim performance on contaminated assemblies, highly ambiguous assemblies, or compressed FASTA until separate fixtures cover those cases.

## v0.2 Evidence Targets
## Evidence Targets

FastaGuard should prove four preflight categories with small reproducible
fixtures. For v0.3, the same evidence should also show whether each category
blocks the pipeline gate:
fixtures. For v0.3, the evidence should also show whether each category blocks
the pipeline gate:

| Evidence case | Gate behavior | What FastaGuard catches | Why it should run before heavier tools |
| --- | --- | --- | --- |
Expand Down Expand Up @@ -132,10 +132,9 @@ This evidence matters more than synthetic speed alone because it shows the wedge

## Evidence Pack Workflow

The v0.2 evidence workflow is documented in
`docs/evidence/fastaguard-v0.2-evidence.md`.
The published evidence document remains v0.2-focused; v0.3 gate evidence should
extend that workflow after the gate contract is released.
The original v0.2 evidence workflow is documented in
`docs/evidence/fastaguard-v0.2-evidence.md`. The v0.3 gate evidence workflow is
documented in `docs/evidence/fastaguard-v0.3-evidence.md`.

CI-safe local run:

Expand All @@ -151,7 +150,7 @@ Public NCBI run:
```bash
python3 scripts/collect_evidence.py \
--binary target/release/fastaguard \
--out-dir target/evidence/v0.2
--out-dir target/evidence/v0.3
```

The public run uses NCBI Datasets commands such as
Expand Down
22 changes: 11 additions & 11 deletions docs/packaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,26 @@
Treat packaging as part of the product, not as a later chore. For bioinformatics adoption, the order should be:

```text
Bioconda -> GitHub release binaries -> Docker image -> BioContainers -> Homebrew later
Bioconda -> BioContainers -> GitHub release binaries -> Docker image -> Homebrew later
```

FastaGuard v0.2.0 is published on GitHub with Linux and macOS release binaries.
Bioconda serves v0.2.0 on Linux and macOS x86_64/ARM64 platforms. Docker remains
useful for local smoke tests, while BioContainers now provides the pinned
workflow image generated from the Bioconda package.
FastaGuard v0.3.0 is published on GitHub with Linux and macOS release binaries.
Bioconda serves v0.3.0 on Linux and macOS x86_64/ARM64 platforms.
BioContainers provides the pinned v0.3 workflow image generated from the
Bioconda package. Docker remains useful for local smoke tests.

## Bioconda

Recommended install:

```bash
mamba install -c conda-forge -c bioconda fastaguard
mamba install -c conda-forge -c bioconda fastaguard=0.3.0
```

Conda equivalent:

```bash
conda install -c conda-forge -c bioconda fastaguard
conda install -c conda-forge -c bioconda fastaguard=0.3.0
```

Verify the installed package:
Expand All @@ -37,7 +37,7 @@ fastaguard --finding-catalog

Current published package:

- Version: `0.2.0`
- Version: `0.3.0`
- Platforms: `linux-64`, `linux-aarch64`, `osx-64`, `osx-arm64`
- Package page: [anaconda.org/bioconda/fastaguard](https://anaconda.org/bioconda/fastaguard)

Expand Down Expand Up @@ -89,8 +89,8 @@ For a public release:
1. Tag the release:

```bash
git tag v0.2.0
git push origin v0.2.0
git tag v0.3.0
git push origin v0.3.0
```

2. Push the tag to trigger `.github/workflows/release.yml`.
Expand Down Expand Up @@ -144,7 +144,7 @@ The Bioconda recipe has merged upstream and generated a BioContainers image.
Use the pinned tag in workflow examples:

```bash
docker pull quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0
docker pull quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0
```

That path is preferable to maintaining a separate BioContainers Dockerfile.
Expand Down
19 changes: 15 additions & 4 deletions docs/releases/v0.3.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,26 @@ or other expensive downstream QC.

## Install

Download the platform binary from this GitHub release, or build from source:
Install through Bioconda:

```bash
cargo install --git https://github.com/ehsanestaji/FastaGuard --tag v0.3.0
mamba install -c conda-forge -c bioconda fastaguard=0.3.0
fastaguard --version
```

Bioconda and BioContainers updates should follow after the v0.3.0 source
archive and release assets are public.
Run the pinned BioContainers image:

```bash
docker run --rm quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0 fastaguard --version
```

You can also download a platform binary from this GitHub release, or build from
source:

```bash
cargo install --git https://github.com/ehsanestaji/FastaGuard --tag v0.3.0
fastaguard --version
```

## Pipeline Gate

Expand Down
3 changes: 1 addition & 2 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,7 @@ Make FastaGuard credible enough for pipeline authors to add as a default assembl
Development scope:

- public evidence pack from local fixtures and public assemblies
- Bioconda and BioContainers v0.2 availability documented without implying a
v0.3 package exists yet
- Bioconda and BioContainers v0.3 availability documented as live
- input checksum provenance with `provenance.input_sha256`
- clearer machine-readable threshold metadata
- assembly gate preset with `--gate pipeline`
Expand Down
9 changes: 5 additions & 4 deletions docs/tool-landscape.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ Current product evidence:
- Rust CLI builds and runs as a single binary.
- Docker build and smoke test pass.
- GitHub release workflow builds Linux and macOS binaries.
- FastaGuard v0.2.0 is published on GitHub with Linux and macOS binaries.
- FastaGuard v0.2.0 is published on Bioconda for `linux-64`,
- FastaGuard v0.3.0 is published on GitHub with Linux and macOS binaries.
- FastaGuard v0.3.0 is published on Bioconda for `linux-64`,
`linux-aarch64`, `osx-64`, and `osx-arm64`.
- Clean Bioconda install has been smoke-tested with `fastaguard --schema`.
- BioContainers publishes
`quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0`.
`quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0`.
- JSON Schema validates committed golden reports.
- Reports include bounded evidence records and suggested actions.
- The v0.3 gate contract exposes `gate.blocking_findings`,
Expand All @@ -72,11 +72,12 @@ Current product evidence:
- nf-core, Nextflow, and Snakemake starters exist under `examples/`.
- The v0.2 evidence workflow is documented in
`docs/evidence/fastaguard-v0.2-evidence.md`.
- The v0.3 gate evidence workflow is documented in
`docs/evidence/fastaguard-v0.3-evidence.md`.

Evidence still needed:

- committed benchmark summaries from public assemblies
- v0.3 assembly gate evidence runs using `--gate pipeline`
- user feedback from real pipeline authors
- broader public assembly evidence runs
- official MultiQC module or packaged plugin
Expand Down
2 changes: 1 addition & 1 deletion docs/vision-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Make FastaGuard credible enough for pipeline authors to add as a default assembl
Priorities:

- publish a small evidence pack from local fixtures and public assemblies
- document Bioconda and BioContainers v0.2 availability
- document Bioconda and BioContainers v0.3 availability
- add input checksums to provenance
- add clearer machine-readable threshold metadata
- add an assembly gate preset for common pipeline behavior
Expand Down
10 changes: 3 additions & 7 deletions examples/nf-core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,15 @@ The module assumes `fastaguard` is available on `PATH` when run without a
container. The recommended install is:

```bash
mamba install -c conda-forge -c bioconda fastaguard
mamba install -c conda-forge -c bioconda fastaguard=0.3.0
```

Published BioContainers currently provides the v0.2 image:
Published BioContainers provides the pinned v0.3 image:

```text
quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0
quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0
```

Do not pair that v0.2 image with the v0.3 `--gate pipeline` command below.
Run this starter with a current local v0.3 binary, or add a v0.3 container tag
after the v0.3 BioContainers image is available.

The command block is written for the v0.3 assembly gate and runs:

```bash
Expand Down
1 change: 1 addition & 0 deletions examples/nf-core/modules/local/fastaguard/main.nf
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
process FASTAGUARD {
tag "$meta.id"
label 'process_low'
container 'quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0'

input:
tuple val(meta), path(fasta)
Expand Down
18 changes: 5 additions & 13 deletions examples/snakemake/wrapper/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@

This is a local wrapper-style starter for FastaGuard. It assumes `fastaguard` is available on `PATH`.

Published Bioconda currently provides v0.2.0:
Published Bioconda provides v0.3.0:

```bash
mamba install -c conda-forge -c bioconda fastaguard
mamba install -c conda-forge -c bioconda fastaguard=0.3.0
```

The v0.3 gate example below needs a current local v0.3 binary until the v0.3
Bioconda package is published.

Run from this directory with a `sample.fa` input:

```bash
Expand All @@ -27,23 +24,18 @@ That gate blocks downstream workflow steps on duplicate IDs, invalid characters,
invalid FASTA structure, and high-N content. GC and length outliers remain
advisory unless explicitly added with `--fail-on`. Gate failures intentionally exit with code `2` after writing reports, so downstream workflow steps stop while the JSON/HTML evidence remains available.

The wrapper also includes a v0.3 Conda environment for use after the v0.3
Bioconda package is published:
The wrapper also includes a v0.3 Conda environment:

```bash
snakemake -s Snakefile --cores 1 --use-conda
```

For current published containerized workflow runs, the latest pinned
BioContainers image is still v0.2:
For containerized workflow runs, the latest pinned BioContainers image is:

```text
quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0
quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0
```

Do not pair that v0.2 image with `--gate pipeline`; update the container tag
when a v0.3 BioContainers image is available for gate runs.

The wrapper emits:

- `fastaguard_report.html`
Expand Down
10 changes: 5 additions & 5 deletions packaging/bioconda/README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# Bioconda Recipe

Upstream Bioconda currently publishes FastaGuard v0.2.0.
Upstream Bioconda currently publishes FastaGuard v0.3.0.

The recipe has been merged into `bioconda/bioconda-recipes` as
`recipes/fastaguard/`, and the current published package is available from
Bioconda:

```bash
mamba install -c conda-forge -c bioconda fastaguard
mamba install -c conda-forge -c bioconda fastaguard=0.3.0
```

BioContainers publishes the pinned workflow image:

```bash
docker pull quay.io/biocontainers/fastaguard:0.2.0--hfa8f182_0
docker pull quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0
```

This local recipe directory mirrors the FastaGuard v0.2.0 Bioconda recipe. The
v0.2.0 GitHub source archive is published and `meta.yaml` includes the real
This local recipe directory mirrors the FastaGuard v0.3.0 Bioconda recipe. The
v0.3.0 GitHub source archive is published and `meta.yaml` includes the real
archive SHA256.

## Local Checks
Expand Down
Loading