技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
estimate-immune-score-analysis【数据与研究】Use this skill to compute ESTIMATE immune-related microenvironment scores from a bulk expression matrix, generate an ESTIMATE score heatmap, and optionally generate group-wise ESTIMATE score boxplots plus significance tables when a sample group file is supplied. Trigger keywords: ESTIMATE, immune score, stromal score, tumor microenvironment score. NO…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill when the user wants to:
estimate package input files and score outputsTypical request patterns:
This is a CLI-backed analysis skill.
SKILL.md to confirm that the task is ESTIMATE score generation from bulk expression data.scripts/main.R for the real execution.| Situation | File to Read | Purpose |
|---|---|---|
| Need algorithm details | references/algorithm.md | Understand the ESTIMATE scoring workflow and result interpretation |
| Need to run the skill | scripts/main.R | Execute the CLI entry point |
| Encounter errors | references/troubleshooting.md | Find standard error codes and fixes |
| Need more CLI examples or the real-data baseline record | references/cli-guide.md | Copy commands and review the recorded execution template |
| Need sample input files | tests/data/ | Use the bundled demo expression matrix |
If the request is outside ESTIMATE score generation for bulk expression matrices, stop and explain that this skill only covers ESTIMATE-based score computation.
This skill accepts:
Do not use this workflow for:
If the user's request is outside this scope, do not proceed with the workflow. Instead respond:
estimate-immune-score-analysisis designed to compute ESTIMATE-based tumor microenvironment scores from a bulk expression matrix. Your request appears to be outside this scope. Please provide a valid bulk expression matrix and, if needed, a matching sample group file, or use a more appropriate skill for your task.
Rscript scripts/main.R \
--input_file ./expression_matrix.csv \
--group_file ./group_info.csv \
--output_dir ./output \
--gene_id_type GeneSymbol \
--platform affymetrix \
--seed 42
| Short | Long | Type | Default | Description |
|---|---|---|---|---|
-i | --input_file | character | required | Expression matrix file in CSV or TSV format |
-o | --output_dir | character | ./output | Output directory |
--group_file | character | optional | Sample group file used for ESTIMATE score boxplots and significance testing | |
-g | --gene_id_type | character | GeneSymbol | Gene identifier type: GeneSymbol or EntrezID |
-p | --platform | character | affymetrix | ESTIMATE platform: affymetrix, agilent, or illumina |
-s | --seed | integer | 42 | Random seed |
-t | --timeout_seconds | integer | 0 | Optional timeout in seconds; 0 disables timeout |
--input_delimiter | character | auto | Input delimiter hint: auto, csv, or tsv | |
--group_delimiter | character | auto | Group file delimiter hint: auto, csv, or tsv | |
--sample_column | character | sample | Sample column name in the group file | |
--group_column | character | group | Group column name in the group file | |
--plot_file | character | estimate_scores_boxplot.pdf | Boxplot file name written under plot/ | |
--heatmap_file | character | estimate_scores_heatmap.pdf | Heatmap file name written under plot/ |
SKILL_INVALID_PARAMETERExample:
gene,S1,S2,S3
TP53,8.1,7.9,6.5
EGFR,5.2,5.0,4.2
The bundled tests/data/expression_matrix.csv was copied from cibersort-immune-infiltration-analysis/tests/data/expression_matrix.csv for demo and validation use.
SKILL_INVALID_PARAMETER is raised.SKILL_INVALID_PARAMETER.SKILL_* error after preserving the core ESTIMATE outputs and failure recordsExample:
sample,group
S1,Tumor
S2,Tumor
S3,Healthy
S4,Healthy
| File | Description |
|---|---|
data/expression_input.tsv | Tab-delimited expression matrix prepared for ESTIMATE |
data/estimate_input.gct | GCT file created by estimate::filterCommonGenes() |
data/estimate_score.gct | Raw ESTIMATE score output from estimate::estimateScore() |
table/estimate_scores.tsv | Reformatted sample-by-score table |
plot/estimate_scores_heatmap.pdf | Sample-level ESTIMATE score heatmap |
table/estimate_score_group_stats.csv | Per-score p-values and the group with the higher median score when --group_file is provided |
plot/estimate_scores_boxplot.pdf | ESTIMATE score boxplot when --group_file is provided |
session_info.txt | R session and package version information |
output_manifest.txt | Append-only output file manifest with descriptions |
run_record.txt | Append-only run record with parameters, runtime, and output summary |
estimate::filterCommonGenes()estimate::estimateScore()data/table/estimate_scores.tsvplot/estimate_scores_heatmap.pdf--group_file is supplied, create plot/estimate_scores_boxplot.pdf--group_file is supplied, create table/estimate_score_group_stats.csvoutput_manifest.txt and run_record.txt, and exit with a SKILL_* messagesession_info.txtoutput_manifest.txt and run_record.txtRscript scripts/main.R \
--input_file ./expression_matrix.csv \
--output_dir ./output
Rscript scripts/main.R \
--input_file ./expression_matrix.csv \
--group_file ./group_info.csv \
--output_dir ./grouped_output
Rscript scripts/main.R \
--input_file ./expression_matrix.tsv \
--input_delimiter tsv \
--output_dir ./tsv_output \
--gene_id_type GeneSymbol
Rscript scripts/main.R \
--input_file ./expression_matrix.csv \
--output_dir ./illumina_output \
--platform illumina \
--seed 123
For the real-data baseline execution record, READ: references/cli-guide.md
| Error Code | Meaning | Solution |
|---|---|---|
SKILL_FILE_NOT_FOUND | Input file is missing or an expected intermediate file was not created | Check file paths and rerun |
SKILL_MISSING_COLUMNS | The gene identifier column contains missing values | Repair the first column and rerun |
SKILL_EMPTY_DATA | The matrix or ESTIMATE output is empty | Verify input content and identifier compatibility |
SKILL_INVALID_PARAMETER | A CLI argument is unsupported; the matrix contains invalid values; duplicate sample column names detected; more than two group levels provided; or a group contains fewer than 3 samples | Review arguments and input values |
SKILL_SAMPLE_MISMATCH | Sample names in the group file do not overlap the ESTIMATE score table | Align sample IDs before rerunning |
SKILL_PACKAGE_NOT_FOUND | Required R packages are not installed | Install missing packages listed in references/cli-guide.md |
If the error persists, READ: references/troubleshooting.md
For optional group comparison failures such as SKILL_SAMPLE_MISMATCH, inspect the preserved core outputs together with output_manifest.txt and run_record.txt to see what completed before the grouped step failed.
Rscript scripts/main.R --help
Rscript tests/run_tests.R
Rscript scripts/main.R \
--input_file tests/data/expression_matrix.csv \
--group_file tests/data/group_info.csv \
--output_dir tests/output \
--gene_id_type GeneSymbol \
--platform affymetrix \
--seed 42
Expected outputs:
tests/output/data/expression_input.tsvtests/output/data/estimate_input.gcttests/output/data/estimate_score.gcttests/output/table/estimate_scores.tsvtests/output/plot/estimate_scores_heatmap.pdftests/output/table/estimate_score_group_stats.csvtests/output/plot/estimate_scores_boxplot.pdftests/output/session_info.txttests/output/output_manifest.txttests/output/run_record.txtOptional post-check:
Rscript tests/test_skill.R tests/output
For detailed algorithm notes, READ: references/algorithm.md
optparseset.seed() for reproducibilitySKILL.mdget_script_dir() defined before any call to itSKILL.mdtests/data/SKILL_* messagesreferences/cli-guide.mdskill-auditor outputs generated after container execution