基于基因表达矩阵数据,生成按 细胞类型 × 癌种 分组的气泡图(dot plot)。
pip3 install --break-system-packages pandas matplotlib)读取文件前几行,识别以下关键列:
角色识别关键词示例列名细胞类型majorCluster, cell_type, cluster``majorCluster组织类型tissue, class, condition, group``tissue癌种cancerType, cancer_type, disease``cancerType基因表达所有数值型非元数据列FOLR1, TACSTD2, MET ...
Adjacent 等正常组织名称统一映射为 Normalbash
# 基本用法 — 自动检测所有基因
python3 skills/bubble-plot/bubble_plot.py <data.tsv>
# 只画指定基因
python3 skills/bubble-plot/bubble_plot.py <data.tsv> --genes FOLR1 TACSTD2 MET
# 自定义列名(如果自动检测失败)
python3 skills/bubble-plot/bubble_plot.py <data.tsv> --genes FOLR1 MET --cell-col CellType --cancer-col Disease
# 不按组织类型拆分
python3 skills/bubble-plot/bubble_plot.py <data.tsv> --no-split-tissue
# 自定义输出目录和分辨率
python3 skills/bubble-plot/bubble_plot.py <data.tsv> -o my_plots --dpi 600
bubble_plots/ 目录{基因}_dotplot_{Normal|Tumor}.{png|pdf}参数默认值说明input必填输入 TSV 或 CSV 文件路径--genes / -g自动检测要画的基因名列表--cell-col自动检测细胞类型列名--cancer-col自动检测癌种/疾病列名--tissue-col自动检测组织类型列名--split-tissueTrue按组织类型拆分画图--no-split-tissue-不拆分,所有数据画一张--outdir / -o``bubble_plots输出目录--dpi300PNG 分辨率
tissue 列中 Adjacent 是否已映射为 Normal