我的生物信息之路
一个农业资源与环境专业的本科生,天天和瓶瓶罐罐打交道,半路被出家做土壤微生物生态,最大的难关就是生物信息学的学习,如今又被写文章的相关云云所缠绕,认为文章就像是一个婴儿,只有孕育到位了,自然就顺产下来了,剖腹产的总是显得是那么牵强。-----文涛
引子:
两年前的秋天,那是一个夜黑风高的夜晚,但是依然很闷热,当时觉得,这就是南方,或者这就是南京,和我们北方是不一样的,这种湿热,即使在已经到了的九月份了。当时只为数不多的见过几面的袁师兄叫上我,去实验室同另一位师兄会面,这个人是磊哥,不过今天他已经博士毕业一年了,拥有一身的腱子肉,喜欢漂亮的小师妹。我记得最清楚的就是袁师兄让我学习R语言,学习测序数据处理方法,向磊哥。当然还讲了一些乱七八糟啥的也听不懂的东西,当时我头脑中的概念跳出来的是:植物营养研究法:是本科上过的一本本专业的实验设计和数据分析的基础和原理课本;DPS:当时本科发了一篇中文小文章,当时班主任推荐的数据处理小软件,易学,好用;origin:本科听了女朋友班主任上的origin实操课,当时毕业论文使用这个软件出的图,映像深刻的是这个软件可以和word交互,随机双击word中的图片即可回到origin中继续修改,很灵活。这些概念突然被一种叫R的东西所冲击了,不懂R,不知道为什么做这个微生物生态方向(当时并不知道自己是这个方向)研究要专门学数据分析,因为当时已有的我的概念也就是:数据分析=方差分析+柱状图,哪里还需要专门去学习什么分析之类的云云。那天就是我的起点,我研究生的起点,一句话,一个字:R,让我走向了今天的生物信息和土壤微生物生态之路。
开始:
自那时起,除了实验方面的东西,我就开始围绕这个R来思考,这是一个软件?对,我下载了下来的当时还是3.1的版本,可是打开后该做什么呢?一个可以键入字符的命令行摆在自己面前,输入些啥,一窍不通。于是我使用R在互联网上搜索,一些标签变慢慢加到了R身上,一门语言,一个软件,有很漂亮的可视化方案,依赖各种包(包治百病嘛),这些一窍不通的标签我半疑半惑的加到了R这个字母上。再往后,一本书映入我的眼帘,便是R语言实战,网络上很容易得到这个电子版书籍,当时下载下来将前五章打印了出来,开始看,一遍,这个是个啥呀,两遍,这个可能是这样,三遍,我可以这样开始使用R。(R语言实战,是一本基础的R入门数据,要知道如今很少有人使用基础包作图,该书也没有提到什么可用的IDE,纯基础)
知道了如何开始,于是第一次实践便开始了,那是两年前冬天的12月,我使用纯的细菌摇的生长曲线,使用的R基础包做了一批折线图,表示了细菌的增长过程,和柱状图,这是选用了一个时间数据出的图,都是是用基础包做,也就是plot函数,加上了误差线,黑白的,当时年终汇报我的图片便是来自于此,被师姐吐槽不好看过,被师兄也吐槽过,让我自己也觉得这个R的确不怎么样,还不如origin做的好看,而且作图数据我都是用excel分析出来的,还得调整成为R习惯的长型数据格式,实在是添了不少的麻烦。于是这样的思考回旋在脑海,R为什么会被师兄建议,为什么磊哥不学别的,偏偏学这个目前我认为不怎么样的软件,我的内心在寻找答案,时常坐在电脑旁边发呆。
在三月份,春季开学了,但是有这样一个场景:我坐在电脑旁,打开之前所做的折线图,和R那个只有一个命令行的界面,拖着腮帮子。这个时候磊哥从身旁站住,说了两句话:“你怎么用不用Rstudio呢?,你怎么不用ggplot作图呢? ” 嗯!!!仿佛另一个世界想我打开了大门,我尝试下载了Rstudio。磊哥的R语言可视化也借给我看了:这是一本ggplot图形实战指南。关于R的新的历练在Rstudio和ggplot上便开始了。
话分两句,路走两条,另一方面的关于生物信息处理二代测序数据的路比R语言要辛苦的多了,还记得两年前那个月黑风高的夜晚吗?那个时候测序数据这样的概念第一次爬进来我的耳朵,像一个星光,实时闪现这,引得我不得不时常注意,其实在这之前,我就看到了一个培训指南,是关于qiime的,是马兄,我的一个当时研二的师兄桌子上放的,我去找他时看到的这个材料,他当时就顺便给我来了这么一句,你知道这是啥吗?qiime(只记得他很自豪,声音拉的很长),你要是学会这个就牛逼了。当然我没当一回事。但是在那个夜晚之后,还是之前的那个夜晚啊,我的注视的那个星光在不久之后的那一天的中午,再次让指引我看到了马兄的那本qiime培训指南。那本资料五十页左右,前面十页讲的是win安装虚拟机并在虚拟机内部安装qiime的过程,图文教程(简单的流程,不够详细,尤其是错误解决问题没有说明),之后的二十多页介绍了生物信息尤其是扩增子序列处理的发展和处理分析软件和现状,我也似懂非懂的看了几遍,之后的十几页全部是代码了,几个实战流程的全部代码,说实话真不咋地,尤其是分析处理流程的代码,乱七八糟的流程,拼凑成为一整套代码,不够简明,不够有效,不易学习。但那本材料我复印了一份,断断续续的还是看了好几遍,没什么办法,这些个生信分析往往中文材料很少,英文的确是不好入手,最起码作为一个新手是这样的,当然我也就没有去寻找,因此我的进展一直很慢。(其实在今天也一样,先进的技术往往在国外会早些被开发和使用,这是我们的弱项)。直到2016年底,我似乎才在win7(我用了当时算是四年的电脑,系统一直用win7,不敢升级,怕学不会)上面挂载好了qiime的镜像。这中间安装的的问题基本是共享文件夹挂载不上的问题,自己脸皮子薄,不好意思问老师,实验室又没有什么师兄学这个,马兄🐴也指望不上,自己硬着头皮干了三个月不止,装个软件而已。(到今天qiime已经完全被qiime2接风,但是qiime的时代似乎还没过去)
到2017年三月份,R语言呢,我在磊哥的指引下继续了Rstudio和ggplot2的学习,吭哧吭哧的qiime我开始了学习官网上454和一路米娜的数据处理流程,这种艰难在于英文的差劲和生信基础素养几乎没有,整天和额头上的油腻和两眼之间的几条皱纹相伴,就这样一个月时间,我跑完了两份官网流程,在Rstudio也基本用ggplot重复了我的折线图和柱状图。
以上就是我的入门。R依靠磊哥的重要指点,qiime依靠马兄的那本的培训材料。之后的各种生信软件,usearch,fastqc,sepket,fastx,各种语言,shell,python,pel,都在这个基础上我才能慢慢展开学习。
发展:
春天是惬意的,尤其是南京的春天,不像夏天那么湿热,,唯一的不适就是校园的那一排排梧桐树,飘絮的实在煞风景(我个人意见,不排除有人喜欢这个啊),但是春天总是过的很快,随着对袁师兄的拟南芥苗子的一批一批培养,我的春天算是就这样被拟南芥拖过去了。暑假的时光奉献给我两位师妹,刘师妹和赵师妹,赵师妹挺可惜的,是个本科考研的大三学生,来这里体验一个月,有幸我得以认识,非长聪明和干练的女孩子,只可惜考研失败,唉,造化弄人,我至今也没安慰过她,希望她选择另一条路上走下去,毕竟考上了,其实也是入坑容易,出坑难。
在2017年六月份之后,一直到17年的后半年我慢慢有了一个坏习惯,晚上刷微信公众号文章,也不怨我,生物信息学习的那么吃力,晚上睡得着才怪,但是正好是这个坏习惯,我慢慢认识到了微信公众号的消息往往很及时,很新,一些生物信息方面公众号的就是当时我搜索出来的,往往这些公众号推送的内容许多干货,很时髦的,不像书本那样过时。这些公众号包括,某基因组,后来的某技能树,某叔的那个英文的那个名字的公众号,各测序公司也都有自己的微信公众平台。也就是从那时起,我每天晚上刷生物信息基础,刷到半夜,我读生信流程,读不懂,就分享给微信的我的电脑,隔几天翻出来再读一次,都说晚上记忆好,可我基本上看了啥也就忘了啥,哼哼唧唧的总算是在十月份差不多,我对二代测序基础有了个初步的认识。
当年九十月,我有幸参加全球微生物生态大会,对我而言就是看热闹去了,卡卡卡的拍照,之后都没怎么看的,后面有幸黄老师让我去参加北京的中国微生物生态年会,这些个ppt,没啥我记住的,只是当时再北京九华山庄网速很快,之前在公众号上别人分享了很多生信资源,几个月来我一直保存在百度网盘里,学校网络贵,我就没下载,晚上不开会时,我刚好在这三天时间内给下载了个遍,还下载了好几部电影,记得很清楚的就是猩球崛起2,挺好看的还。但是,从北京会开之后不久电脑硬盘就坏了(跑了几次qiime,的确是废电脑,唉,算是又一次投资了),换了新的硬盘,还好以前的数据,除了C盘的外都可以拷贝得到,花了我400大洋安装了新硬盘和电脑系统(还是win7系统,我就是这么执着)。
经历这次事故后我不得不生信资料拷贝,分类,整理的过程中重新安装qiime,Rstudio,不自主的可以全身心的投入了,理解qiime官网的两份实例,通读R图形可视化书籍,模仿一些公众号上分享的流程,自己修改做分析。金秋的时光是美好的,外面飘这桂花香,但是这些已经吸引不了我了,在R和qiime中放飞了自我,一直到十二月份。在这期间我用过师兄半年前发给我的一批数据,让我练习用的,我在2017年十一月初开始处理这批数据,是没有barcode的16s双端测序结果。对照这qiime的两份流程,我寻找这自己应该做的第一步序列拼接的命令怎么用。很遗憾我找了好几天都没有找见适合我的数据的命令,官网两份流程的原始数据和我得到的数据都不一样。于是我开始在qiime官网寻找我需要的第一步分析的命令:也就是序列拼接。qiime官网上100多条命令让我就像一个瞎子一样天天打开看来看去,终于还是找到了一个。就这样一步一步,在质控,去除嵌合体,聚类otu这些分析流程上,我艰难爬行,终于在2017年11月19日我得到了otu_table文件,之后使用这个文件和分组信息文件我开始了alpha和beta多样性,差异分析和出图展示的R脚本的学习,后续的这些出图和分析的脚本还要感谢某基因组公众号,帮了我很多。慢慢的我在11月下旬的十天内将这批数据的基本分析啃完了。
12月份初以后,中期汇报的事情提上日程,可是我没啥像样的数据,我毕竟大部分时间还是在做一些师兄的实验上的东西,自己的一些东西还没有结果,但是不希望沈老师认为我啥也没做,于是当时送了一批样品测定了16s,终于在离汇报还有一周的时间内测定有结果了。当时这家公司给我了个ftp链接,我便开始了魔鬼一周的16s分析历程。
首先那个ftp数据的下载很缓慢,我使用浏览器下载,几个G数据我从当天下午下载到晚上七点多。后来这家公司就不这么做了,毕竟也太慢了。得到数据后的我立刻解压数据,是没有barcode的每个样品双端测序的结果,也就是每个样品有两个fastq文件。和师兄给我训练使用的数据一样,因此我很有信心迅速跑完这批数据。之后事实的发展却相反,在序列质控上就出现的很大的问题,当时别的平台又不会使用,这个qiime的python脚本对每条序列名称的格式要求又很严格,自己还不会修改python脚本,这样我只能excel的使用查找替换功能将每条序列的名称标准化了一下(其实后面的再测的数据没有这个问题,序列名字也很标准,也就只有当时的这批数据怎么序列名字弄的乱七八糟,唉,屋漏偏逢连夜雨),弄好之后以离汇报不到五天了,我使用qiime的脚本去除嵌合体,那个费时间啊,不得已我将数据分为四个部分,使用三台电脑同时去除嵌合体(说起来还要感谢马兄和任师弟的电脑),用了我一晚上时间成功将嵌合体去除(讲实话:qiime的去除嵌合体功能花费时间很久,目前最久的,之后我就不再使用它的这个功能了,相关替代就是用usearch来做)。使用cat合并这些去除嵌合体的clean数据,开始聚类otu,我又遇到了电脑内存不够的情况,这下没办法了,我想着可能就在这个地方死掉了,但此时倪师兄买了小米笔记本,16G内存那个,正好被我征用了一下,将聚类otu的这一步做完(我电脑的情况为:八个G内存,还是后来加等的4G内存条,当时cleanseq大小为1.5G,使用的pick_open_reference.py,内存就不够用了),此时距离汇报不到三天了。连夜我出图了Alpha和beta多样性图片,和几张不同处理的差异分析曼哈顿图片,摆在ppt上,找师兄修改,当天下午找黄老师修改,没吃晚饭的情况下,黄老师给我修改了大半个小时,我当时ppt做的极差,图片可能都还不太会讲,黄老师很耐心给我修改了一番,现在心里还是觉得暖暖的。这是汇报前的第二天下午。距离汇报还有一天,我图片做的不好看,讲也讲的不好,就这样修修补补了一天,正式开始汇报当然很差劲,这是一次失败的历练,自尊心收到了很大的打击,又有什办法呢,我知道我尽力了。但是这个经历奠定了之后我努力学习生信的基础。
于是在年终汇报之后,我开始重新审视自己的qiime和R,有空便重新将那批数据重新跑一次,重新分析一次,这段时间内,通过许多的生信相关网站,微信公众号,还有一些PINS,isme,等好文章上的文章有代码分享在github上的。这些资源加速了我在生物信息尤其是二代测序数据分析内容的的一些进步。
在2018年来临之际,我也慢慢对16s测序数据的分析上手了,这是由于16s这方面的分析流程和相关资源相比于其他组学是更充足的,入手生信选择扩增子测序也是我最佳的选择和实际的需求。后来就数据分析内容的不同,我慢慢形成了自己自己的qiime脚本和R脚本及其组合,当然是很烂的,就像屎一样,后期这样具有特定功能的脚本被我按照相应的功能,例如:差异分析脚本,热图脚本,或者进化树脚本,分类存放,再之后,为了进一步提高自己的编码能力,我申请了这个公众号,分享了几个月的代码。
现状:
一直以来我所相信的就是:实战是打破一切不确定终极法宝,实战来源于需求,需求就成为了我做分析,一直往前,努力奋进的动力之源,最起码目前是这样。在四月份,袁师兄番茄的16s数据回来了,我做了一个月分析,之前学过的分分析本次来研究如何完善和精简流程和代码,之前不会的,虽然师兄不一定需要,但我开始学习了一部分,这两个过程中的我进行了思考,会有一些想要得到的分析目的和代码精简要求,这便成了我头脑中思考的下一个目标。就这样,我的路线就是学一部分分析,精一部分分析,到思考下一部分分析。后来在这个策略的指引下我在五月份和七月份拿到了另外两批16s数据,又做了两个月分析。八月份就开始另外的试炼,之后学习了分析之后的一波操作,写了一篇小文章,一直到今天,快十月份了。总的来说学习这件事情,尤其是自学,是题难上手的,尤其在最开始的时候。我认为不必要在一些已经被前人走过的路上浪费大量的时间,能培训就培训,能跟着别人学习就跟着别人学习,自己走别人走过的路,总在别人的帮助下会走的更快一些。显然我是不幸的,自己摸索着自己的道路,披荆斩棘,毫无进展的很长一段时间需要自己去忍受。
总结
研究生的第一年的,可用的时间,60%的时间用来做实验,40%用来学分析,第二年反过来,是用了60%的时间来做分析的学习。下一个阶段我将会花费60%时间来学习文章的阅读和写作,剩下的40%时间分配给实验和分析。
未来的日子还没有过,但是过去的时光已经可以做一个总结了。我认为我的科研路线走的不对,研究生第一年的思想认为全身心的投入实验会更快的出结果,第二年思想认为,全身心的投入分析,会更快出结果。到今天,我认为只有讲文章写出来,才算是结果。思维的局限导致了我片面的思考,造成了我在科研上的长短腿现象,实验,分析腿长,写作设计文献阅读腿短。如果最终的目标是多多益善的论文的话,我现在的感受是这个短腿限制了我的速度。其实我知道,像这样的科研经历或者路线,很多人都是这样的走过来的,没办法,导师可以那看得见的结果去要求你,比如实验结果,分析结果,但是无法检测你的文献阅读和写作能力,独立思考和设计实验能力。这促进了长短腿效应的出现,当然还有一些大家公认的原因,体制上的问题和文化传承上的习惯我们不做讨论。
思考:
写到这里应该是给相关专业的新入坑的坑友们一些建议:
1.无论多忙,请保持阅读文献和学习英语的习惯。
2.无论多忙,请不要牺牲自己晚上十一点以后的休息时间,可以早起。
3.无论多忙,哪怕是一颗鸡蛋,也要吃早饭。
4.无论多忙,请保持谦逊,保持和别人交流科研的习惯。
5.无论多忙,请记住永远假设导师比你更忙,请不要产生不恰当的发泄方式。
6.信息的搜索能力和处理方式决定了你的现状和未来,决定了你多快可以达到自己的目标。
7.虽然人每天的时间是有限的,但请务必保持和为数不多的屈指可数的朋友的联系,还有家人。你会发现这将会是你孤独的科研之路两旁最值得注意的花朵。
8.请减少将自己置身于不必要的人和事当中。
学习永无止尽,分享永不停歇!