863. 生信学习路线图
一句话概述:生信学习路线 = 生物学基础 + 编程能力 + 统计思维 + 领域专长——不需要每个都精通,但每个都要会一点,然后在一个方向深耕。
核心知识点速查表
| 阶段 | 时长 | 核心技能 | 目标 |
|---|
| 入门期 | 1-3月 | Linux+Python/R基础 | 能跑现成流程 |
| 基础期 | 3-6月 | 统计+核心工具 | 能独立分析数据 |
| 进阶期 | 6-12月 | 专业方向+流程开发 | 能解决新问题 |
| 精通期 | 1-2年 | 工具开发+方法创新 | 能开发新方法 |
一、完整学习路线
# === 生信学习路线总览 ===
# ┌─────────────────────────────────────────────────┐
# │ 生信学习路线图(2026版) │
# ├─────────────────────────────────────────────────┤
# │ │
# │ 第0层: 生物学基础 │
# │ 分子生物学 → 遗传学 → 基因组学 │
# │ ↓ │
# │ 第1层: 计算基础 │
# │ Linux → Python → R → SQL │
# │ ↓ │
# │ 第2层: 统计学基础 │
# │ 概率论 → 假设检验 → 回归 → 多重检验 │
# │ ↓ │
# │ 第3层: 核心生信技能 │
# │ 序列比对 → 变异检测 → 差异表达 → 富集分析 │
# │ ↓ │
# │ 第4层: 专业方向 (选1-2个深耕) │
# │ ┌────────┬────────┬─────────┬────────┐ │
# │ │宏基因组│单细胞 │临床生信 │AI+生信 │ │
# │ └────────┴────────┴─────────┴────────┘ │
# │ ↓ │
# │ 第5层: 工程化能力 │
# │ Docker → Snakemake → CI/CD → 包开发 │
# │ │
# └─────────────────────────────────────────────────┘
二、各阶段详细内容
# === 详细学习内容 ===
roadmap = {
"第0层 - 生物学基础(自学2-4周)": {
"必学": [
"中心法则: DNA→RNA→蛋白质",
"基因结构: 外显子/内含子/UTR/启动子",
"测序技术原理: Illumina/ONT/PacBio",
"基因组学基本概念: SNP/INDEL/SV/CNV",
],
"推荐资源": [
"分子生物学课本(精读前5章)",
"Coursera: Genomic Data Science(JHU)",
],
"检验标准": "能向非生物专业同学解释PCR和测序原理"
},
"第1层 - 计算基础(4-8周)": {
"Linux(2周)": [
"文件操作: ls/cd/cp/mv/rm/mkdir",
"文本处理: grep/sed/awk/cut/sort/uniq",
"Shell脚本: 变量/循环/条件/函数",
"服务器操作: ssh/scp/screen/conda",
],
"Python(3周)": [
"基础语法: 变量/列表/字典/函数",
"数据处理: pandas/numpy",
"可视化: matplotlib/seaborn",
"Biopython: 序列操作",
],
"R(2周)": [
"基础语法: 向量/数据框/函数",
"tidyverse: dplyr/ggplot2/tidyr",
"Bioconductor: 安装使用R包",
],
"检验标准": "能写脚本处理TSV文件并画图"
},
"第2层 - 统计学基础(3-4周)": {
"必学": [
"描述统计: 均值/中位数/方差/分布",
"假设检验: t检验/卡方/Wilcoxon",
"多重检验: Bonferroni/BH(FDR)",
"回归分析: 线性回归/逻辑回归",
"降维方法: PCA/t-SNE/UMAP",
"聚类分析: K-means/层次聚类",
],
"推荐资源": [
"StatQuest视频(YouTube/B站翻译)",
"R for Data Science第2版",
],
"检验标准": "能解释P值、FDR,知道什么时候用什么检验"
},
"第3层 - 核心生信技能(4-8周)": {
"必学": [
"序列比对: BWA(DNA)/STAR(RNA)",
"SAM/BAM操作: samtools",
"变异检测: GATK HaplotypeCaller",
"RNA-seq: DESeq2差异表达分析",
"功能富集: GO/KEGG通路分析",
"可视化: 火山图/热图/PCA图",
],
"检验标准": "能独立完成RNA-seq或WGS全流程分析"
},
"第4层 - 专业方向(持续深耕)": {
"选择依据": "看招聘需求 + 个人兴趣 + 导师方向",
"主要方向": [
"宏基因组: Kraken2/MetaPhlAn/HUMAnN",
"单细胞: Seurat/Scanpy/CellRanger",
"临床基因组: GATK/ANNOVAR/ClinVar",
"空间组学: Squidpy/Space Ranger",
"AI+生信: 机器学习/深度学习",
]
}
}
三、技能树自评表
# === 技能自评(面试前用这个检查) ===
skill_assessment = """
# 基础技能(必须全部达标)
□ Linux: 能在服务器上熟练操作文件 [ /5]
□ Python: 能用pandas处理表格数据 [ /5]
□ R: 能用ggplot2画出版级图片 [ /5]
□ 统计: 能正确选择和解释统计检验 [ /5]
□ Git: 能进行基本的版本控制 [ /5]
# 核心工具(至少掌握3个)
□ BWA/STAR: DNA/RNA比对 [ /5]
□ GATK: 变异检测流程 [ /5]
□ DESeq2/edgeR: 差异表达分析 [ /5]
□ samtools: BAM文件操作 [ /5]
□ clusterProfiler: 通路富集分析 [ /5]
# 专业方向(至少1个达到4/5)
□ 宏基因组分析 [ /5]
□ 单细胞分析 [ /5]
□ 临床基因组分析 [ /5]
□ 机器学习应用 [ /5]
# 工程能力(加分项)
□ Snakemake/Nextflow流程 [ /5]
□ Docker容器化 [ /5]
□ 包开发(Python/R) [ /5]
评分标准:
1 = 听说过 2 = 能看懂 3 = 能使用 4 = 熟练 5 = 精通
"""
四、每周学习计划模板
# === 每周学习计划(全职学习版) ===
周一: 理论学习(3小时)
- 看视频课程/读教材
- 做笔记(用Obsidian/Notion)
- 整理知识图谱
周二-周三: 工具实操(每天4小时)
- 安装配置工具
- 用示例数据跑通流程
- 记录每个参数的含义
周四-周五: 项目实战(每天4小时)
- 用真实数据分析
- 解决报错(Google+BioStars)
- 整理结果和图片
周六: 编程练习(2小时)
- Rosalind刷题
- LeetCode简单题
- 复习本周代码
周日: 复习+规划(2小时)
- 复习本周笔记
- 更新技能自评表
- 制定下周计划
# 时间分配比例
理论学习: 20%
工具实操: 40% ← 最重要!
项目实战: 30%
编程练习: 10%
常见报错与解决
| 问题 | 原因 | 解决方法 |
|---|
| 不知道从哪开始 | 信息过载 | 按路线图顺序,一次只学一个 |
| 学了就忘 | 缺少实践 | 每学一个概念就用真实数据练一次 |
| 觉得学不完 | 贪多求全 | 先掌握核心80%,其余用到再学 |
| 教程代码跑不通 | 版本差异 | 检查日期,用教程指定的版本 |
| 缺少真实数据 | 没有实验数据 | 从GEO/SRA下载公开数据 |
速查表
# 学习优先级(由高到低)
1. Linux + Shell脚本
2. Python pandas + 可视化
3. R ggplot2 + DESeq2
4. 统计学基础
5. 核心生信工具
6. 专业方向深耕
7. 流程管理 + 容器化
8. 包开发 + CI/CD
# 找工作需要的最低技能
初级生信: Linux+R/Python+1个方向
中级生信: 上述+流程开发+统计
高级生信: 上述+方法开发+论文
# 学习心态
1. 不要追求完美,够用就好
2. 遇到报错是正常的
3. 用20%的工具解决80%的问题
4. 坚持每天学一点比突击有效