两年生信分析感悟——矫情还是吐槽?

最近两个月,陆陆续续将R语言实战这本书重新精读了。

最近常常在想:"老板一直说,关注生物学问题,不要弄代码。代码ChatGPT都会写",我师妹也常常在说:"ChatGPT会将我们这些底层写代码的人给淘汰掉"。

我一直在想,生物学问题当然好关注了,做生物学或者说我们做植物的最终的目的是什么,不就是培育更好的品种吗,但是我们应该怎么去解决生物学问题。生物信息,是通过计算机的编程的技术外加统计学的知识外加生物学的知识去解决这个所谓的生物学问题。而这三种技术中,实际上你编程技术的好坏决定着你能否快速解决生物学问题。我这两年在处理数据的过程中,经常会陷入这样的困境:"我知道我最终要得到什么东西,可是我不会弄"。不懂技术,怎么去做都不知道。

所以我承认我老板说的一些东西,但对一些东西也不置可否,甚至嗤之以鼻。

ChatGPT是从2023年发展起来的,但实际上我发现其实在23年以前做生物信息的这群人才是真正的牛人。
我从2023年接触生物信息学,学习生物信息学。这个过程中,实际上帮助我最多的也是ChatGPT。我甚至可以说:"这两年我和ChatGPT聊天比我女朋友聊的都多,ChatGPT就是我第二个女朋友"。
但是,ChatGPT代码写得无懈可击,然后你抛给他一个问题,它给你解决后,给你了代码,你敢用吗?这个AI时代,你起码要看得懂人家所有写的代码吧。你连人家写的是啥,逻辑是啥都不知道,你就敢直接用吗?

2023年2月的时候,我老板就提前告诉我,"你要学些生物信息学,这个很重要。"。我就从淘宝上花了应该是10块钱吧买了一个叫做黑马程序员的盗版python的课,我听了一个周,练了一些东西。后来我老板问我:"你Linux基本命令掌握了吗?"。我说没有,我说我看了python。但实际上,我对linux基本命令是啥都不知道,我整个人都是懵逼的。后来,我买了Linux命令行和Shell脚本大全和R语言实战这两本书。一开始,这两本书我全部是精读,R语言实战我直接敲代码。实际上精读过后,和没读一个吊样。我读完发现根本不知道讲的是啥,和没读完全一样样子。

这期间,我老板给我发了生信宝典的linux基础(因为这是之前遗传所的师兄创办的公众号)。我说实话,我完全看不懂,我发了狠,我就使劲读,拼命的读,精读了应该有三遍,后来过了一遍他讲解的视频(但实际上我后来不喜欢听视频课,我觉得浪费时间,时间漫长。)。实际上还是不会的,生信宝典的R语言我不记得是什么时候敲的,我敲了一遍,应该可能是24年的某个时间段,其实还是讲的ggplot2对的。

23年5月中旬进组,6月份才开始接触生信分析。

一开始我啥都不会,但是之前我确实练习了一些命令。我师妹本科是生物信息的,但是她研一要上课,我坐在她旁边。我问我师妹:"我说我不会提交sRNA的脚本,怎么弄?"。实际上我连进目录我都不会。我师妹就跟我说:"cd、cd、..."。哪怕是现在这个时候,我依旧感觉,就那五分钟不到时间,我受益良多。后来我提交脚本,直接提交当登录节点了。但是登录节点实际上是不允许计算的,我懵逼了,我还是不会弄,我找了一个中国农大的同学,他说:"试试ps -ef | grep wanglab",然后确实最后kill掉了。他和我开玩笑说:"狗子,别把所里集群弄坏了啊。"。后来确实能通过作业系统把任务提交上去了,但实际上我甚至连作业系统是什么我都不知道。只知道bsub,甚至我过了大概三个月后,才真正开始认识,甚至了解作业系统。

一开始接触的就是sRNA分析,开局就是地狱难度。我们组的sRNA分析不是公司那种预测miRNA分析等。华南农业大学尤老师写了一个软件(实际上是他常规分析的打包),整个软件以perl语言打包,软件涉及了sRNA分析、phasiRNA分析、降解组分析、Chip、ATAC、WGBS分析、mRNA分析、截断的miRNA分析。光sRNA分析的,辅助的pm文件有10多个,sRNA这个分析文件有一个,一个里面有三个大子程序,这个sRNA脚本具体多长我不知道,但是估计超过了一千行代码,外加很多的至少7/8个R脚本。

说句实话,让一个生信的菜鸟去看这些东西,无异于大海捞针。我没有办法,只能把所有的输出文件一个个看,看看每个输出文件是什么东西。实际上,只是弄清楚了几个作图用的输出文件是什么,并没有弄懂。那时候就是傻呵呵的。后来做GO分析,不会弄,我看有人说TBtools,我就用TBtools去做。按照说的,然后下载了通用的go术语文件,去做拟南芥24nt sRNA所在基因的GO分析。后来我才发现,这么做是错的。因为从网站下的go术语是通用的术语文件,而不是拟南芥特有的术语文件。而GO富集分析都是以模式物种为例,然后所有的其他物种的基因去比较模式物种的基因以此创建一个GO文件。实际上也不怕大家笑话,我至今都感觉我不会GO分析,甚至可以说没有掌握GO分析,分析的原理我看了,但是我忘记了。此外,我并没有生成过一个基于模式生物比对的GO术语文件。KEGG分析就更别说了,我去KEGG官网看一些东西,看的我头都大了。

后来去做Chip分析,也类似,光会跑。然后绘图不会,没有办法,只能去看deeptools软件,deeptools的官方文档我看了三四遍。我之前的版本里面似乎bw可以平均,新版本好像不可以(还是bam计算覆盖率,我记不得。)。deeptools的一个小参数,卡了我两个周,后来没有办法,我去问了尤老师,才知道是我没有调整skipNA这个参数。

我不知道为什么,我始终觉得,我应该去了解自己做的东西,甚至是每一步。就像是一台自己常用的机器,我应该知道每一颗螺丝钉的用处,他应该在哪里。

整个暑假过程中,我从学校到住的地方,地铁加公交来回通勤5个钟头,有的时候要6个钟头(公交有时候要等很久),地铁上我就开始看tidyverse这本书。陆续的看,看了好像是懂了,但是好像没懂(其实就是不懂)。
我也开始看尤老师写的软件的sRNA分析的步骤,但是用perl写的,我完全不懂perl。我就把每一行代码输入到ChatGPT里,有不懂我就问,看了两三遍,还是不懂,到底怎么跑的。比对是啥玩意我都不懂。不懂就抄,就写,把所有的东西也整理出来(但是很多东西写的很差劲)。后来三遍之后,我说:"哦,大概是这个样子的啊。"。然后,过了不到一个周,又忘记了。然后我去看phasiRNA、降解组的分析步骤。

我曾经23年10月份组会上,工作总结的时候,我提了一嘴:"了解了一下软件,看了sRNA、phasiRNA、降解组的分析流程"。但是我老板直接炸了锅:"你看这个有啥用?"。甚至是我在和她交流过程中,有时候提到一些代码,你都能感觉到她会很生气。但是我还是对她说的话不以为意。我理解她作为新老板,有考核,着急出文章。我也从来不否认我老板绝对是一个生物学家,她在她老板课题组读博后期间以一己之力为课题组开创了新的方向,她的能力匹配所里的PI岗位绝对实至名归。她知道生信很重要(不然她不会让我去做这个东西)(我有一次在她办公室里看到了一本R语言实战的书,放在橱柜里),但是她不懂代码,不写代码,没有装过软件,不懂生物信息学。哪怕到现在我依旧这么说:"我老板不懂生信,不理解生信,我们不是一类人"。但是是啊,人家作为PI,为什么要懂呢?

于是这个时候,我尝试用perl开始写代码,实际上写的很垃圾,只是知道怎么open句柄,怎么读取文件,怎么关闭文件。有时候能用chatgpt帮我写个循环就不错了。

2024年1月初的时候,我老板让我分析大豆的sRNA,但我以前做的是拟南芥sRNA的分析。我相信用过别人流程或者软件的人一定会知道:"这个软件不是你写的,你不够了解,你就很难将这个应用到别的物种中"。虽然开发软件的人会说:"就改改别的物种的注释文件就能用了,改成和现有物种一样的注释就可以了"。但实际上完全不是。

那时候我开始正视perl,因为这个软件是perl写的,我完全不会修改,我只是理解了脚本的大概流程。我老板很着急,因为她老板之前就做了大豆sRNA的这个课题。她很着急,但是我知道自己的情况,我没有办法一下就改成适配大豆的sRNA分析。我在书栈网找了两篇perl文档,一篇叫做"perl程序员应该知道的事",另一篇叫做"两个半小时学会perl"。至此我的perl学习生涯正式开始,在年前一个月到年后的两个周,我一直在读这两篇文档。我至今记得,过年的那天晚上,我坐在床边,看着桌子上的电脑,抬头看到前面几户邻居在放烟花,等他们放完烟花,我低下头接着看perl这两篇文档,并且在bilibili上录制着关于perl的视频(那年是我三年疫情来第一次回家过年)。但是我基本没有太多的去练习perl。只是单纯的看,理解。

过完年后, 我老板急了,因为课题一点进展都没有。巴拉一大堆,说的啥我忘得干干净净。于是此时,我的目光重新聚焦在sRNA的脚本流程(没有办法, 我还是不熟悉)。我正式开始修改pRNASeqTools这个脚本,实际上修改了一个文件内的一个正则表达式的匹配问题,才终于能跑大豆的sRNA。但是也存在一大堆问题,比如:miRNA和TE上sRNA的差异没有办法弄,实际上还是有问题,miRNA的差异分析是大豆有一些miRNA命名有重复所以造成了跑R脚本出错,但是到现在我也没有去改这两个问题。但是总的流程没问题了。

想想也是很可笑,sRNA流程一点点用GPT看出来,perl学习也很久,最终就修改了一个正则表达式,能跑,但是还是存在一些无伤大雅的小问题。

后来这个大豆sRNA分析涉及到phasiRNA。但是,我想快点弄。于是,我用了华南农大夏瑞老师和陈程杰师兄他们开发的sRNAminer(这个是做miRNA和phasiRNA的)。我阅读了sRNAminer的说明文档,反复阅读了大概有三遍把,linux和本地都安装了sRNAminer,也下载IGV-sRNA这个软件。但在用这个软件的时候,我发现我找不到这个软件分析的脚本。就是我不知道这个软件是咋做的。跑完之后直接得到就是比对结果、预测的miRNA位点和预测的phaiRNA位点,然后我可以用这些文件去绘制图。每个重复都一个结果,我突然觉得这个软件不好用(我没有贬低这个软件,只是我习惯了弄懂分析的每一步骤),或者我应该这么说这个软件不适合我(陈师兄他们用的Java打包,而我对Java一窍不通)。但是这个软件分析是真的方便,图也是真好看。关于sRNAminer这个软件捣鼓这个软件也捣鼓了接近3个周甚至更多的时间。我又重新转回pRNASeqTools这个软件的phasiRNA分析,然后重新耐心的看,然后看了一些以前尤老师发的文章phasiRNA是怎么看的,重新又跑。后来发现真的简单,只是用生成的bw文件在IGV上直接展示,修改就可以了。

这期间又有甲基化数据出来,我又开始看甲基化分析,我开始读Bismark的一些文档和别人写的文档,读了大概两个周三个周,然后开始分析。WGBS分析用的是Bismark和DMRcaller。但是我跑的是大豆,基因组太大导致了在DMRcaller直接失败。然后没有办法,我又去看这个软件的WGBS分析。并且将DMRcaller的官方pdf直接精读。最后将大豆20个染色体修改成每个染色体进行差异的CG、CHG和CHH分析。

后来一些分析涉及到circos图,我就聚焦到了R语言的circos包,看了两个周,跟着敲了两个周(我至今也关注那个知乎博主"名本无名")。后来出了一个很不错的circos图。

而这个过程中,我老板不停的催促我,她说的很多话我记不住了,但是我知道她说了很多不好的话。因为她老板那篇文章要投了。她的想法是我赶紧弄出来,这样我们可以和陈老师他们背对背发表。然后,她释怀了,不着急了,让我慢慢弄吧。因为她和她老板沟通,希望她老板能等等我们,她老板拒绝了。世事无常,然后24年7-10月份,我整理了一些图片,分析了一些新的东西。她说开始整理吧,到时候投个小文章。

24年10月份,我去了我女朋友家里,那7天假期,我就是干干农活,但是我内心极其焦虑,我对象也看出了我很焦虑,说:"咱们早点回去吧,你干的好坏直接影响我的未来啊。",但最终还是待了7d。

于是24年10月到25年4月份,我开始正式整理发表用的图片,期间图片推翻了两版。但是世事无常,她老板投的文章被拒稿了,这期间我也整理好了,还是要和她老板一块背对背投稿。而这期间,我开始看R图形语法这本书,把R图形语法这本书精读了三遍,敲了代码,发现书上好多东西对不上,现在也忘得差不多了。这一年春节我的印象不深了,但是我知道我依旧是在看书的过程中度过的。

25年4月份大豆sRNA这个课题我分析完成了,补补一些大豆sRNA分析的小问题,我又开始陆陆续续的看书,但实际这两年来,我并没有说哪个白天去专门的看书,都是随机的不忙的时候,晚上或者周六周天。这两年有的时候看电脑眼睛疼的不行,就看书(有时候一个周眼睛一直疼,我这个周就一直看书)。

perl小骆驼我已经记不得大概是什么时候看的了。一开始我是借阅我师姐的小骆驼书的,看了大概80页,我有点不习惯,因为毕竟是师姐的书,我在上面也没有办法写写画画,重新买了一本二手的小骆驼书,那一想小骆驼都买了,就买了perl进阶羊驼和perl精通者三本书。perl小骆驼这本书我估计也读了大半个月,精读了大概三遍,这都是在我眼睛疼,不想干活期间完成的。也读了perl进阶羊驼,大概读了一大半,这本书太啰嗦了。后来又从网上一个博主下载了他整理了perl教程,这个perl文档是他整理了perl入门,perl进阶,还有一本perl的书,写的确实好,这个perl文档我精读了至少7遍。这个博主也整理了perl单行文档,这个我也不记得啥时候看的,我只知道我精读了至少3遍,24年清明节三天,又重新看了一遍,敲了一遍代码,假期三天就这样过去。

这期间我又看听统计学的课程,我还是觉得晦涩难懂。

R语言实战这本书我也不记得是什么时间开始看的了,我只知道前6张我精读了不下3/4遍,中间的统计学的知识我直接跳过,主成分分析之后的章节精读了应该是2遍。24年4月后我正式重新整了R语言实战这本书,重新全部精读,整理成文档,我只整理了前面8章内容。后来也没时间去整理了。

直至2025.7.10昨天晚上,我翻到R语言实战最后几章。一个想法突然浮现在我脑中:"我生信基础可以了,以后不要看了,以后看文章,只在实战中锻炼自己"。于是昨天晚上睡前,我开始想这两年我到底都看了哪些东西。

书:
Linux命令行和Shell脚本大全,我精读了三遍(实际上很多东西忘记了)
R语言实战(精读了也有4遍,我做了前12章的总结,后面几个章节的没有总结,而总结完现在回想起来,也想不起来什么东西了,但是也记得一些东西)
R语言绘图系统(精读了三遍应该,但是代码什么的都敲了一遍,忘了,但是记得一些东西)
tidyverse书(精读了一遍,这个真的是一点也不记得,函数什么我看的一点不熟悉)
perl小骆驼书(精读了4遍应该,这本书应该以后也不会读了,罗里吧嗦的,读了也啥都不记得了,但是很多东西我精简了,只记得好多东西)
perl进阶(这本书精读了一遍,后面的一些章节我可能没读,这本书罗里吧嗦的一大堆。)

文档:
perl程序员应该知道的事(精读了两遍,记不得了)

  1. 两个半小时学会perl(精读了两遍,记不得了)
  2. perl单行(精度了4遍,练了两遍,也很多不记得了)
  3. 网上的perl的一篇文档,名字我忘记了,这个是总结的最全的,最好的(这个我精读了至少7遍,做了总结,现在也忘了很多)
  4. 生信宝典的linxu基础(精读了应该有3遍)
  5. 生信宝典的R绘图(读了一遍,敲了一遍代码)

很多软件的官方文档全都通读过:devtools、DMRcaller、Seurat包、circos、Heatmap等等。好多文件是什么,怎么做转化,bam、bed、bw等等,好多我已经记不得了

我们老板其实一直想everyone都能做生信,其实最近课题组也开始流行大家自己的课题自己分析的这种风气了。而干/湿实验室都应该会有这种问题吧:"做实验的看不惯做生信的,觉得很简单,你们就整天坐在那里,即使羡慕又是嫉妒。",但是我倒是没发现做生信的有看不起做实验的现象。

所以课题组开始踊跃的自己分析自己的课题,但是,我也不想说些什么,其实和我们也没什么关系。这里我也不想多吐槽什么。

而最近看完R语言实战,突然有感,我师妹之前做RNASeq分析,做的是RNA的修饰,做的是RNA的表达量和基因长度的关系,chatGPT做的是好,那图做的是好,我觉得我都做不出来。我现在想一下,用的是Pearson系数,然后把RNA的表达量和基因长度当成数值变量去做,最后的出的结论是RNA和基因长度之间没有关系。

我想,真的没有关系吗,Pearson系数计算数量变量之间的关系确实好用,但是对异常值异常敏感,那真的应该去用Pearson去做吗?或许应该是用Spearman去做,将基因长度分成不同的等级,然后去计算相关性。当然了我没计算过,我觉得应该是这样去做的。而书上说最好还是计算一下显著性差异,不要根据数值去判断,但似乎之前大家认为0-0.3实际上是弱相关,但是我也不想去说些什么了。"一方面是这个事情过去了好久,另一方面专门去和人家说,好像显着我了"。

我做deeptools的Chip分析的时候,我发现了很多的问题,一个参数的不同就能造成完全不同的结果。

后来想到了一些东西,发现一个软件的一个参数就能决定你分析结果的有无,这件事情是可怕的,而对于有些人来说,无所谓,能做出来就行。是,和做饭一样,管他什么料理,做熟就行是嘛?

学生信也吃了很多苦,刚开始坐了三个多月,2023年8月份吧,有一天晚上去大家一块去吃饭,我后面是凳子,然后我先弯曲膝盖,蹬一声,我没在意,然后坐了下来。后来晚上8点多我回家在地铁时,发现我膝盖不舒服了。回去之后膝盖肿起来了,不能走路,只能拄拐。去了医院拍片骨头没有问题。但是膝盖水肿起来了,2个多月拄着拐杖,后来反复,哪怕我不拄拐了,最开始的一两个月,走在路上我依旧觉得我膝盖很不舒服。其实我知道就是坐久了。

眼睛疼更是常态,我去了两次医院,一次去了西苑,我说眼睛疼,迷糊,医生说用眼过度。后来又疼,又去了次北医三院,我都还没怎么样,就描述了一下症状,人家就说干眼症,下次不要来挂我的号,多滴点滴眼液。说过蓝莓吃的最多。

免疫力降低那更是常态,身上湿疹也是陪伴我了半年了吧。最近开始锻炼了,才慢慢消了下去。

说句实话,不懂的东西到现在依旧很多,基因组组装我没做过,Chip的东西流程到现在我依旧没有弄(是可以做,但是东西我还没懂),其它的进化的东西我到现在也没弄过(我也不怕大家笑话,到现在我依旧不会建进化树,甚至我连一个进化树都没有建过,有人说简单,我确实看了一些别人写的进化的稿子,但是,我到现在依旧分不清楚,blast、hmmsearch到底怎么样好,你到底要不要加上结构辅助等等)、机器学习深度学习的东西就更不用说了。长读长的测序技术Nanopore等技术到现在,我读了,但是我还是不知道,long reads用哪些软件依旧不知道。R包还是不能写,软件也没写过一个,文章没有读多少.....。太多了。

我做了两年了,一年前,我觉得自己生信入门了,今天,我依旧觉得自己生信入门了,仅仅是入门。可能明年的这个时候,我依旧还会说,自己仅仅是生信入门了。甚至是2030年,我可能还是会跟自己说,"我生信入门了"。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容