Skip to main content
skill CX Codex GP ChatGPT official · OpenAI

ngs-bcl-to-fastq: skill for Codex and ChatGPT

Validates an Illumina run folder and sample sheet, plans demultiplexing, and runs BCL-to-FASTQ conversion. Useful when the input is a sequencing run folder.

Install into Codex · Skills CLI (Vercel) All methods and platforms ↓
npx skills add openai/plugins --skill ngs-bcl-to-fastq -a codex
Open on GitHub

What ngs-bcl-to-fastq does

The skill handles the whole demultiplexing prep, not just a command wrapper. It first checks the structure: whether RunInfo.xml, SampleSheet.csv, and the BaseCalls directory exist. Then it compares index lengths against index reads, looks for duplicate sample/index combinations within each lane, and pins down i5 orientation for dual-index runs and UMI layout.

Conversion runs through the plugin-owned runner plugins/ngs-analysis/scripts/run_bcl_to_fastq.py. It takes the run folder path, the sample sheet, and an output directory. Conversion starts only with the --execute flag. If neither bcl-convert nor bcl2fastq is installed, the runner records the blocker instead of downloading proprietary software on its own.

bcl-convert is free for local use but RPM-distributed by Illumina, so the skill will not auto-download it. That is a reason to confirm the tool is already present before you kick off conversion. After conversion the skill reviews metrics: total clusters, clusters passing filter, percent assigned and percent undetermined by lane, and per-sample read counts.

What it helps with

  • check an Illumina run folder before demultiplexing
  • verify index lengths and i5 orientation in the sample sheet
  • run BCL-to-FASTQ conversion with the --execute flag
  • review demux metrics and the percent undetermined by lane
  • record the blocker when bcl-convert is not installed

Example prompts for the agent

  • Validate the run folder /data/run and sample sheet, then show me the demultiplexing plan
  • Run BCL-to-FASTQ conversion for /data/run into /data/fastq_out
  • Review metrics after conversion: percent assigned and percent undetermined by lane

How to install ngs-bcl-to-fastq

1Skills CLI (Vercel)

npx skills add openai/plugins --skill ngs-bcl-to-fastq -a codex

2Manually: put the files in place

.agents/skills/ngs-bcl-to-fastq/SKILL.md

For all projects use ~/.agents/skills/

Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them

Questions about ngs-bcl-to-fastq

How do I install ngs-bcl-to-fastq in Codex?

Run npx skills add openai/plugins --skill ngs-bcl-to-fastq -a codex. The skill file lands at .agents/skills/ngs-bcl-to-fastq/SKILL.md.

What does ngs-bcl-to-fastq do?

It validates an Illumina run folder and sample sheet, plans demultiplexing, runs BCL-to-FASTQ conversion, and interprets demux metrics. It also surfaces license and download boundaries.

Does it download bcl-convert?

The skill prefers an already-installed bcl-convert and does not auto-download it. bcl2fastq is used only when BCL Convert is unavailable or the run needs legacy compatibility.

Source text

SKILL.md · MIT
---
name: ngs-bcl-to-fastq
description: Validate Illumina BCL run folders and sample sheets, plan demultiplexing, review index/UMI/lane choices, run BCL-to-FASTQ conversion, and interpret demux metrics while surfacing license/download boundaries.
---

# BCL To FASTQ

Use this skill when the input is an Illumina BCL run folder or the user asks to demultiplex a sequencing run. This is a deep demultiplexing and run-validation skill, not only a command wrapper.

## Essential Inputs

Confirm:

- run folder path with `RunInfo.xml`
- sample sheet path and format
- output directory
- instrument/run metadata from `RunInfo.xml` and `RunParameters.xml`
- lane handling: split by lane or combine lanes
- index mismatch tolerance
- index read structure and dual-index orientation
- UMI layout, if any
- whether adapter trimming/masking should happen during conversion
- whether undetermined reads and demultiplexing metrics should be reviewed before downstream analysis

## Public Tool Boundary

Prefer `bcl-convert` if it is already installed. It is free for local use but proprietary and RPM-distributed by Illumina, so do not auto-download without explicit user approval.

Legacy `bcl2fastq` may exist in older environments. Use it only when BCL Convert is unavailable or the run requires legacy compatibility.

## Preflight

```bash
python plugins/ngs-analysis/scripts/ngs_preflight.py --pipeline bcl_to_fastq --emit-install-plan
```

Also check run-folder structure:

```bash
test -f /path/to/run/RunInfo.xml
test -f /path/to/SampleSheet.csv
find /path/to/run -maxdepth 4 -type d -name BaseCalls
```

## Local Execution Package

Use the plugin-owned runner when the user provides a local run folder and sample sheet:

```bash
python plugins/ngs-analysis/scripts/run_bcl_to_fastq.py \
  --run-folder /path/to/run \
  --sample-sheet /path/to/SampleSheet.csv \
  --output-directory /path/to/fastq_out
```

Add `--execute` only when conversion is requested. The runner validates `RunInfo.xml`, optional `RunParameters.xml`, the BaseCalls directory, sample-sheet rows, duplicate lane/index combinations, and index length compatibility. With `--execute`, it uses installed `bcl-convert`, then legacy `bcl2fastq` if available; if neither exists, it records the blocker instead of downloading proprietary software.

## Validation Checklist

Before conversion, validate:

- `RunInfo.xml` exists and its read structure matches the expected sequencing design.
- `SampleSheet.csv` exists, is the intended version, and has no duplicate sample/index combinations within each lane.
- Index sequence lengths match the index reads and any trimming/masking requested by the sample sheet.
- Dual-index orientation is explicit for the instrument and library prep; do not infer i5 orientation from filenames.
- UMI bases are assigned to the intended read or index read and carried through to FASTQ headers or output metadata as needed.
- Lane-splitting, sample-name normalization, and output directory behavior are agreed before running.
- Disk space is sufficient for output FASTQs, reports, and temporary files.

## Kickoff Pattern

First produce a preflight plan with paths and sample sheet validation. Then run conversion only after the user confirms:

```bash
bcl-convert \
  --bcl-input-directory /path/to/run \
  --output-directory /path/to/fastq_out \
  --sample-sheet /path/to/SampleSheet.csv
```

## Metrics Review

After conversion, inspect and report:

- total clusters, clusters passing filter, and yield by lane
- percent assigned by sample and percent undetermined by lane
- top undetermined index sequences when available
- per-sample FASTQ counts and read-pair consistency
- unexpected index hopping, barcode collision, or sample-sheet mismatch signals

Record software version, command, sample sheet checksum, run-folder path, output path, and conversion metrics. Do not start downstream analysis until severe demultiplexing anomalies are surfaced.

© OpenAI · MIT · openai/plugins

Similar skills

Everything for Science and research →

From the same set304

The whole set →
cdn-caching Explains why a response came from cache or missed it: status headers, per-request reasons, revalidation, ISR cost. CX Codex GP ChatGPT 2installs twilio-whatsapp-send-message A reference for sending WhatsApp messages through Twilio: the 24-hour window, templates, sandbox testing and delivery errors. CX Codex GP ChatGPT 2installs ngs-scrna-seq This skill takes single-cell or single-nucleus RNA-seq from FASTQ to a count matrix, then hands QC and clustering to an embedded skill. CX Codex GP ChatGPT 2installs ngs-bulk-rnaseq A dispatcher for bulk RNA-seq work: it splits FASTQ-to-count processing from count-matrix statistics. Useful when you need expression counts and then differentially expressed genes. CX Codex GP ChatGPT 2installs hyperframes A skill for building video in HTML: compositions, title cards, captions, narration and music-driven animation. Useful when the video should come out of code, not an editor. CX Codex GP ChatGPT 2installs upgrading-expo Walks the agent through an Expo SDK upgrade: install commands, diagnostics, cache cleanup and broken dependency fixes. CX Codex GP ChatGPT 2installs building-mcp-server-on-cloudflare A skill that walks the agent through building a remote MCP server on Cloudflare Workers: tools, OAuth, deployment. Useful when you need to expose your own functions over MCP. CX Codex GP ChatGPT 2installs knowledge-update Injects up-to-date Vercel platform facts into the session and overrides stale model knowledge. Useful when your agent still reaches for Edge Functions or vercel.json. CX Codex GP ChatGPT 1installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor