跳转至

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. 坚持每天学一点比突击有效