用途:针对合并后的 bulk RNA-seq 或芯片表达矩阵,在已知样本级批次标签的情况下消除批次驱动变异,同时保留生物学分组结构。
主要能力:使用 sva::ComBat() 做经验贝叶斯批次校正,构建含生物学分组的设计矩阵;校正后用 limma::normalizeBetweenArrays() 归一化;支持 auto/yes/no 三种对数转换模式(auto 仅在矩阵近似原始尺度时应用 log2(x+1));输出校正矩阵、匹配后的元数据、校正前后箱线图、PCA 散点图与层次聚类图,以及 R 会话信息。
使用方式:先安装依赖:Rscript -e "if (!require('BiocManager', quietly=TRUE)) install.packages('BiocManager'); BiocManager::install(c('sva', 'limma')); install.packages('ggplot2', repos='https://cloud.r-project.org')"。随后运行:Rscript scripts/main.R --input_file ./expression_matrix.csv --group_file ./sample_info.csv --output_dir ./output/ --batch_column batch --group_column group --sample_column sample --log_transform auto --timeout_seconds 600 --seed 42。输入矩阵为 CSV,基因为行、样本为列,首列为基因 ID;元数据 CSV 需含样本 ID、分组与批次列。
适用场景:合并多个 bulk 数据集且带批次标签、至少 2 个批次与 2 个生物学分组、每组每批次至少 2 个样本。
限制:不适用于单细胞整合、原始 FASTQ 处理、无批次标签的差异表达分析或仅单批次数据;表达值须为数值且有限,基因 ID 与样本名须唯一非空;元数据可只覆盖部分样本,未匹配列会被忽略并警告。常见错误码包括 SKILL_FILE_NOT_FOUND、SKILL_MISSING_COLUMNS、SKILL_SAMPLE_MISMATCH、SKILL_INVALID_DATA、SKILL_TIMEOUT、SKILL_DEPENDENCY_MISSING 等,详见 references/troubleshooting.md。