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
53 changes: 25 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,52 +49,52 @@ downstream tool.

| Channel | Status |
| --- | --- |
| Source/package metadata | this branch/package metadata targets `v0.5.0`; `v0.4.0` is the latest tagged source release |
| GitHub release | v0.4 GitHub release binaries are built from the `v0.4.0` tag |
| Bioconda | `v0.3.0` is live for Linux and macOS x86_64/ARM64; v0.5 is not yet published there |
| BioContainers | `v0.3.0` is live as a pinned workflow image; v0.5 is not yet published there |
| Source/package metadata | `v0.5.0` is the latest tagged source release |
| GitHub release | v0.5 GitHub release binaries are built from the `v0.5.0` tag |
| Bioconda | `v0.5.0` is live for Linux and macOS x86_64/ARM64 |
| BioContainers | `v0.5.0` is live as a pinned workflow image |
| Source build | local checkout builds report the package version from `Cargo.toml` |

## Install

Published bioinformatics install:

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

Published containerized workflow install:

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

Run through BioContainers:

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

GitHub release binary for Linux x86_64:

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

GitHub release binary for macOS Apple Silicon:

```bash
curl -L -O https://github.com/ehsanestaji/FastaGuard/releases/download/v0.4.0/fastaguard-v0.4.0-aarch64-apple-darwin.tar.gz
tar -xzf fastaguard-v0.4.0-aarch64-apple-darwin.tar.gz
./fastaguard-v0.4.0-aarch64-apple-darwin/fastaguard --version
curl -L -O https://github.com/ehsanestaji/FastaGuard/releases/download/v0.5.0/fastaguard-v0.5.0-aarch64-apple-darwin.tar.gz
tar -xzf fastaguard-v0.5.0-aarch64-apple-darwin.tar.gz
./fastaguard-v0.5.0-aarch64-apple-darwin/fastaguard --version
```

Build from the latest published Git tag:

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

Expand Down Expand Up @@ -122,7 +122,7 @@ fastaguard --version

The `--gate pipeline` examples below require FastaGuard `v0.3.0` or newer.
The `fastaguard compare` example requires FastaGuard `v0.4.0` or newer.
The `--gate submission` example requires the v0.5 source/package contract.
The `--gate submission` example requires FastaGuard `v0.5.0` or newer.

Run the assembly preflight check:

Expand Down Expand Up @@ -153,8 +153,8 @@ v0.4 compare starter example:
fastaguard compare assemblies/*.fa --profile assembly --gate pipeline
```

This command is part of the v0.4 GitHub release. Bioconda and BioContainers may
still be `v0.3.0` until packaging publication follow-up is complete.
This command first shipped in the v0.4 GitHub release and is included in the
published v0.5.0 Bioconda package and BioContainers image.

Submission-readiness preflight:

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

Published BioContainers provides the v0.3 image for workflow engines:
Published BioContainers provides the v0.5 image for workflow engines:

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

Exit codes:
Expand Down Expand Up @@ -333,13 +333,10 @@ FastaGuard catches FASTA-level assembly problems before expensive assembly QC.

## Status

This branch/package metadata targets FastaGuard v0.5.0. The latest tagged
GitHub release remains v0.4.0, which adds preflight readiness, compare mode,
and cohort-level FASTA triage outputs.
FastaGuard v0.5.0 is the latest tagged GitHub release and the current published
Bioconda/BioContainers release. It adds the submission-readiness gate on top of
the v0.4 preflight readiness and compare-mode contract.

v0.3.0 remains the current Bioconda and BioContainers release until packaging
follow-up is complete.

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`.
Bioconda serves v0.5.0 for `linux-64`, `linux-aarch64`, `osx-64`, and
`osx-arm64`. BioContainers publishes the pinned v0.5 workflow image
`quay.io/biocontainers/fastaguard:0.5.0--hfa8f182_0`.
9 changes: 5 additions & 4 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.3.0 on Linux and macOS x86_64/ARM64
Status: Bioconda is live for FastaGuard v0.5.0 on Linux and macOS x86_64/ARM64
platforms. BioContainers publishes the pinned workflow image
`quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0`.
`quay.io/biocontainers/fastaguard:0.5.0--hfa8f182_0`.

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

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

works in a clean environment, and workflow engines can pull the pinned
BioContainers image.
BioContainers image. This is now true for v0.5.0; keep repeating the same
check for future releases.

## Phase 2: Aggregate

Expand Down
25 changes: 12 additions & 13 deletions docs/packaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,27 @@ Treat packaging as part of the product, not as a later chore. For bioinformatics
Bioconda -> BioContainers -> GitHub release binaries -> Docker image -> Homebrew later
```

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
FastaGuard v0.5.0 is published on GitHub with Linux and macOS release binaries.
Bioconda serves v0.5.0 on Linux and macOS x86_64/ARM64 platforms.
BioContainers provides the pinned v0.5 workflow image generated from the
Bioconda package. Docker remains useful for local smoke tests.

This branch/package metadata targets v0.5.0, including the
`--gate submission` and `--submission-target generic|ncbi` contract. Do not
document v0.5 as published on Bioconda or BioContainers until those packages
exist; the verified published package and workflow image remain v0.3.0.
The current published package includes the `--gate submission` and
`--submission-target generic|ncbi` contract. Keep future docs pinned to
confirmed Bioconda and BioContainers versions before advertising them as live.

## Bioconda

Recommended install:

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

Conda equivalent:

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

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

Current published package:

- Version: `0.3.0`
- Version: `0.5.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 @@ -105,8 +104,8 @@ For a public release:
1. Tag the release:

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

2. Push the tag to trigger `.github/workflows/release.yml`.
Expand Down Expand Up @@ -160,7 +159,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.3.0--hfa8f182_0
docker pull quay.io/biocontainers/fastaguard:0.5.0--hfa8f182_0
```

That path is preferable to maintaining a separate BioContainers Dockerfile.
Expand Down
6 changes: 3 additions & 3 deletions docs/tool-landscape.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,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.3.0 is published on GitHub with Linux and macOS binaries.
- FastaGuard v0.3.0 is published on Bioconda for `linux-64`,
- FastaGuard v0.5.0 is published on GitHub with Linux and macOS binaries.
- FastaGuard v0.5.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.3.0--hfa8f182_0`.
`quay.io/biocontainers/fastaguard:0.5.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 Down
8 changes: 4 additions & 4 deletions examples/nf-core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ 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=0.3.0
mamba install -c conda-forge -c bioconda fastaguard=0.5.0
```

Published BioContainers provides the pinned v0.3 image:
Published BioContainers provides the pinned v0.5 image:

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

The command block is written for the v0.3 assembly gate and runs:
Expand All @@ -50,7 +50,7 @@ fastaguard compare assemblies/*.fa --profile assembly --gate pipeline
```

For v0.5 submission-readiness preflight before official validators, use the
source/package contract rather than the currently published v0.3 container:
published v0.5 package or container:

```bash
fastaguard {input.fasta} --gate submission --submission-target ncbi
Expand Down
2 changes: 1 addition & 1 deletion examples/nf-core/modules/local/fastaguard/main.nf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
process FASTAGUARD {
tag "$meta.id"
label 'process_low'
container 'quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0'
container 'quay.io/biocontainers/fastaguard:0.5.0--hfa8f182_0'

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

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

Published Bioconda provides v0.3.0:
Published Bioconda provides v0.5.0:

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

Run from this directory with a `sample.fa` input:
Expand All @@ -24,15 +24,14 @@ 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:
The wrapper also includes a v0.5 Conda environment:

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

For v0.5 submission-readiness preflight before official validators, use the
source/package contract rather than the currently published v0.3 package or
container:
published v0.5 package or container:

```bash
fastaguard {input.fasta} --gate submission --submission-target ncbi
Expand All @@ -48,7 +47,7 @@ Pipeline authors should route on:
For containerized workflow runs, the latest pinned BioContainers image is:

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

The wrapper emits:
Expand Down
2 changes: 1 addition & 1 deletion examples/snakemake/wrapper/environment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- fastaguard=0.3.0
- fastaguard=0.5.0
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.3.0.
Upstream Bioconda currently publishes FastaGuard v0.5.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=0.3.0
mamba install -c conda-forge -c bioconda fastaguard=0.5.0
```

BioContainers publishes the pinned workflow image:

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

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
This local recipe directory mirrors the FastaGuard v0.5.0 Bioconda recipe. The
v0.5.0 GitHub source archive is published and `meta.yaml` includes the real
archive SHA256.

## Local Checks
Expand Down
4 changes: 2 additions & 2 deletions packaging/bioconda/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{% set name = "fastaguard" %}
{% set version = "0.3.0" %}
{% set version = "0.5.0" %}

package:
name: {{ name|lower }}
version: {{ version }}

source:
url: https://github.com/ehsanestaji/FastaGuard/archive/refs/tags/v{{ version }}.tar.gz
sha256: 643d5d0107b6dc237f3be782a8463414880b95c45964397b773dac7e794e4fde
sha256: b3de60c83cb570bb90e894c262effe4092101b1655e5c64023445078ee2c5971

build:
number: 0
Expand Down
8 changes: 4 additions & 4 deletions tests/python/test_adoption_assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ def test_v0_3_gate_examples_do_not_pin_v0_2_runtimes(self):

self.assertNotIn("0.2.0--", nf_core_module)
self.assertIn(
"quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0",
"quay.io/biocontainers/fastaguard:0.5.0--hfa8f182_0",
nf_core_module,
)
self.assertNotIn("fastaguard=0.2.0", wrapper_env)
Expand Down Expand Up @@ -488,12 +488,12 @@ def test_workflow_docs_reference_bioconda_and_container_status(self):
self.assertIn(install, nfcore_readme)
self.assertIn(install, snakemake_readme)
self.assertIn(
"quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0",
"quay.io/biocontainers/fastaguard:0.5.0--hfa8f182_0",
nfcore_readme,
)
self.assertNotIn("0.2.0--", nfcore_module)
self.assertIn(
"quay.io/biocontainers/fastaguard:0.3.0--hfa8f182_0",
"quay.io/biocontainers/fastaguard:0.5.0--hfa8f182_0",
snakemake_readme,
)

Expand Down Expand Up @@ -825,7 +825,7 @@ def test_snakemake_wrapper_declares_bioconda_environment(self):
" - conda-forge",
" - bioconda",
"dependencies:",
" - fastaguard=0.3.0",
" - fastaguard=0.5.0",
],
)
self.assertIn('conda: "environment.yaml"', snakefile.read_text())
Expand Down
Loading