总览 / 模块 01
地基篇:Linux · Python · R · 环境管理
本页目录 · 共 19 节
本篇是整套学习包的起点。生物信息学的工具绝大多数跑在 Linux 上,而几乎所有分析流程都要用 Python 或 R 做胶水。这三样不牢,后面学什么工具都会卡。
零、为什么必须先打这一层
- 主流的比对、定量、对接、建模工具(BWA、HISAT2、Salmon、AutoDock Vina、GROMACS)都是命令行程序,没有图形界面;
- 流程必然涉及大批量文件处理,命令行加管道是唯一高效的做法;
- Python 和 R 是官方支持最完整的两个语言:生物信息工具几乎都提供这两者的接口或包。
一句话:不要一上来就找「一键出结果」的工具,那样既学不会也复现不了。
一、Linux 命令行(建议 5~7 天)
1.1 必须掌握的命令
| 类别 | 命令 |
|---|---|
| 目录与文件 | ls cd pwd mkdir cp mv rm find |
| 查看与编辑 | cat less head tail wc grep awk sed(后两个按需) |
| 权限与进程 | chmod chown ps top kill |
| 压缩与传输 | tar gzip wget curl scp rsync |
| 重定向与管道 | > >> < | && |
1.2 资源
| 名称 | 链接 | 说明 |
|---|---|---|
| NCI Bioinformatics for Beginners — Module 1 Unix | https://bioinformatics.ccr.cancer.gov/docs/b4b/ | 美国国家癌症研究所出的生信入门课,Unix 部分 12 个命令讲得极简清楚,英文 |
| 《Linux 与生物信息数据处理实验指导书》(重庆邮电大学) | http://www.linuxstudio.cn/ | 16 个实验,从命令行基础到生物学数据下载、同源序列分析、进化树,中文,最贴合生信场景 |
| 生信技能树 · 生信菜鸟团博客 | http://www.bio-info-trainee.com/ | 中文社区,从零讲 Linux 环境与常见坑 |
| 《鸟哥的 Linux 私房菜》 | http://linux.vbird.org/ | 中文 Linux 经典入门教材,命令行与系统管理讲得最细 |
| data-science-for-bioinfo | https://koesterlab.github.io/data-science-for-bioinfo/ | 生信数据科学资源集,含编辑器、IDE、代码规范等实用建议 |
1.3 检验标准
能自主完成这件事就算过关:在服务器上建目录、下载一个 FASTA 文件、用命令行统计序列条数与总长度、把结果重定向写入文件。
二、Python(建议 2~3 周,与 R 并行)
2.1 为什么学
分子对接准备、机器学习建模、批量文件处理、调用 API 拉数据,基本都是 Python 的活。
2.2 资源
| 名称 | 链接 | 说明 |
|---|---|---|
| 廖雪峰 Python 教程 | https://www.liaoxuefeng.com/wiki/1016959663602400 | 中文入门首选,例子多、节奏快 |
| Biopython Tutorial and Cookbook(官方) | https://biopython.org/docs/latest/Tutorial/ | 生信 Python 事实标准库。序列读写、翻译、比对、调用 NCBI 全在里面,官方教程本身就是一本教材 |
| Biopython Cookbook 章节 | https://biopython.org/docs/latest/Tutorial/chapter_cookbook.html | 官方实用片段集,建议动手敲一遍 |
2.3 建议的练手顺序
- 基础语法(廖雪峰前几章)→ 2. 文件读写与字符串处理 → 3. Biopython 读 FASTA / 翻译序列 / 计算 GC 含量 → 4. 用
requests调一次 NCBI Entrez 接口 → 5. 用 pandas 汇总一张表。
三、R 语言(建议 2 周)
3.1 为什么学
差异表达(DESeq2、edgeR)、富集分析(clusterProfiler)、统计与作图,是 R 的绝对主场,Bioconductor 生态无可替代。
3.2 资源
| 名称 | 链接 | 说明 |
|---|---|---|
| R for Data Science(第二版)中文版 | https://r4ds-zh.readthedocs.io/zh-cn/latest/ | Hadley Wickham 经典教材,免费全书,讲数据整理与 ggplot2 |
| R for Data Science (2e) 英文原版 | https://r4ds.hadley.nz/ | 原版,更新最快 |
| 《学 R:零基础学习 R 语言》 | https://pzhaonet.github.io/xuer/ | 中文,可免费下载,适合完全零基础 |
| Bioconductor 官网 | https://bioconductor.org/ | R 生信包总库,每个包都有 vignette,是最权威的教程来源 |
3.3 提醒
不必一开始就精通 R。先掌握「读入数据 → 整理 → 画图 → 跑统计」这条线就够支撑后续分析,ggplot2 会画基本图即可,深度美化可以后面再说。
四、环境管理(半天,但必须学)
这是整个地基里最容易被跳过、又最容易出事的一步。
4.1 为什么
不同生信软件依赖不同版本的 Python、R、编译库,全装在一个环境里必然冲突。正确做法是每个项目一个独立环境。
4.2 资源
| 名称 | 链接 | 说明 |
|---|---|---|
| conda 官方中文文档 — 管理环境 | https://docs.conda.org.cn/projects/conda/en/stable/user-guide/tasks/manage-environments.html | 创建、激活、导出、删除环境的标准操作 |
| Bioconda | https://bioconda.github.io/ | 生信软件的 conda 频道,3000+ 软件一条命令装好 |
| Bioconda 教程 | https://bioconda.github.io/tutorials/ | 官方教程,含 mamba 使用 |
| Bioconductor | https://bioconductor.org/ | R 包安装与管理 |
4.3 核心命令
bash
# 安装 conda 后建议装 mamba(更快)
conda install -n base -c conda-forge mamba
# 为某个项目建独立环境
mamba create -n docking python=3.11
mamba activate docking
# 一次装齐(不要一个个装,容易依赖冲突)
mamba install -c conda-forge -c bioconda autodock-vina openbabel rdkit
# 导出环境,方便别人复现
mamba env export > environment.yml踩坑提示:不要在 base 环境里装生信软件,污染后很难修。
五、编程刷题(贯穿全程,碎片时间做)
| 名称 | 链接 | 说明 |
|---|---|---|
| Rosalind | https://rosalind.info/problems/locations/ | 通过解题学生信与编程。从 Python Village 起步,到 Bioinformatics Stronghold。每题在线判分,做完能看别人的解法,是公认的入门利器 |
建议:每周固定做 3~5 题,从 DNA 碱基计数这类题开始,坚持两个月编程能力会有明显变化。
六、地基层建议推进表
| 周次 | Linux | Python | R | 环境管理 | 刷题 |
|---|---|---|---|---|---|
| 第 1 周 | 命令行基础 + 文件操作 | 基础语法 | — | conda 装好 | Rosalind Python Village |
| 第 2 周 | 管道、grep、awk 入门 | 文件读写 + Biopython 入门 | R 基础语法 | 建第一个环境 | 基础题 |
| 第 3 周 | 综合练习(下载 + 处理 FASTA) | pandas 汇总数据 | ggplot2 画图 | 导出环境 | Stronghold 简单题 |
| 第 4 周 | 复习 + 查漏 | Biopython 调 NCBI | R 统计入门 | — | 持续 |
地基层不必追求完美,够用即推进,后面在真实项目里边做边补。