ngs-bcl-to-fastq: скилл для Codex и ChatGPT
Проверяет папку прогона Illumina и sample sheet, планирует демультиплексирование и запускает конвертацию BCL в FASTQ. Нужен, когда на входе — папка прогона секвенатора.
npx skills add openai/plugins --skill ngs-bcl-to-fastq -a codexЧто делает ngs-bcl-to-fastq
Скилл берёт на себя всю подготовку к демультиплексированию, а не просто оборачивает команду. Сначала он проверяет структуру: есть ли RunInfo.xml, SampleSheet.csv и каталог BaseCalls. Потом сверяет длину индексов с индексными прочтениями, ищет дублирующиеся сочетания образца и индекса внутри линии, уточняет ориентацию i5 для двойного индекса и раскладку UMI.
Для запуска используется собственный раннер plugins/ngs-analysis/scripts/run_bcl_to_fastq.py. Он принимает путь к папке прогона, sample sheet и выходной каталог. Конвертация начнётся только после флага --execute. Если ни bcl-convert, ни bcl2fastq не установлены, раннер фиксирует блокировку, а не скачивает проприетарное ПО сам.
bcl-convert бесплатен для локального использования, но распространяется Illumina как RPM-пакет, поэтому скачивать его без вашего согласия скилл не станет. Это повод проверить, что инструмент уже стоит в окружении, до запуска конвертации. После конвертации скилл разбирает метрики: кластеры, прошедшие фильтр, процент назначенных и неопределённых индексов по линиям, число прочтений на образец.
Какие задачи решает
- проверить папку прогона Illumina перед демультиплексированием
- сверить длины индексов и ориентацию i5 в sample sheet
- запустить конвертацию BCL в FASTQ с флагом
--execute - разобрать метрики демультиплексирования и процент неопределённых индексов
- зафиксировать блокировку, если
bcl-convertне установлен
Примеры запросов агенту
- Проверь папку прогона
/data/runи sample sheet, покажи план демультиплексирования - Запусти конвертацию BCL в FASTQ для
/data/runв/data/fastq_out - Разбери метрики после конвертации: процент назначенных и неопределённых индексов по линиям
Как установить ngs-bcl-to-fastq
1Через Skills CLI (Vercel)
npx skills add openai/plugins --skill ngs-bcl-to-fastq -a codex2Вручную: положить файлы
.agents/skills/ngs-bcl-to-fastq/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add openai/plugins --skill ngs-bcl-to-fastq -a claude-code2Вручную: положить файлы
~/.claude/skills/ngs-bcl-to-fastq/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/ngs-bcl-to-fastq/
Вручную: положить файлы
.cursor/skills/ngs-bcl-to-fastq/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install openai/plugins ngs-bcl-to-fastq2Вручную: положить файлы
.github/skills/ngs-bcl-to-fastq/SKILL.mdКомандой платформы
gemini skills install https://github.com/openai/plugins --path plugins/ngs-analysis/skills/ngs-bcl-to-fastqВручную: положить файлы
.devin/skills/ngs-bcl-to-fastq/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Скиллы Codex: как установить, где лежат и как вызвать
Вопросы о ngs-bcl-to-fastq
Как установить ngs-bcl-to-fastq в Codex?
Выполните npx skills add openai/plugins --skill ngs-bcl-to-fastq -a codex. Файл скилла окажется по пути .agents/skills/ngs-bcl-to-fastq/SKILL.md.
Что делает ngs-bcl-to-fastq?
Проверяет папку прогона Illumina и sample sheet, планирует демультиплексирование, запускает конвертацию BCL в FASTQ и разбирает метрики. Отдельно отмечает границы лицензии и загрузки инструментов.
Нужно ли скачивать bcl-convert?
Скилл предпочитает уже установленный bcl-convert и не скачивает его автоматически. bcl2fastq используется только если BCL Convert недоступен или прогону нужна совместимость со старым окружением.
Исходный текст
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