对生信的一点点认识和反思

新媒体管家

王国维在《人间词话》提到了学习的三重境界:“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境也。“衣带渐宽终不悔,为伊消得人憔悴。”此第二境也。“众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。”此第三境也。

第一境界也就是决定要做啥事,生信也一样,看着密密麻麻的编码感觉很压抑也不理解,感觉生信好难好难。

沉下心来做事,安安静静的学习,安安静静的敲写书中的代码,去理解别人的代码。这时候可能就是“为生信消得人憔悴”。

在代码里挣扎好久,“众里寻生信”,等到入门后可能再回头看某个东西的时候就是原来是这样子呀,也许就是“蓦然回首,那人却在,灯火阑珊处”。

1
跨界工具

陆陆续续真正接触生信有近半年了,对一些问题有了初步的认识,就算叫入门吧。生物信息学入门个人感觉首先就是跨越工具,如果只是用一些网页工具的话,只能是受制网页的功能,可能无法实现自己想探索的东西。我最早接触的Perl,今年三月份开始学习Perl,Perl的学习技能树中有很多帖子,但是有一点请大家放心的是:两个半小时肯定学不会Perl,我觉得如果打算学的话,这样的快餐“书籍”作为一个参考,建议还是系统的去学习每一门语言,打好基础,即使自己写不出代码但是也可以看懂别人都代码,拿来改造,为己所用嘛。

Perl没有想象的那么差,其实它是一门非常伟大的语言,每一门语言都是一个哲学体系,只有学不会或者不会用的人说他难理解,就像我们不理解某个哲学家一样,但这不影响人家哲学思想的伟大一样。对于Perl的学习,小骆驼看两遍,基本上就可以凑合着用了;提高的话,“无他,唯手熟尔”。

关于R,我也只是看了入门的《R实战》,很好的入门书,讲解的很清楚,我只看了一遍,印象不深刻,还在继续学习。看完《R实战》后,建议大家看看高山老师的《R语言与Bioconductor》,目前只看了一遍,对于芯片数据和数据可视化处理有了一点认识。

现在的感觉就是,学生信学编程就是多看书,多实战,说多了都是矫情。同时在学编程时,一定要搞清楚读入数据的结构是啥,不同的数据结构在不同的语言中是有差异的,多多查看数据结构,非常有帮助,Perl中的Data::Dumper谁用谁知道。R语言中的str(),class()。学会差看帮助,慢慢的提高。

2
纸上得来终觉浅,绝知此事要躬行

跨越工具本身不是目的,实战才是硬道理,对基础有点认识后尽量实战几遍,从十几个题目到RNA-Seq的实战。感觉对生信真的有了一点点认识。

十几个题目的挣扎会带来两个提高:

1.对生物信息学本身的认识;

2.对编程能力的提高。

反复操练十几个题目大有裨益,比如Perl对fastq文件的操作,主要针对四行进行,每行逐一读入后分别进行操作即可,固定格式,就像经典的while(<>){do   }语句。对于GTF文件的操作,函数split 的应用,将逐列分开而后进行操作,以上就是Perl对行、列操作的经典语句。

当然这一切离不开对Perl基础知识的认识,标量,数组,哈希。对于这些基础知识的理解强烈建议大家多解几个json文件,认识就非常深刻了。因为如果Perl中对数据结构认识不清楚的话,解不出来。如果再把Perl的精髓正则表达加入,就无敌了。

R语言并不擅长处理文本,而fastq格式却类似于文本,所以处理起来慢,有点不方便。但是R中bioconductor的目的之一就是用R解决所有生信问题,极客们还是构建了很多包,也就是把各个函数封装起来,让大家免费用。

首先包的帮助文档必不可少,实战题目,再加上高山老师的《R语言与Bioconductor》,确实有新的认识。无论啥时候请大家一定记得str(),尤其是数据结构不清楚的时候。有时候总想搞的很彻底,但是后消耗大量的时间。彻底搞懂还是有收获的。

对于linux这个伟大的系统,把《鸟哥的私房菜》看前400也就行了,可以凑合着用,然后用哪里学哪里就好了(⊙o⊙),一定不要忘记了man XXX(帮助文档很有用)。

在RNA-seq的实战中,我觉得安装软件最大的问题就是添加到: 环境变量,虽然我水平有限但是也有小伙伴联系说软件安装不上,我也挣扎过这个问题,但是有一点绝对正确的真理就是:一切皆文件,那也就是说,用绝对路径去运行一个软件一般情况下是没有问题的。所以如果实在安装不上也不用挣扎,直接用软件存放的绝对路径即可( ^_^ )(如有错讹,还望斧正)。

互联网的时代多多检索,找到关键词,进行有效的关键词检测,总有人说检索不到有用的东西,请多反思自己会不会检索,我也要反思。( ˇˍˇ )

学到这里生信可能才刚刚开始,或者说可以开始学生信了,基因十,值得拥有,即使看不完也可以当做基因的词典嘛。

写记录真的很重要,技能树上很多帖子,我以前觉得现学现卖不好,但我现在觉得这是一种学习笔记或者实验记录,和现学现卖没关系。到目前,也没写过啥,写了几个实战题目Perl代码全注释帖子,模仿了别人的RAN-Seq流程帖子,翻译TCGA流程文档。回头想想学习笔记太少了,时间都去哪了……..

3
分享一个励志公式

每天做1的话,1年365天还会是1,如果没有1.02,而365天之后将会是1377.408,而如果有退步呢,1年之后可能就忘完了。

夜阑人静当自省,收获几何?

(0)

相关推荐