Agent Skillsaipoch/medical-research-skills › deg-screening-analysis

deg-screening-analysis

GitHub

用于批量表达矩阵的两组差异基因筛选,生成DEG表、火山图和聚类热图。基于limma方法,支持case vs control对比。不适用于单细胞、多组比较或DESeq2等流程。

awesome-med-research-skills/Data Analysis/deg-screening-analysis/SKILL.md aipoch/medical-research-skills

Trigger Scenarios

bulk RNA-seq 差异分析 生成火山图 生成聚类热图 limma 两组比较

Install

npx skills add aipoch/medical-research-skills --skill deg-screening-analysis -g -y
More Options

Non-standard path

npx skills add https://github.com/aipoch/medical-research-skills/tree/main/awesome-med-research-skills/Data Analysis/deg-screening-analysis -g -y

Use without installing

npx skills use aipoch/medical-research-skills@deg-screening-analysis

指定 Agent (Claude Code)

npx skills add aipoch/medical-research-skills --skill deg-screening-analysis -a claude-code -g -y

安装 repo 全部 skill

npx skills add aipoch/medical-research-skills --all -g -y

预览 repo 内 skill

npx skills add aipoch/medical-research-skills --list

SKILL.md

Frontmatter
{
    "name": "deg-screening-analysis",
    "author": "AIPOCH",
    "license": "MIT",
    "description": "Use when screening differentially expressed genes from a bulk expression matrix between two user-specified groups, producing DEG tables, a volcano plot, and a clustered heatmap. Triggers include DEG analysis, volcano plot, clustered heatmap, limma-based two-group comparison, and case-vs-control screening. NOT for single-cell RNA-seq, multi-group contrasts, count-model workflows such as DESeq2\/edgeR, or non-expression omics data."
}

Source: https://github.com/aipoch/medical-research-skills

Differential Expression Gene Screening Analysis (Volcano Plot & Clustered Heatmap)

When to Use

Use this skill when you need a reproducible two-group DEG workflow on a bulk expression matrix and want:

  • a full differential expression table
  • a filtered DEG table
  • a volcano plot
  • a clustered heatmap of top differential genes

Typical requests include:

  • compare case vs control samples with limma
  • screen upregulated and downregulated genes from a normalized expression matrix
  • generate a DEG table with volcano and heatmap outputs from bulk transcriptome data

Out of Scope

Do not use this skill for:

  • single-cell RNA-seq workflows
  • multi-group contrasts or factorial designs
  • count-model pipelines that require DESeq2 or edgeR
  • batch correction, covariate-adjusted models, or generalized design-matrix consulting
  • non-expression omics data

If the request falls outside this scope, stop and hand off to a more appropriate analysis workflow instead of forcing the data through this skill.

Practical Caveats

  • Diffanalysis.csv currently exports name, logFC, P.value, and P.adj.
  • --p_type controls both DEG screening semantics and volcano plot significance semantics.
  • plot/heatmap.pdf is generated only when at least two heatmap genes remain after ranking.
  • When the result is very sparse, prefer keeping tables and volcano output as the primary artifacts.

When to Read External Files

Situation File to Read Purpose
Need algorithm details or statistical assumptions references/algorithm.md limma method, filtering logic, volcano/heatmap selection rules
Need to execute the workflow scripts/main.R Get the exact CLI entry and runnable command
Encounter an error code or bad input format references/troubleshooting.md Match SKILL_* errors to causes and fixes
Need more CLI examples references/cli-guide.md See complete command examples for common use cases
Need a minimal runnable example tests/data/ Use bundled test input files for validation

Usage

Rscript scripts/main.R \
  --input_file tests/data/oa_exp.csv \
  --group_file tests/data/oa_group.csv \
  --case OA \
  --control control \
  --output_dir ./results

Arguments

Short Long Type Default Required Description
-i --input_file character none yes Expression matrix CSV. First column is gene ID, remaining columns are sample values.
-g --group_file character none yes Group annotation CSV. The script auto-detects sample and group columns, including files where the first column is row names or index.
-o --output_dir character ./DEG no Output directory for tables, plots, and session metadata.
--case character none yes Case group name to compare. Matching is case-insensitive and trimmed.
--control character none yes Control group name to compare. Matching is case-insensitive and trimmed.
-m --diff_method character limma no Differential expression method. Current implementation supports limma only.
-p --p_threshold numeric 0.05 no Significance threshold for DEG screening.
-f --logfc_threshold numeric 1 no Absolute log fold change threshold for DEG screening.
--top_n integer 5 no Number of top upregulated and top downregulated genes considered for heatmap selection.
--p_type character p.adj no P-value field used for significance filtering and volcano significance coloring. Allowed values: p, p.adj.
--run_plots logical TRUE no Whether to generate the volcano plot and clustered heatmap.
--timeout_seconds integer 3600 no Maximum allowed runtime before timeout.
-s --seed integer 42 no Random seed recorded for reproducibility.

Output Files

File Format Description
session_info.txt txt R session metadata and package versions used in the run.
data/DEG_list.rda rda Serialized R object containing method, groups, thresholds, the full differential table, and the screened DEG table.
table/Diffanalysis.csv csv Full differential expression result table with columns name, logFC, P.value, and P.adj.
table/DEG.csv csv Significant DEG table only, containing screened genes with group labels up or down.
plot/volcano_plot.pdf pdf Volcano plot of differential genes using the p-value mode selected by --p_type.
plot/heatmap.pdf pdf Clustered heatmap for selected top differential genes when at least two heatmap genes are available and plotting is enabled.

Workflow

Step 1: Validate Input

  • check that input files exist
  • load the expression matrix and ensure it is non-empty
  • auto-detect sample and group columns in the group file
  • verify sample IDs overlap correctly
  • verify case/control groups exist and each selected group has at least two samples

Step 2: Run Differential Expression

  • fit a two-group limma linear model
  • build the contrast case - control
  • compute empirical Bayes moderated statistics
  • export the full differential result table

Step 3: Screen Differentially Expressed Genes

  • apply p_threshold and logfc_threshold
  • use P.value or P.adj based on --p_type
  • label genes as up, down, or no
  • export DEG tables and serialized result objects

Step 4: Generate Volcano Plot & Clustered Heatmap

  • build plot/volcano_plot.pdf directly from the full differential table
  • select top up and top down genes for heatmap input
  • build plot/heatmap.pdf only when at least two heatmap genes are available

Error Handling

Error Code Meaning Typical Fix
SKILL_FILE_NOT_FOUND Input file path does not exist Verify the file path and rerun
SKILL_PACKAGE_NOT_FOUND Required R package is missing Install the missing package, then rerun
SKILL_MISSING_COLUMNS Input file does not contain the necessary columns Check CSV structure and column placement
SKILL_EMPTY_DATA Input file is empty or limma returns no analyzable rows Validate input content or confirm the matrix contains enough valid values
SKILL_INVALID_PARAMETER Argument value or group selection is invalid Check thresholds, --case, --control, and --p_type
SKILL_SAMPLE_MISMATCH Expression matrix samples and group file samples do not match Align sample IDs between the two input files
SKILL_TIMEOUT The run exceeded the allowed runtime Increase --timeout_seconds or simplify the run

If you need step-by-step fixes, read references/troubleshooting.md.

Testing

Rscript tests/run_tests.R

Minimal CLI smoke test:

Rscript scripts/main.R \
  --input_file tests/data/oa_exp.csv \
  --group_file tests/data/oa_group.csv \
  --case OA \
  --control control \
  --output_dir ./tests_output

Expected outputs:

  • tests_output/table/Diffanalysis.csv
  • tests_output/table/DEG.csv
  • tests_output/plot/volcano_plot.pdf
  • tests_output/session_info.txt

tests_output/plot/heatmap.pdf is expected only when enough significant genes remain for heatmap rendering. Runs with fewer than two selected heatmap genes skip heatmap generation with a warning instead of failing. tests_output/table/DEG.csv may be empty when no genes pass the current thresholds.

Skill name: deg-screening-analysis

Version History

  • f5ef65b Current 2026-07-24 17:04

Same Skill Collection

awesome-med-research-skills/Academic Writing/author-response-builder/SKILL.md
awesome-med-research-skills/Academic Writing/claim-strength-calibrator/SKILL.md
awesome-med-research-skills/Academic Writing/conference-abstract-writer/SKILL.md
awesome-med-research-skills/Academic Writing/consistency-checker-across-manuscript/SKILL.md
awesome-med-research-skills/Academic Writing/cover-letter-drafter/SKILL.md
awesome-med-research-skills/Academic Writing/discussion-composer/SKILL.md
awesome-med-research-skills/Academic Writing/figure-legend-writer/SKILL.md
awesome-med-research-skills/Academic Writing/grant-specific-aims-writer/SKILL.md
awesome-med-research-skills/Academic Writing/graphical-abstract-generator/SKILL.md
awesome-med-research-skills/Academic Writing/introduction-logic-builder/SKILL.md
awesome-med-research-skills/Academic Writing/introduction-section-writer/SKILL.md
awesome-med-research-skills/Academic Writing/latex-manuscript-format-converter/SKILL.md
awesome-med-research-skills/Academic Writing/medical-english-precision-editor/SKILL.md
awesome-med-research-skills/Academic Writing/paper-sprint-review/SKILL.md
awesome-med-research-skills/Academic Writing/poster-storyline-builder/SKILL.md
awesome-med-research-skills/Academic Writing/reference-integrity-checker/SKILL.md
awesome-med-research-skills/Academic Writing/reporting-guideline-compliance-checker/SKILL.md
awesome-med-research-skills/Academic Writing/results-section-structurer/SKILL.md
awesome-med-research-skills/Academic Writing/results-section-writer/SKILL.md
awesome-med-research-skills/Academic Writing/revision-strategy-planner/SKILL.md
awesome-med-research-skills/Academic Writing/slide-deck-for-lab-meeting/SKILL.md
awesome-med-research-skills/Academic Writing/table-narrative-writer/SKILL.md
awesome-med-research-skills/Academic Writing/target-journal-matcher/SKILL.md
awesome-med-research-skills/Academic Writing/title-and-abstract-optimizer/SKILL.md
awesome-med-research-skills/Data Analysis/batch-effect-correction/SKILL.md
awesome-med-research-skills/Data Analysis/cerna-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/cibersort-immune-infiltration-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/consensus-clustering-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/decision-curve-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/decision-tree-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/differential-expression-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/elastic-net-feature-selection/SKILL.md
awesome-med-research-skills/Data Analysis/estimate-immune-score-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/external-model-validation/SKILL.md
awesome-med-research-skills/Data Analysis/gene-protein-expression-matrix-normalization/SKILL.md
awesome-med-research-skills/Data Analysis/gokegg/SKILL.md
awesome-med-research-skills/Data Analysis/gsea/SKILL.md
awesome-med-research-skills/Data Analysis/gsva-analysis-and-visualization/SKILL.md
awesome-med-research-skills/Data Analysis/hierarchical-clustering-plot/SKILL.md
awesome-med-research-skills/Data Analysis/immune-pathway-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/km-survival-curve/SKILL.md
awesome-med-research-skills/Data Analysis/knn-imputation/SKILL.md
awesome-med-research-skills/Data Analysis/lasso-logistics-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/LightGBM-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/lncrna-regulatory-network-construction-analysis/SKILL.md
awesome-med-research-skills/Data Analysis/model-calibration-curve/SKILL.md
awesome-med-research-skills/Data Analysis/nomogram-construction/SKILL.md
awesome-med-research-skills/Data Analysis/pca-dimensionality-reduction/SKILL.md
awesome-med-research-skills/Data Analysis/ppi-network-analysis/SKILL.md

Metadata

Files
0
Version
f5ef65b
Hash
6c396523
Indexed
2026-07-24 17:04

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-16 17:15
浙ICP备14020137号-1 $mapa de visitantes$