看透了如此多的秘密,我们已停止相信尚有不可知之物。然而,那不可知之物却仍然坐在那里,冷静地舔着自己的嘴唇。
代码语言: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. 职业前景
生物信息学作为交叉学科,既要生物学知识,又要数理知识,还要编程。很多初学者往往感觉无从下手,产生畏难情绪,这是对自己的定位不清楚的结果。
我把生物专业人员的职业发展分成三个方向:
- 生命科学专家。就是专注于解决生物学问题,不需要花心思去掌握计算机知识,可以与生信专家合作。生物信息学是数据驱动的科学,你手里有好数据,有资源,不愁没劳力、没合作者。很多老板,PI,就是这类人。
- 计算生物学家。专注于开发生物信息学软件,为行业提供工具的人。比如开发短序列比对软件 BWA 等一系列工具的李恒等。他们是Tool makers。
- 介于两者之间,既懂点生物,也懂点编程,这就是搞生信的绝大多数的普罗大众了。通常是Tool users。
- 有没有两者融会贯通的顶尖高手呢?我暂时还说不上一个名字来。
2. 基础知识
假定你我都是第三种人。身处第三世界,那如何获得比较优势呢?
- 分子生物学和细胞生物学,掌握基础知识。
- Linux,熟练掌握常用命令;
- Python,熟练掌握基础语法;
以上三种技能,需要优先掌握。并且这三种技能是可以在短时间内攻克的,一旦学会,终身受用。
对生物学知识的要求
生物信息学一开始对生物学的要求并不高,只需要具有分子生物学和细胞生物学基础知识就可以了。知道细胞里面有什么,中心法则上下游的一些概念。
参考书:《基因 XII》。
为什么要学 Linux?
因为生物信息学处理的数据通常比较大,普通笔记本和台式机根本承受不了,必须放在服务器上处理。而 Linux 是最常用的服务器操作系统。很多生信软件都是为 Linux 系统开发的,不会 Linux,就没法使用这些优秀工具。不用担心,Linux 是非常容易掌握的,因为我们的目的是使用,而不是研究操作系统。
参考书:
生信人的自我修养:Linux 命令速查手册。相关命令我整理在一篇文章中,掌握这些命令足够用了。
《鸟哥的 Linux 私房菜》。作为参考书帮助理解上述手册中的命令。
为什么要学 Python?
生物信息学使用各种软件,如何把不同软件串联起来工作,Python 就是非常好的胶水语言。其次现成的工具有时不能满足数据分析的所有需求,难免需要自己写一些脚本协助解决,比如软件可能会给出许多结果,其中有不少的噪声,如何过滤这些结果,需要脚本。下面是一些比较好的教程。
- 《Python 简明教程》。适合快速入门。
- 廖雪峰的 Python 教程。主要是掌握 Python 的语法,数据类型,文件读写等基础知识,像图形界面,网络编程,数据库可以先不用学。
- 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 项目来说,涉及多个环节,每个环节可能就是一个工作岗位。
- 基因组如何获得? 测序,组装。测序花样多,二代,三代,Hi-C,光学图谱等,用一种技术,还是几种技术组合?有无参考基因组?情况不同,组装策略也不一样。 从研究对象上来说,有人、动物、植物、微生物、病毒、线粒体、叶绿体,不同的研究对象,测序和组装的手段可能都不一样。
- 基因组中有什么? 注释基因组中的有效元件,如基因等。这是数学上的模式识别问题。同样研究对象不同,需要的生信手段也不一样。
- 比较基因组学 这是目前的热门。如临床上肿瘤基因检测,微生物基因检测等。以肿瘤基因检测为例,需要检测样本中的各种生物标志物,如:SNV/InDel,CNV,Fusion,TMB,MSI,LOH,HRD 等。通过我这篇《基因大数据智能生产及分析》笔记。从中可以看到,仅仅在健康领域,基因组学和生物信息学的应用之广。
- 生物进化 通过基因组测序,研究物种的进化以及迁徙等,满足人们的好奇心。
由此可见,即便只是基因组学,一个人想掌握所有环节都面临巨大挑战。因此不要试图什么都学,要聚焦自己的课题,否则会很焦虑。
要说哪些东西是组学中必须掌握的,我觉得有以下这些。
- 测序原理:一代、二代、三代测序。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),他说自己的工作就是为了证明上帝的存在。
《基因传》——悉达多·穆克吉。关于基因的科普。
《癌症传》——悉达多·穆克吉。天生万物,死生轮回。癌症是否设定了人类寿命的极限?
《癌症.真相》,《癌症.新知》——李治中。癌症科普图书。
《人类简史》,《未来简史》,《今日简史》——尤瓦尔·赫拉利:人类简史三部典。我们从何处来,向何处去?从人文主义,到数据主义,再到半人半神,是否就是人类演化的方向?
《成事》——冯唐。要成事:结硬寨,打呆仗。
《明朝那些事儿》——当年明月。隐忍,知行合一。
《卓有成效的管理者》——彼得·德鲁克。管理者必须卓有成效。
《能力陷阱》——埃米尼亚.伊贝拉。人们习惯于做自己擅长之事,陷入自己的能力陷阱中不可自拨。作为专业人士尤其要注意,有机会要尝试跳出舒适圈。
《原则》——瑞.达利欧。关系 > 事业 > 金钱。
《你要如何衡量你的人生》——克莱顿.克里斯坦森。生活除了眼前的苟且,还有诗和远方。
五、最后总结
生物信息专业人士的成长路线是:
- 掌握细胞与分子生物学基础知识
- 掌握 Linux 常用命令
- 掌握 Python 编程基础
- 学习组学相关知识
- 学习一门高级语言
- 研究优秀生信算法
- 发现问题,解决痛点,成为专家
作为一门交叉学科,生物信息学的入门是容易的,所需的计算机,数理知识,在这些学科看来也只是入门水平。因而很容易跨过初学者阶段。但我们始终要明白,所有的计算机,数理知识,甚至云计算,5G 等技术,都是为生命科学服务的。我们似乎绕了一大圈,又回到了生命科学本身。
推动生命科学进步的,唯有生命科学家自己。
标题:如何自学生物信息学:从菜鸟到专家 版本:1.0 日期:2020-11-23
生信系列文章永久地址:https://jianzuoyi.github.io/
如果你喜欢这篇文章,请点个“赞”吧!或者点击“在看”让更多朋友看到,点击“阅读原文”可以在知乎专栏上给我留言