小白如何快速入门生物信息学?

本科生物技术,未来想从事生物信息学,没有计算机基础,请问应该补充那些计算机方面的知识?
关注者
87
被浏览
96,432

8 个回答

既然是入门就需要好上手,别劝退的那种。先从应用生物信息学开始练起~

聊一聊应用生物信息学

很多人是生物学出身,生信的一些大牛也曾说过不用过分迷恋生信,如果你能够把这个工具学好,更好的去解决生物学问题,那是极好的。

还是建议编程基础不强的的尽量不要做硬生信,就是软件开发和算法,这真的需要时间的积累,希望不要被很多人忽悠,做做项目,硬啃下几本书,一年半载就开发算法。这样的回答其实挺不负责任的,每个人的人生每一步都至关重要。如果有志于做这方面的,后期可以一起探究和学习,这里就不展开讲了。

如果做生信需要掌握什么?

1、首先是生物学知识,我的导师在面试我的时候考察了很多恰恰不是编程的知识,而是生物学的知识,她说很多博士对于基因结构的理解都不是很深刻。这里总结了导师讲的这方面的内容,希望有所帮助。

这可能是全网最详细的真核生物基因结构讲解

这一次对于生物学的知识我更加建议是根据自己所在领域的文献查漏补缺,大量阅读本领域的文献,了解自己所需要的基础知识。

2、测序原理

目前市面上测序技术层出不穷,二代三代技术交相辉映,眼花缭乱,认准一个全基因组测序或者转录组测序都可以,这些是基础,一通百通,初学者通一门比门门都懂,但是不精通要好的多。二代illumina测序十分经典,其中的原理一定要特别通透。

可以先看下视频:

生信基础

这一部分我进行了整理归类,也是按照学习路径来分的~

总论

  1. 我要自学生信之生信基础:生信数据库大全
  2. 生物信息学常见干湿实验原理汇总(文章推荐)
  3. 实验室常用分子实验技术原理汇总
  4. 这可能是全网最全的真核生物基因结构
  5. 生物信息学必须要会的87个名词解释

转录组

  1. 我要自学生信之生信基础:测序技术及其原理
  2. 我要自学生信之生信基础:FASTA 与 FASTQ
  3. 我要自学生信之生信基础-转录组代码篇:软件安装+数据下载+过滤质控
  4. 我要自学生信之生信基础-转录组:转录组原理
  5. 我要自学生信之生信基础-转录组:WGCNA全流程分析(入门篇)
  6. 我要自学生信之生信基础:拼接原理
  7. 我要自学生信之生信基础-转录组:分析流程大全解,看这一篇就够了
  8. 我要自学生信之生信基础:基因预测和功能注释
  9. 转录组完结篇:这可能是全网最详细的转录组教程(建库+测序+质控过滤+比对+定量)

表观遗传

  1. 我要自学生信之生信基础-表观遗传:乳糖操纵子原理
  2. 我要自学生信之生信基础-表观遗传:基于表观遗传的NGS技术概览
  3. 我要自学生信之生信基础-表观遗传:chip-seq结果解读及应用
  4. 我要自学生信之生信基础-表观遗传:精读ATAC开山之作
  5. 我要自学生信之生信基础-数据库:关于KEGG,你想知道的都在这


3、项目经历

重复一篇数据好的转录组文章,这里可以给大家推荐一个,数据简单,适合新手

Transcriptome analysis of an apple (Malus × domestica) yellow fruit somatic mutation identifies a gene network module highly associated with anthocyanin and epigenetic regulation

我要自学生信之生信基础-转录组:分析流程大全解,看这一篇就够了

另外如果有机会一定要去实习:

比如华大、诺和这些,用来学习是可以的,大多数基因公司对实习的要求是不高的,勇敢向前拼

4、计算机基础

1)linux

基因数据分析,极度不推荐在Windows下完成,有很多的工具不支持,而且不利于学习,也不利于我们对数据的理解,不过,我们不需要成为运维专家,对于生物信息研究人员来说,只有了解Linux的一些常用命令即可。我也总结了常用的一些命令

分为几个部分

软件安装、文件操作、文本处理(awk、sed、grep等)、上传下载、目录(绝对路径、相对路径),基本熟悉这些就可以上手了,后续有需要的命令大家可以自己去找。我自己也总结了部分,还在继续整理中。

  1. 我要自学生信之linux基础:轻松学会安装虚拟机,纯保姆级教程
  2. 我要自学生信之linux基础:3分钟搞定生信linux常用命令

也推荐一个学习的网站。

2)编程语言

关于R语言

关于R语言学习路径: 基础技能入门:安装加载包、数据结构、变量类型(str)、数据导入/导出(read)、数据筛选数据(filter/select)、合(merge)、匹配(match)、追加(mutate)、长宽转换(reshape)、数据索引(index)、循环(while.for)、判断(if)、排序(sort/rank)、缺失值(is.na)、正则

这一部分我推荐你看一些书籍,直接对着书上面进行基本技能练习,在这个过程中head、str、help函数的使用频率>=1000次是极佳的。哪一本都可以,比如这一本的第二版前三章

这个时候你的基础已经初步具备了,下面咱们就要开始做数据分析了。R做数据分析有些人比较喜欢用r-base(基础版本),当然我个人比较倾向于tidyverse(可以理解为加长升级版本)。使用前需要先安装然后加载他(安装就像你买了回来,加载表示你要用他了)。你以为这些就可以直接画图了吗?各种脏数据扑面而来,60%的时候就花费在了数据预处理上,我们看一下数据处理的流程。

第一步:数据预处理:

下面就开始第一步了,这里推荐完成 R语言数据处理120题 一定不要复制粘贴,一个一个敲起来。优秀的预处理能力是你的数据分析中的锋利的宝剑。尤其是在缺失值、异常值离群点、冗余数据的处理技巧上。

第二步:数据可视化

做数据可视化的过程中会涉及一些统计的知识,那么下面的一些统计基础就派上了用场。

如果是医学生,恰好有一本深得人心的医学统计书籍。

我自己也在着手更新:

  1. 生物信息学必备入门级统计学概念:错过不知道再等多久
  2. 我要自学生信之统计学:跳出假设检验的逻辑坑
  3. 我要自学生信之统计学:第六章-总体均数的估计
  4. 我要自学生信之统计学:如何选择假设检验的方法(t检验、U检验、卡方检验、F检验等)
  5. 我要自学生信之统计学:t检验(上)
  6. 我要自学生信之统计学:方差分析
  7. 我要自学生信之统计学:多重比较
  8. 我要自学生信之统计学:二项分布和Poisson
  9. 我要自学生信之统计学:[公式] 检验
  10. 我要自学生信之统计学:模型预测的评价(准确度、精确度、敏感度、特异性)

其实什么类型的数据画什么图都是很有讲究的

至于画图的细节每一种类型的图都需要详细进行讲解,我的ggplot2科研绘图篇也即将开始更新了,可以和小柯一起学画图。先来张看一看效果~

赶着学习的可以多看看书,专门挑ggplot2画图这一节即可,理解底层画图逻辑(像PS的图层)。看视频虽然也讲的很清晰,但是最好还是查漏补缺用。我这里也更新了一些:

  1. 一文搞懂ggplot2:老板再也不用担心我的科研绘图
  2. ggplot2高效实用指南 (可视化脚本、工具、套路、配色)
  3. 一文搞懂常用R语言统计值计算:打倒描述性统计拦路虎

第三步:数据建模

许多的数据可视化后不用建模就可以得出一定的结论,有些复杂的数据需要通过分类、聚类等不同的方式进行分析。可以分为探索性分析和预测性分析。这一部分我会单独在我的专栏进行讲解,这里就不展开了。至于深度学习的部分还是推荐用python。

关于R语言学习的一些疑虑

1、没有编程基础怎么办

R是我学习的第一门正式学习的编程语言,零基础也可以学会,达成目的即可,有时候只是为了画图而已,坚持一切编程都是纸老虎(怕就永远都不会)。

2、前面的学习路径还是不是很清晰,能不能简单再顺一下

  • R语言实战前三章
  • 数据处理120题
  • 基本图形+统计学了解
  • ggplot2科研绘图

3、学习路径太慢,可不可以直接开始科研绘图

亦可,边学边整理数据处理和统计相关知识,但是前面的基础技能还是需要看完,后期需要大量项目来进行补足,题海战术在语言学习中依然适用。你是不是想和我说没有办法实战怎么办?我……好人做到底,论文中的图片哪里来,R绘图来,数据哪里来,论文里面来(拿起论文-下载数据-开始画图

R语言的学习教程我已经开始陆续更新,更加贴近实际引用,解决问题:

R总论

  1. R语言入门:你想知道的都在这里
  2. R语言入门推荐:玩转数据处理120题(R语言tidyverse版本)

R绘图

  1. 一文搞懂ggplot2:老板再也不用担心我的科研绘图
  2. ggplot2高效实用指南 (可视化脚本、工具、套路、配色)
  3. R语言:添加p-value和显著性标记

R语言与统计

  1. 一文搞懂常用R语言统计值计算:打倒描述性统计拦路虎
  2. R语言统计篇:t检验
  3. R语言统计-回归篇:简单线性回归
  4. R语言统计-回归篇:多项式回归与多元线性回归
  5. R语言统计-回归篇:回归诊断

关于Python语言:

关于python学习,我不推荐一开始就看太难的书籍,编程语言也很容易劝退,也不希望你只是在单纯的记忆理论,因为那样并没有太大的效果,我个人觉得还是从实战出发:

推荐一本入门的书籍:

理解这本书大约半个月左右的时间,并不会太耽误你的时间。看这本书实战的同时我还希望你做一些很通用的小项目,先在实验楼上进行学习,可以验证你的答案是否正确,这在初期是非常重要的,你一定要能够明确知道你做的是否正确:

有一定的基础之后,也许你已经摩肩擦掌准备迎战了,这个时候的你需要有一个大神带带你,一个人闷头苦干虽然很英雄,但我并不认为这样的英雄主义可以提高你的效率,开始入手github吧,如果你对github不算很熟悉,我恰恰写了一篇github的文章:自学生信之番外篇:一键解锁github 希望能够有所帮助

github上面的python100天的项目我本人极为推崇。它可能不是最好的,但是对于初学者是比较适合的,有人带你学习是一件非常幸福的事情。先放一下github的链接

也许你会觉得有点难,突然觉得自己好婆妈,没有关系,作者把前面入门的15天重新做了一个50天练习的项目。

我希望你能够着重注意一下正则表达式的应用(生信中你将经常用到他们): 正则表达式30分钟入门教程

这里我特意提及Numpy、Pandas、Matplotlib这三个库,着实是因为他们很重要。

Numpy:利用Python科学计算的基础包,对Numpy的掌握将会帮助你有效地使用Pandas等

Pandas:结构和操作工具,能够使Python数据分析更加快速和容易

Matplotlib和seaborn:Python可视化库。散点图、箱线图、小提琴图等都是手到擒来。

自学生信-机器学习python数据可视化:一节课入门seaborn

如果你能坚持走几年生物信息的道路,我想未来在生物信息学领域的深度学习会大量运用的,这几个库的熟练应用会给你一些助力,如若有机会你自己也可以尝试实现一些数据挖掘的算法,解锁一些你对于python的期待:数据挖掘18大算法实现以及其他相关经典DM算法

一点建议:我不是很希望你看大部头的视频,我希望那些是你在遇到一些问题无法解决时用来查漏补缺的,我看过很多的pyhon学习视频,大多大而全,即便可以坚持,却容易陷入耗时久远而无法解决问题的困境,没错,我在这样的循环中用了一年多才醒悟。走错的路不希望其他人重走自己的路,仅此而已

3)编程原理

当你有了一些基础后,可以开始写一点点代码了,那就要考虑代码的效率问题了,以及如果能够写出优美而省时的代码。这就要依靠数据结构和算法来实现了。

推荐入门书籍:

数据结构与算法篇:

  1. 我要自学生信之数据结构与算法:算法简介
  2. 我要自学生信之数据结构与算法:选择排序
  3. 我要自学生信之数据结构与算法:递归
  4. 我要自学生信之数据结构与算法:快速排序
  5. 我要自学生信之数据结构与算法:散列表
  6. 我要自学生信之数据结构与算法:广度优先搜索

这个一脉相承,是用python写的,有学C的强推大话数据结构

关于计算机这块可以看下之前我的回答,比较详细

5、统计学+算法

生物信息离不开统计学,假设检验,贝叶斯推断、随机森林,SVM,回归分析,PCA等等等等,R语言高级绘图的部分和这一块紧密相连。

关于贝叶斯这篇文章写的自认可以(不要脸的自夸)

统计基础(在R语言的部分已经讲)

再加一本入门书籍推荐(除了医学统计学):

6、机器学习

西瓜书+南瓜书,周志华的西瓜书确为机器学习入门的经典教材,但是其中很多公式的推导初学时真的看不懂啊。南瓜书就解决了这一点,带你的数学水平提到周老师眼中大二下的水平。


南瓜书的电子版恰好准备了电子版,想要的来领取吧。

这个部分有点难度,B站吴老师的机器学习可以作为参考。

专栏内也收录了一些经典的算法:

  1. 我要自学生信之数据挖掘:朴素贝叶斯
  2. 我要自学生信之数据挖掘:范数、凸集、凸优化、梯度
  3. 我要自学生信之数据挖掘:最优化条件
  4. 机器学习算法实践-岭回归和LASSO
  5. 支持向量机 SVM
  6. 我要自学生信之数据挖掘:从SVD到PCA到LSA
  7. 极大似然估计与最大后验概率估计
  8. 人人都懂EM算法
  9. 神经网络15分钟入门!足够通俗易懂了吧

7、批判性思维

重要性就不言而喻了,如果你面临一个事件或者一个项目提不出一个问题,或者思维混乱,那么你很难在这条路上走的很远。很多人可能觉得不甚重要,但要是按照重要性来排,我一定把它排在第二位。批判性思维的训练是需要长期进行的,是后天形成的。

推荐学习书籍:

8、好奇心+终身学习

多阅读相关领域顶刊的文章,持续下去,不出半年,定有所成,很多人都想一口气吃成个胖子,但学习往往不是一蹴而就的,树立终身学习的理念,站在巨人的肩膀上起点会高很多。