数学系学生如何入门计算基因组学?

数学系学生进计算基因组学,优势很明显:概率、线性代数、优化、图论、算法底子好 ;短板通常是分子生物学语境 + Linux/生信工具链 + 组学数据格式。所以入门策略不是"从零学生物",而是:

用数理基础做杠杆,先建立"生物学问题 → 数学模型 → 算法/统计方法 → 代码实现"的闭环。


一、先补"最少必要生物知识"

不用先啃完一整本《分子生物学》,先搞懂这些就够跑流程:

  • 中心法则:DNA → RNA → 蛋白质

  • 基因组基本结构:基因、外显子/内含子、启动子、UTR、重复序列

  • 测序是什么:Sanger、Illumina/NGS、长读长(PacBio/Oxford Nanopore)

  • 常见数据类型:

    • 序列:FASTA / FASTQ

    • 比对结果:SAM / BAM / CRAM

    • 变异:VCF

    • 注释:GTF / GFF

    • 表达矩阵:counts matrix

  • 常见组学:基因组、转录组(RNA-seq)、表观组(ChIP-seq / ATAC-seq / bisulfite)、单细胞、群体遗传/GWAS、癌症基因组

推荐速成材料:

  • Alberts《Molecular Biology of the Cell》挑前几章

  • 《Genomics Class》(Harvard):genomicsclass.github.io

  • NCBI / Ensembl / UCSC Genome Browser 随便点一遍


二、计算机/工程侧:数学系最常忽略但最关键

数学系学生容易"模型懂,但数据搬不动"。必须补:

1. Linux + Shell

  • 文件/路径、pipe、grep/awk/sed/sort/uniq

  • 在服务器/HPC 上跑任务

  • 任务调度:Slurm / PBS(后期)

2. Python + R 二选一为主,另一个够用

  • Python:pandas / numpy / scipy / scikit-learn / Biopython / pysam

  • R:tidyverse / ggplot2 / DESeq2 / edgeR / limma / Bioconductor

  • 生信里现实是:Python 做流程/工程,R 做统计/可视化

3. 可重复分析

  • Git

  • Conda / Docker / Singularity

  • Snakemake / Nextflow(后期很重要)


三、核心课:计算基因组学主干

数学系可以按"算法 + 概率模型 + 统计学习"三条线推进。

1. 序列与算法

  • 全局/局部比对:Needleman--Wunsch、Smith--Waterman

  • BLAST、k-mer、后缀树/后缀数组、Burrows--Wheeler Transform

  • de Bruijn graph 组装

  • 短读长比对:BWA、Bowtie2、minimap2

书:

  • Pevzner《Bioinformatics Algorithms: An Active Learning Approach》

  • Gusfield《Algorithms on Strings, Trees, and Sequences》

  • Mäkinen 等《Genome-Scale Algorithm Design》

2. 概率模型与序列分析

  • 马尔可夫链、隐马尔可夫模型 HMM

  • Viterbi / Forward-Backward / Baum--Welch

  • 序列进化模型、替换矩阵

  • 系统发育:距离法、最大简约、最大似然、贝叶斯

书:

  • Durbin 等《Biological Sequence Analysis》← 数学系会很有亲切感

  • Felsenstein《Inferring Phylogenies》

3. 统计与组学数据

  • 归一化、批次效应

  • 差异表达:负二项分布模型(DESeq2/edgeR)

  • 多重检验校正:FDR / BH

  • PCA、UMAP、t-SNE、聚类

  • 单细胞:降维、cell type annotation、trajectory

  • GWAS:回归、曼哈顿图、LD、population structure

  • 癌症基因组:somatic variant、driver mutation、拷贝数、克隆结构

书/资源:

  • 《Computational Genomics with R》

  • Ewens & Grant《Statistical Methods in Bioinformatics》

  • JHU Coursera:Genomic Data Science Specialization

  • Data Carpentry: Genomics


四、推荐学习路线(6--12 个月)

阶段 0:1--2 个月,跑通一个真实流程

目标:不再怕"生物数据"。

  1. 装 Linux/WSL 或服务器环境

  2. 学 Python 或 R 基础

  3. 下载一个小型 RNA-seq 数据集

  4. 跑:

    • FastQC → Trimmomatic/Cutadapt

    • HISAT2/STAR 比对

    • featureCounts/Salmon 定量

    • DESeq2 差异分析

    • GO/KEGG 富集 + 火山图/热图

数学系别一上来只推公式,要先有"数据长什么样"的体感。


阶段 1:3--6 个月,补理论与模型

  • 序列比对与 HMM

  • 基础群体遗传:Hardy--Weinberg、FST、LD、选择信号

  • 统计学习:回归、GLM、正则化、EM、MCMC 基础

  • 读论文:RNA-seq 差异分析、variant calling、scRNA-seq 聚类

可跟课:

  • CMU 03-511/711 Computational Molecular Biology and Genomics

  • Stanford / MIT / ETH 的 Computational Genomics 课程大纲

  • Rosalind.info(生信版 LeetCode)


阶段 2:6--12 个月,做项目/进组

数学系最适合切入的方向:

  • 序列模型:HMM、language model for DNA

  • 变异检测中的统计模型

  • 单细胞数据的概率模型 / 降维 / 轨迹推断

  • 多组学整合:矩阵分解、图模型

  • 群体遗传中的推断:ABC、MCMC、selection scan

  • 深度学习:CNN/Transformer 做 promoter / TF binding / variant effect

项目来源:

  • GEO / SRA / TCGA / 1000 Genomes / GTEx

  • 复现一篇论文

  • 帮生物实验室做数据分析

  • 找导师/组会:统计系、计算机系、生科院交叉组都行


五、数学系容易踩的坑

  1. 只学模型不碰数据:结果是对数线性模型懂了,但 BAM 文件不会读。

  2. 轻视生物学问题:生信不是"数据够大就能训出来",生物学机制决定哪些假设合理。

  3. 只会调包不理解统计:p-value、FDR、归一化、批次效应不懂,结论可能是幻觉。

  4. 过早卷深度学习:传统统计和图/串算法反而更能拉开数学系差距。


六、一句路线总结

Linux + Python/R → 跑通 RNA-seq → 补分子生物学 → 学序列算法/HMM → 学组学统计 → 做复现项目 → 进交叉组做模型/算法。

相关推荐
闻缺陷则喜何志丹2 天前
【计算几何】闵可夫斯基差演示
数学·计算几何·autocad·闵可夫斯基差
ClouGence3 天前
老师备课到底能不能交给 AI?我拿鸡兔同笼实测了一遍
数学·aigc
Tisfy3 天前
LeetCode 3871.统计范围内的逗号 II:每次算一个逗号
数学·算法·leetcode·题解
Tisfy4 天前
LeetCode 3870.统计范围内的逗号:模拟 或 一步计算
数学·算法·leetcode·题解·模拟·遍历
hui-梦苑4 天前
[Math]复合函数极限存在定理:单调连续函数反函数连续性定理推论
学习·数学·定理·函数极限·海涅定理
铸人7 天前
再论勾股定理成立的条件-24
数学·数论·复数
熊猫_豆豆8 天前
圆周率 π 的无理性与超越性证明
数学·代码·无理数·超越数·π
Luhui Dev8 天前
图片几何题如何转成可编辑图形?从识别题图到复用画板的工作流
人工智能·数学·ai·agent·luhuidev
金銀銅鐵8 天前
斐波那契数列的前 n 项和
数学