AI生成tSNE图实战:从单细胞分群到论文投稿的配图避坑笔记
AI能帮你快速生成漂亮的tSNE图,但聚类是否真实、配色是否合规、原图是否可追溯,才是审稿人真正在意的地方。本文聊聊实战流程和避坑经验。
前两天帮一位师妹改返修稿,她扔过来一张tSNE图,细胞分群颜色鲜艳得像彩虹糖,审稿人却在意见里写了一句:"Please provide the original tSNE embedding and clarify how clusters were annotated." 她这才慌了——图是用某个AI绘图工具一键生成的,原始的embedding矩阵、perplexity参数、随机种子,统统拿不出来。
这大概是这两年很多人接触AI生成tSNE图时最容易踩的坑:图好看,但过程不可复现。我自己做过几年单细胞转录组,也替课题组处理过大量流式、质谱、影像特征的降维可视化,今天就顺着实际流程聊聊,AI到底能帮到哪一步,哪些地方必须自己攥紧。
先说清楚:tSNE图到底在表达什么
tSNE不是一张普通的散点图,它是把高维表达矩阵压缩到二维平面后的"拓扑快照"。每个点代表一个细胞或一条样本,点之间的距离只反映局部邻域相似性——这一点在论文里经常被误读。很多新手看到两群点挨得近,就写"these two cell types are transcriptionally similar",审稿人立刻让你补UMAP或者相关性热图。
所以在让AI出图之前,你心里得先有三件事:原始矩阵是什么、用什么管线跑的降维(Seurat、Scanpy还是Rtsne)、分群标签从哪里来。AI在这个环节最合理的定位,是可视化与排版助手,而不是替你做降维计算的黑箱。
我现在的实际工作流
以单细胞数据为例,我一般在Scanpy里跑完sc.tl.tsne,把X_tsne的两列坐标、louvain分群、样本来源、目标基因表达量导出成一个CSV或者AnnData的h5ad。这个文件是"命根子",无论后面怎么用AI重绘,都不会改变底层坐标。
拿到坐标之后,才进入AI能真正发力的环节。我常用的做法是把数据和需求一起喂给科研配图Pro,让它按目标期刊的风格出图:比如Nature系偏爱的无框、细点、低饱和配色,或者Cell系常见的带密度背景的分群图。你可以直接告诉它"按Nature Reviews Genetics风格,每个cluster用柔和的离散色,字体Arial 7pt,图例放右侧并标注细胞类型和占比",它会给出成图和可回溯的绘图脚本。
这里顺手多说一句,选AI作图工具时我有个硬性标准:必须能导出底层代码或可编辑矢量文件(PDF/SVG/AI)。那种只能下载PNG、甚至连坐标都不显示的工具,再好看也别用于投稿。SCI投稿对tSNE图普遍要求300–600 dpi、矢量优先,文字转曲,CMYK或sRGB看期刊规定。位图一旦在返修阶段被要求改字号、换配色,就只能从头再来。
几种最常见的科研场景
1. 投稿前临时改图。这是最高频的场景。审稿意见常常是"please combine Figure 2B and 2C into a single tSNE split by condition",或者"highlight the exhausted CD8+ T cells with a distinct color"。这种活儿手工用ggplot或matplotlib写代码至少半天,用AI辅助的论文配图工具,上传坐标表后用自然语言描述分面逻辑,十几分钟能拿到第一版,再微调细节就行。关键是分群信息完全来自你提供的标签,AI没有动你的数据。
2. 多组学或多样本拼图。比如肿瘤配对样本、治疗前后、多个器官的tSNE对照,需要保证坐标一致、配色统一、标签位置互不遮挡。AI在对齐布局、自动避让标签、统一色板上确实省心。但要记住:如果是多批次数据,一定要先做整合(Harmony、BBrowser、scVI等)再降维,否则AI只是把批次差异画得更漂亮,反而成了"高级造假"。
3. 基因表达量映射到tSNE。Feature plot是最容易出问题的一类。颜色条(color scale)是用二值、quantile截断还是log归一化,直接影响审稿人的判断。我一般让AI生成图时显式写明scale范围,比如"expression scaled 0–3, clipped at 95th percentile",并在图注里说清楚。AI默认出的图常常为了好看自动拉伸对比,这种美化在论文里是雷区。
4. 图文摘要(Graphical Abstract)和组会PPT。这种场合AI的自由度可以大一些。把tSNE作为核心视觉元素,旁边配上细胞通讯示意、小鼠模型、实验流程,做成一张机制图。我常用科研配图Pro的研究框架图功能,先让AI根据摘要文字排几版骨架,再手动把真实的tSNE截图嵌进去——既保证了视觉效果,又不会出现"AI凭空想象出的细胞分群"。
配色、字体和那些审稿人会盯的细节
tSNE图的配色是个学问。细胞类型超过10种时,直接用ggplot默认配色或者彩虹色板,相邻群颜色根本分不开。专业一点的做法是用d3.color的category20、pals里的polychrome,或者干脆按细胞谱系自定义:T细胞一套蓝色、B细胞绿色、髓系红色、基质细胞棕色,谱系内部再用明暗区分亚型。AI工具里可以直接让它"按lineage分组配色,同lineage同色相不同明度",出图会规范很多。
字体上,英文期刊基本Arial/Helvetica 7–8pt起步,国内中文核心常用宋体或黑体。字号别凭感觉,最终版面单栏宽是85mm左右,你在屏幕上看合适的图缩小之后,cluster编号往往糊成一团。我一般要求AI在导出时按"印刷尺寸+字号"渲染,而不是按像素。
还有几个小地方:坐标轴的数值(tSNE_1、tSNE_2)在Cell系期刊里通常保留,在Nature系里经常被删掉;密度过高时把点大小调到0.1–0.3、alpha设0.6,能看清内部结构;如果点重叠严重,学术图表生成时可以让AI加2D密度轮廓,但不要用平滑的密度图完全替代原始点,否则会掩盖稀有亚群。
最危险的几个误区
把tSNE当定量证据。tSNE的簇间距离、簇大小都不能直接定量。我见过有人用两簇之间的二维欧氏距离做统计,审稿人基本秒拒。涉及差异分析请回到原始高维空间。
参数不报告。perplexity、learning rate、迭代次数、随机种子,论文方法部分至少要写前两个。同一份数据perplexity从5改到50,分群视觉可能完全不同。如果你用AI重绘,务必保留原始计算脚本。
让AI"补全"数据。有些工具宣传能根据一小批细胞自动生成完整tSNE,这种图绝对不能当结果图用,只能用于示意图,并且要在图注里写清楚"illustrative"。
过度美化。背景渐变、阴影、3D挤出、发光描边,在海报封面可以,正文Figure里几乎一律扣分。AI出图时要明确告诉它"flat style, white background, no shadow"。
忽略可重复性声明。越来越多期刊要求提供代码和数据可用性声明。AI生成的绘图脚本要自己跑一遍确认环境、版本号,再连同数据一起存到GitHub或Zenodo。
返修和答辩前,我会做的最后检查
投稿前我通常把tSNE图单独放大到100%逐眼看:标签是否压点、配色在黑白打印时是否还能区分(可以临时转灰度检查)、同一细胞类型在主图和补充图里颜色是否一致、图注里是否写了样本量n、分群算法和分辨率。若是多图拼版,我会让AI同时输出一份带panel label(A/B/C)的版本和一份不带label的纯净版,后者方便后期在Illustrator里统一加标签。
答辩PPT则是另一套逻辑。投影环境差、后排同学看不清,我会把点放大、文字加粗、只保留重点细胞类型,其他全部灰掉。这时候AI改图的速度优势特别明显,一张图出"汇报版"和"论文版"两套,十几分钟的事。
写在改图深夜的几句
AI生成tSNE图这件事,说到底是把研究者从ggplot theme调参、AI描边、PS对齐里解放出来,让你有更多时间去想:这群细胞到底是不是新亚型?这个分群和临床信息有没有真正的关联?工具越强,越要把数据的源头攥在自己手里。
下次审稿意见再来一句"please provide the original embedding",希望你能从容地从项目文件夹里翻出那个带着时间戳的h5ad,而不是对着一张漂亮的PNG发呆。