如何自学生物信息学:从菜鸟到专家

2020-12-02 11:26:35 浏览数 (1)

看透了如此多的秘密,我们已停止相信尚有不可知之物。然而,那不可知之物却仍然坐在那里,冷静地舔着自己的嘴唇。

代码语言:javascript复制
                 ——H.L. Mencken

尽管人类已把航天器送出太阳系,奔向了无尽的宇宙。而人类的眼睛,借助天文望远镜早已延伸到亿万光年之外。尽管蕴藏在原子内部的巨大能量已被发现并加以利用。但时至今日,人类对自身的了解,才刚刚起步。

一、生物信息学:源起

人类基因组计划(Human Genome Project,HGP),是人类下定决心认识自己的开始。这是一项可与阿波罗登月媲美的宏伟工程,它的目标,就是测定人类的基因组序列。随着计划的开展,产生大量的基因组数据面临分析困难,计算机辅助分析的手段不断被开发出来,进而形成了一门专业的学问——生物信息学。

下面是人类血红蛋白的一个 beta 亚基(HBB)的基因序列。这种序列类似于一副扑克牌,但只有不同的 4 张,分别是 A、T、C、G。所有核酸都是由这 4 张牌不同的排列组合而成。比如人类基因组中这样的牌有 30 亿张。生物信息学是处理海量序列数据的利刃,是遨游数据海洋的一叶扁舟。

代码语言:javascript复制
>NM_000518.4 Homo sapiens hemoglobin subunit beta (HBB), mRNA
ACATTTGCTTCTGACACAACTGTGTTCACTAGCAACCTCAAACAGACACCATGGTGCATCTGACTCCTGA
GGAGAAGTCTGCCGTTACTGCCCTGTGGGGCAAGGTGAACGTGGATGAAGTTGGTGGTGAGGCCCTGGGC
AGGCTGCTGGTGGTCTACCCTTGGACCCAGAGGTTCTTTGAGTCCTTTGGGGATCTGTCCACTCCTGATG
CTGTTATGGGCAACCCTAAGGTGAAGGCTCATGGCAAGAAAGTGCTCGGTGCCTTTAGTGATGGCCTGGC
TCACCTGGACAACCTCAAGGGCACCTTTGCCACACTGAGTGAGCTGCACTGTGACAAGCTGCACGTGGAT
CCTGAGAACTTCAGGCTCCTGGGCAACGTGCTGGTCTGTGTGCTGGCCCATCACTTTGGCAAAGAATTCA
CCCCACCAGTGCAGGCTGCCTATCAGAAAGTGGTGGCTGGTGTGGCTAATGCCCTGGCCCACAAGTATCA
CTAAGCTCGCTTTCTTGCTGTCCAATTTCTATTAAAGGTTCCTTTGTTCCCTAAGTCCAACTACTAAACT
GGGGGATATTATGAAGGGCCTTGAGCATCTGGATTCTGCCTAATAAAAAACATTTATTTTCATTGC

参考:为什么说生物信息学是真正的大数据专业?

二、生物信息学:全景

生物信息学的应用领域非常广泛。小到细胞,大到生命之树,只要是生命,就有核酸,只要有核酸,就有测定序列的需求。

因为核酸是遗传信息的载体,遗传信息描绘了生命的蓝图。种瓜得瓜,是男是女,都由遗传信息决定。

测定核酸序列,才能从源头上探索生命的奥秘。当然我们也要小心还原论,认为只要测定序列就可以知道生命的所有秘密。但是对一个生命的研究,没有其核酸序列显然是不完整的。

我们可以从三个视角来总结生物信息学的应用领域,分别是:

  • 细胞
  • 生物体
  • 生命之树。

我专门有一篇文章介绍:生物信息学:全景,在此不展开。

三、从菜鸟到专家

1. 职业前景

生物信息学作为交叉学科,既要生物学知识,又要数理知识,还要编程。很多初学者往往感觉无从下手,产生畏难情绪,这是对自己的定位不清楚的结果。

我把生物专业人员的职业发展分成三个方向:

  1. 生命科学专家。就是专注于解决生物学问题,不需要花心思去掌握计算机知识,可以与生信专家合作。生物信息学是数据驱动的科学,你手里有好数据,有资源,不愁没劳力、没合作者。很多老板,PI,就是这类人。
  2. 计算生物学家。专注于开发生物信息学软件,为行业提供工具的人。比如开发短序列比对软件 BWA 等一系列工具的李恒等。他们是Tool makers
  3. 介于两者之间,既懂点生物,也懂点编程,这就是搞生信的绝大多数的普罗大众了。通常是Tool users
  4. 有没有两者融会贯通的顶尖高手呢?我暂时还说不上一个名字来。

2. 基础知识

假定你我都是第三种人。身处第三世界,那如何获得比较优势呢?

  1. 分子生物学和细胞生物学,掌握基础知识。
  2. Linux,熟练掌握常用命令;
  3. Python,熟练掌握基础语法;

以上三种技能,需要优先掌握。并且这三种技能是可以在短时间内攻克的,一旦学会,终身受用。

对生物学知识的要求

生物信息学一开始对生物学的要求并不高,只需要具有分子生物学和细胞生物学基础知识就可以了。知道细胞里面有什么,中心法则上下游的一些概念。

参考书:《基因 XII》。

为什么要学 Linux?

因为生物信息学处理的数据通常比较大,普通笔记本和台式机根本承受不了,必须放在服务器上处理。而 Linux 是最常用的服务器操作系统。很多生信软件都是为 Linux 系统开发的,不会 Linux,就没法使用这些优秀工具。不用担心,Linux 是非常容易掌握的,因为我们的目的是使用,而不是研究操作系统。

参考书:

生信人的自我修养:Linux 命令速查手册。相关命令我整理在一篇文章中,掌握这些命令足够用了。

《鸟哥的 Linux 私房菜》。作为参考书帮助理解上述手册中的命令。

为什么要学 Python?

生物信息学使用各种软件,如何把不同软件串联起来工作,Python 就是非常好的胶水语言。其次现成的工具有时不能满足数据分析的所有需求,难免需要自己写一些脚本协助解决,比如软件可能会给出许多结果,其中有不少的噪声,如何过滤这些结果,需要脚本。下面是一些比较好的教程。

  1. 《Python 简明教程》。适合快速入门。
  2. 廖雪峰的 Python 教程。主要是掌握 Python 的语法,数据类型,文件读写等基础知识,像图形界面,网络编程,数据库可以先不用学。
  3. Python 官方文档。官方文档是最好的学习资源。入门之后,应该反复看官方文档。
聊一聊 Perl 和 R。

早期生信人用 Perl 写的一些代码,现在还在工作。因此能看懂 Perl 代码很有必要,花点时间看一下基本语法就可以了。内置正则表达式是 Perl 的一大特色。而正则表达式在学习 Linux 和 Python 时,也需要了解。Perl 总的来说是一种过时的语言,大量符号也不符合快乐编程的需求。人生苦短,我用 Python

R,其定位是一个综合的统计绘图软件,不是一门编程语言,这点需要清楚。因此就算精通 R,也不可不学 Python/Perl。

最佳生物信息工作环境

最佳生物信息工作环境:Mac 篇

最佳生物信息工作环境:Windows 篇

SSH 应用,如何优雅地登录远程服务器?

生物信息基础:conda 包管理器安装和使用

代码版本控制及托管:我的最佳实践

3. 成为工程师

组学知识

生物信息学为测序而生。当前最成熟,应用最广的是二代测序(Illumina,MGI,Ion Torrent)。目前格局大致如下。

  • 一代测序通量低,数据分析容易,因而不需要太专业的人才。
  • 二代测序上游的 PCR 技术,现在面临 NGS 的全面挑战。PCR 在特定领域有用,如新冠检测;但难堪大用,如肿瘤基因检测方面。
  • 新一代的三代测序,没二代配合还很难单独形成应用
  • 蛋白组,代谢组,刚刚兴起。

组学涵盖面也是非常大的。有 DNA-seq、RNA-seq、ChIP-seq,基因芯片等。拿 DNA-seq 项目来说,涉及多个环节,每个环节可能就是一个工作岗位。

  1. 基因组如何获得? 测序,组装。测序花样多,二代,三代,Hi-C,光学图谱等,用一种技术,还是几种技术组合?有无参考基因组?情况不同,组装策略也不一样。 从研究对象上来说,有人、动物、植物、微生物、病毒、线粒体、叶绿体,不同的研究对象,测序和组装的手段可能都不一样。
  2. 基因组中有什么? 注释基因组中的有效元件,如基因等。这是数学上的模式识别问题。同样研究对象不同,需要的生信手段也不一样。
  3. 比较基因组学 这是目前的热门。如临床上肿瘤基因检测,微生物基因检测等。以肿瘤基因检测为例,需要检测样本中的各种生物标志物,如:SNV/InDel,CNV,Fusion,TMB,MSI,LOH,HRD 等。通过我这篇《基因大数据智能生产及分析》笔记。从中可以看到,仅仅在健康领域,基因组学和生物信息学的应用之广。
  4. 生物进化 通过基因组测序,研究物种的进化以及迁徙等,满足人们的好奇心。

由此可见,即便只是基因组学,一个人想掌握所有环节都面临巨大挑战。因此不要试图什么都学,要聚焦自己的课题,否则会很焦虑

要说哪些东西是组学中必须掌握的,我觉得有以下这些。

  • 测序原理:一代、二代、三代测序。Illumin、MGI、Ion Torrent、PacBio
  • 基本的文件格式:Fasta, Fastq, BAM, VCF, GFF
  • 数据质控:fastp,Fastqc, Multiqc
  • 比对软件:blast 等。序列相似,推断结构相似,结构相似,推断功能相似,是生物学的基本假设。因而要深刻理解生物信息学中相似性比对的思想。

其他东西都是根据项目不同具体去了解,比如:

重测序 WGS:主要就是走 GATK 最佳实践流程(针对人类)。

重测序 Panel(WES/大 Panel/小 Panel):主要走 Fastq -> BAM -> VCF -> 变异注释流程,用到的软件 fastp,bam, samtools,bcftools, varscan, annovar, snpEff, VEP 等。

病原微生物检测:主要是质控 -> 降噪 -> 去嵌合体 -> 生成 OTU 表 -> 物种鉴定 -> 功能鉴定。用到的软件,fastp,vsearch, usearch, Qiim2 等。

参考书/在线课程:

《Bioinformatics Data Skills》——讲得基础。印象最深的是介绍 find xargs parallel 用法,至今受用,其他忘了。

《高通量测序技术》——李金明。介绍高通量测序在临床基因检测中的应用。

《生物信息学与功能基因组学》——非常好的入门教材。

《北京大学生物信息学在线课程》——偏重算法。

《山东大学生物信息学在线课程》——我没看过,但很多人推荐。

《陈润生院士中科院生物信息学课程》——课程虽然有点老(07-08 年的),但讲解的知识现在也不过时。我当年主要看这个课入门,其次是北大的课。

我的转型之路:一个生信人的自白:从生物转生信,我的学习与工作经历

理论联系实际

最好的学习方法是项目驱动。每接手一个项目,都把它做到极致,这样随着经验的积累,能力自然也提高了。如果没项目,有这几个选择:

  • 找实习单位:有两个大方向,科研或者临床。
  • 参加竞赛:建议先用瓶中基因组计划中的 NA12878 样本,走 GATK 最佳实践流程,GATK 官方网站有详细的使用文档。
  • 复现文章套路:套路不在多而在精。

业内经常举办一些“竞赛”。组织者获得一些问题的金标准“真相”,如组装一个基因组或评估变异检测流程的准确性等,然后邀请业界内成员在一定时限内来竞争解决这些问题。通过比较基于不同方法的结果,组织者可以评估每一种方法的性能,即真阳性和假阳性,真阴性和假阴性,并通过定义灵敏度和特异性来了解选用何种工具。一些竞赛案例如下。

名字/首字母缩写

竞赛

GIAB

瓶中基因组计划

Alignathon

比较基因组比对方法

EGASP

ENCODE 基因组注释评价项目

Assemblathon

比较基因组组装软件的效果

GAGE

基因组组装金标准评价

ABRF

生物分子资源设施组织(ABRF)磷酸化评估

CASP

结构预测的重要评估

CAFA

蛋白功能的重要评估

CAGI

基因组解释的重要评估

PrecisionFDA Truth Challenge

精准 FDA 真理挑战赛

Rosalind

通过解决各种问题学习生物信息学

值得一提的是瓶中基因组计划,其中的 NA12878 样本,被认为是研究得最清楚的人类基因组,因而是一个非常好的学习材料。此外临床基因检测方面,有一些室间质评的数据,带参考答案。这对于构建一个分析流程来说非常重要。除了用模拟数据,带标准参考答案的测序数据,对于检验流程的性能很有用。

4. 成为专家

选定一个领域,精耕细作,深挖一口井,假以时日,必有所成。专注一个领域,这样你虽然在就业市场上面临的选择少了,但是你精于某一方面,反而更容易找到工作,并且能谈到更高的价钱,毕竟你要的不是一个行业,你要的只是一份工作,要那么多工作机会干啥?一个就够了。

专业,你唯一的生存之道。 ——大前研一《专业人士》

掌握一门高级语言

C/C ,Java,至少学一样。行业优秀软件如 BWA,Samtools 等,是 C/C 写的;GATK,VarScan,snpEff 等是 Java 写的。虽然咱们平时干活主要用 Python,但掌握一门高级语言,有两大好处:

  • 可以编写高效率软件
  • 看懂优秀组学软件的源码

参考书,C 的:

《C Primer》

《C 编程思想》

《Effective c 》

研究优秀生信算法

这一点尤为重要,甚至比自己写软件重要。因为我们大概率写不出优秀的软件。但看优秀的源码,在 IT 行业是常识,生信也应如此。很幸运许多优秀的生信软件都是开源的,我们有机会通过源码,知道软件具体的工作方式。如此生信技能必将上一个台阶。这是一块硬骨头,也是成为高手的必由之路。

建议结合一本书看:《生物序列分析 Biological Sequence Analysis》。曾经华大基因的王俊称赞这本书:是生信最好的教材,没有之一。

发现问题,解决痛点

作为专业人士,发现问题,解决痛点的能力非常可贵。这个时候你不再是一个跟随者,而是某一个领域的开创者。

  • 期刊杂志:Nature, Science,Cell,Bioinformatics。获得行业新视角。
  • 行业会议:尽量多参加重要的行业会议。
  • 行业政策:行业相关重要的政策文件,比如临床上各种指南、专家共识等。
  • 行业报告:比如基因慧的行业报告就很好。
  • 行业论坛:Biostars。专业的生物信息论坛。
  • 最重要的:Google,国内 Bing。搜索引擎能解决大部分问题,往往比问人快。

最后附上《专业人士》对专家的定义:

有强烈期盼成功的欲望,对自己能够获得成功,充满自信。时刻保持一颗好奇心。为自信提供源源不断的动力。不敢怠慢自己的智慧,努力自我成长,为顾客提供最大价值。并能遵守纪律。达到以上条件的人就是专业人士,也称为专家。

四、求知若渴,不止生信

读书和运动,是普通人成功的捷径。

《物种起源》——达尔文。生命科学永恒的经典,书中的书。若只读一本生命科学著作,读它。

《生命是什么》——薜定锷。从物理学角度看生命是什么:生命是逆熵,生命通过耗散能量来维持自身的秩序。

《遗传学》——刘庆昌。与《基因 XII》一样,案头必备。深入研究生命科学,遗传学必须精进。

《基因论》——摩尔根。遗传学经典科普读本。

《自私的基因》——理查德·道金斯。我们都是基因的奴隶。

《DNA:生命的秘密》——詹姆斯.沃森。DNA 之父的作品,必读。

《上帝的语言》——弗兰西斯.柯林斯。一本有意思的书。作者是领导了人类基因组计划(HGP),他说自己的工作就是为了证明上帝的存在。

《基因传》——悉达多·穆克吉。关于基因的科普。

《癌症传》——悉达多·穆克吉。天生万物,死生轮回。癌症是否设定了人类寿命的极限?

《癌症.真相》,《癌症.新知》——李治中。癌症科普图书。

《人类简史》,《未来简史》,《今日简史》——尤瓦尔·赫拉利:人类简史三部典。我们从何处来,向何处去?从人文主义,到数据主义,再到半人半神,是否就是人类演化的方向?

《成事》——冯唐。要成事:结硬寨,打呆仗。

《明朝那些事儿》——当年明月。隐忍,知行合一。

《卓有成效的管理者》——彼得·德鲁克。管理者必须卓有成效。

《能力陷阱》——埃米尼亚.伊贝拉。人们习惯于做自己擅长之事,陷入自己的能力陷阱中不可自拨。作为专业人士尤其要注意,有机会要尝试跳出舒适圈。

《原则》——瑞.达利欧。关系 > 事业 > 金钱。

《你要如何衡量你的人生》——克莱顿.克里斯坦森。生活除了眼前的苟且,还有诗和远方。

五、最后总结

生物信息专业人士的成长路线是:

  1. 掌握细胞与分子生物学基础知识
  2. 掌握 Linux 常用命令
  3. 掌握 Python 编程基础
  4. 学习组学相关知识
  5. 学习一门高级语言
  6. 研究优秀生信算法
  7. 发现问题,解决痛点,成为专家

作为一门交叉学科,生物信息学的入门是容易的,所需的计算机,数理知识,在这些学科看来也只是入门水平。因而很容易跨过初学者阶段。但我们始终要明白,所有的计算机,数理知识,甚至云计算,5G 等技术,都是为生命科学服务的。我们似乎绕了一大圈,又回到了生命科学本身。

推动生命科学进步的,唯有生命科学家自己。


标题:如何自学生物信息学:从菜鸟到专家 版本:1.0 日期:2020-11-23

生信系列文章永久地址:https://jianzuoyi.github.io/


如果你喜欢这篇文章,请点个“赞”吧!或者点击“在看”让更多朋友看到,点击“阅读原文”可以在知乎专栏上给我留言

0 人点赞