编程基础:R / Python / Bash
做组学数据分析,编程不是目标,而是工具。目标不是成为程序员,是能:
- 读懂别人的脚本
- 修改参数让它跑自己的数据
- 看懂报错并找到原因
- 把分析过程整理成可重复的记录
这一篇给出 BioF3 推荐的最小学习路径。
为什么必须学编程
组学数据有三个特点,让点鼠标的工作流彻底失效:
- 数据量大:表达矩阵、FASTQ、BAM、H5AD 文件动辄几个 GB,Excel 打不开
- 步骤多:QC、标准化、降维、聚类、差异分析、富集分析…每一步都有参数要记
- 结果要可复现:论文、报告、协作场景都需要"别人能跑一遍得到一样的图"
光靠点鼠标,下面这些问题答不出来:
- 这次分析用了哪些过滤阈值?
- 归一化和聚类参数是什么?
- 哪张图是哪一步生成的?
- 换一批样本能不能自动重跑?
- 半年后还能不能复现同样结果?
编程的价值就是把分析过程写下来,让它可以检查、重复、修改、共享。
BioF3 推荐工具栈
R:单细胞分析和统计可视化主力
BioF3 的单细胞实践主要用 R 生态。先学 R 是最直接的路径。
常见场景:
- Seurat 单细胞分析
- ggplot2 可视化
- DESeq2 / edgeR / limma 差异表达
- 统计检验和建模
- clusterProfiler 富集分析
- R Markdown / Quarto 报告
最低要求:
- 读写 CSV、TSV、RDS
- 用 data.frame / tibble
- 用 dplyr 做筛选、分组、排序、汇总
- 用 ggplot2 画常见图
- 安装和加载包
- 看懂函数参数和报错信息
Python:数据处理、机器学习和 Scanpy 生态
Python 适合处理大规模数据、机器学习、工程化流程。
常见场景:
- pandas / numpy 数据处理
- Scanpy / AnnData 单细胞分析
- scikit-learn 机器学习
- PyTorch 深度学习
- 自动化脚本和 API 调用
- 文件批处理
最低要求:
- 创建虚拟环境(venv / conda)
- 读写 CSV、TSV、JSON、H5AD
- 用 pandas 做表格处理
- 用 matplotlib / seaborn 画图
- 写简单函数
- 根据 traceback 定位错误