ngs-bulk-rnaseq-differential-expression — скилл для Codex: RNA-seq
Скилл планирует и запускает дифференциальный анализ экспрессии bulk RNA-seq по матрицам отсчётов. Помогает проверить реплики, формулу дизайна, батчи и построить графики контроля качества.
npx skills add openai/plugins --skill ngs-bulk-rnaseq-differential-expression -a codexЧто делает ngs-bulk-rnaseq-differential-expression
Инструмент подготавливает дифференциальный анализ экспрессии в R через Bioconductor, опираясь на DESeq2, edgeR или limma-voom. По умолчанию активен режим auto. Локальный раннер python plugins/ngs-analysis/scripts/run_bulk_rnaseq_de.py выбирает DESeq2 для целочисленных отсчётов, откатывается к edgeR при нехватке пакета и использует limma_log2 для непрерывных значений экспрессии.
Перед расчётами агент проверяет совпадение имён образцов в метаданных со столбцами матрицы и биологическую повторность контрастов. Это обязательное условие. Без достаточного числа биологических реплик расчёт блокируется, а для непроверенных контрастов раннер создаёт заглушки .not_tested.tsv.
На выходе скрипт сохраняет таблицы экспрессии, графики PCA и средних дисперсий. Для проверки запускается локальное приложение Marimo с адресом в notebooks/marimo_server.json. Все файлы прогона структурируются в каталогах с run_manifest.json, логами и summary.md.
Какие задачи решает
- спланировать дифференциальный анализ bulk RNA-seq с учётом батчей и ковариат
- проверить сырую матрицу отсчётов и метаданные перед запуском DESeq2 или edgeR
- сгенерировать графики контроля качества: PCA, расстояния между образцами и размеры библиотек
- сформировать таблицы контрастов и интерактивный отчёт в Marimo на localhost
Примеры запросов агенту
- Запусти дифференциальный анализ bulk RNA-seq для
count_matrix.tsvиsample_metadata.tsvс контрастами изcontrasts.tsv. - Проверь матрицу отсчётов и метаданные образцов перед запуском DESeq2, выяви батч-эффекты и выбросы на PCA.
- Выполни префлайт-проверку пайплайна:
python plugins/ngs-analysis/scripts/ngs_preflight.py --pipeline bulk_rnaseq_differential_expression --emit-install-plan.
Как установить ngs-bulk-rnaseq-differential-expression
1Через Skills CLI (Vercel)
npx skills add openai/plugins --skill ngs-bulk-rnaseq-differential-expression -a codex2Вручную: положить файлы
.agents/skills/ngs-bulk-rnaseq-differential-expression/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add openai/plugins --skill ngs-bulk-rnaseq-differential-expression -a claude-code2Вручную: положить файлы
~/.claude/skills/ngs-bulk-rnaseq-differential-expression/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/ngs-bulk-rnaseq-differential-expression/
Вручную: положить файлы
.cursor/skills/ngs-bulk-rnaseq-differential-expression/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install openai/plugins ngs-bulk-rnaseq-differential-expression2Вручную: положить файлы
.github/skills/ngs-bulk-rnaseq-differential-expression/SKILL.mdКомандой платформы
gemini skills install https://github.com/openai/plugins --path plugins/ngs-analysis/skills/ngs-bulk-rnaseq-differential-expressionВручную: положить файлы
.devin/skills/ngs-bulk-rnaseq-differential-expression/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Скиллы Codex: как установить, где лежат и как вызвать
Вопросы о ngs-bulk-rnaseq-differential-expression
Как установить ngs-bulk-rnaseq-differential-expression в Codex?
Выполните команду npx skills add openai/plugins --skill ngs-bulk-rnaseq-differential-expression -a codex. Также скилл можно поставить общей командой npx skills add openai/plugins --skill ngs-bulk-rnaseq-differential-expression.
Что делает скилл ngs-bulk-rnaseq-differential-expression?
Он автоматизирует запуск дифференциального анализа экспрессии bulk RNA-seq. Скилл проверяет реплики, настраивает формулу дизайна, батчи и формирует таблицы результатов вместе с QC-графиками.
Что происходит при нехватке биологических реплик в контрасте?
Скилл блокирует сравнение групп без достаточной биологической повторности. Для таких контрастов создаются заглушки .not_tested.tsv с указанием причин остановки.
Исходный текст
SKILL.md · MIT
--- name: ngs-bulk-rnaseq-differential-expression description: Run or plan bulk RNA-seq differential-expression analysis from count matrices with replicate, design formula, contrast, batch, normalization, QC plot, and result-table checks. --- # Bulk RNA-seq Differential Expression Use this skill when the user has raw counts or a count-generation output and wants differential expression, contrasts, QC plots, or ranked gene tables. ## Essential Inputs Confirm: - raw count matrix path and sample metadata path - gene ID type and annotation mapping requirement - biological conditions, replicates, batch variables, donor pairing, covariates, and exclusions - exact contrasts and baseline levels - preferred statistical framework: DESeq2, edgeR, limma-voom, or existing lab standard - output needs: normalized counts, PCA, sample distance, volcano plots, heatmaps, ranked tables, GSEA-ready lists ## Preconditions Do not start differential expression until: - raw counts are preserved - each requested contrast has enough biological replication - sample metadata row names match count matrix columns - batch/covariate choices are explicit - exploratory PCA/sample-distance plots do not reveal obvious swaps or failed libraries ## Route For most count matrices, use DESeq2 or edgeR. Use limma-voom when the study design or lab standard favors it. Keep the analysis in R when using Bioconductor unless the user specifically asks for a Python-only workflow. The plugin-owned local runner is: ```bash python plugins/ngs-analysis/scripts/run_bulk_rnaseq_de.py \ --count-matrix count_matrix.tsv \ --sample-metadata sample_metadata.tsv \ --contrasts contrasts.tsv \ --execute ``` Use `--method auto` unless the user or lab standard specifies `DESeq2`, `edgeR`, or `limma_log2`. Auto mode uses DESeq2 when integer-like counts and the package are available, falls back to edgeR for integer-like counts, and uses `limma_log2` for non-integer expression matrices. Use `--input-mode` to declare whether the matrix is `raw_counts`, `normalized_expression`, or `log_expression`. When `--input-mode auto` is used, the runner infers the mode and records a warning if normalization is skipped because the matrix is already transformed. Preflight command: ```bash python plugins/ngs-analysis/scripts/ngs_preflight.py --pipeline bulk_rnaseq_differential_expression --emit-install-plan ``` ## Decision Points - Never compare groups without stating the design formula and contrast. - Treat batch correction in modeling separately from visual batch removal. - Do not filter genes using post-hoc knowledge of the contrast. - For paired or repeated-measures designs, model subject/donor explicitly. - Report genes with effect size, uncertainty, adjusted p-value, and filtering status. ## Outputs Produce: - design formula and contrast manifest - QC plots: library size, detected genes, PCA/sample distance, mean-variance trend, and outlier review - input-mode-aware matrix exports plus the modeling/log-scale matrix used for DE - differential-expression tables per contrast - explicit `.not_tested.tsv` stubs for contrasts blocked by insufficient replication or confounding - auto-launched localhost Marimo review app recorded in `notebooks/marimo_server.json` - caveats for small n, confounded designs, failed samples, or batch variables that cannot be estimated - standard run envelope: `run_manifest.json`, `config.json`, `validation/`, `logs/`, `versions/`, `visualizations/`, `notebooks/`, `artifact_index.json`, and `summary.md`
© OpenAI · MIT · openai/plugins