可能是近期疫情的缘故,大家多少会有一些充电的时间,也有一些人在问我想学习一些基础的生信分析(数据处理、画图之类),想自己学或让团队的学生学,有没有方法和捷径?好吧,这篇文章就一起探讨这个问题。
为啥要学
归纳起来有以下几点:
1)觉得会R语言、会python很酷,写代码的动作超帅,做出来的结果——飒,而且能自给自足。有这样想法的人,大都是一些硕博研究生,且是主动学习;
2)目前有很多测序分析公司有数据分析平台,非代码操作,但调出来的图和自己看到文献中的样子不太一样。公司平台的分析功能模块一直在增加,但可能不是自己最想要的;
3)往往拿到了原始数据和标准分析结果,后面数据的进一步处理,自己没经验,公司的人也没有了往昔交流的热情,发出去的需求迟迟得不到回复。无奈只能自己动手,丰衣足食了;
4)一个看似简单的分析需求,公司报价几千元,好贵~ 老师纠结于有限的科研经费。而公司这边做这种个性化的分析,需要生信人员更多了解数据和研究背景,付出更多的人工精力,人力成本上去了,这个价格已经是维护客户的友情价了。怎么办?先自己尝试干吧,能做出来最好;
5)公司的生信人员跟我说的我听不懂,我提的需求他们反馈慢。一番了解,发现是生信的人钻研也不是很深,且说了太多生信语言,做出来了,但解释不出所以然。提需求的老师,也是刚入门,只是看到一篇文献这样做的,就把文献和想要的结果告诉了生信的人。这样的需求描述在生信的人来看,无异于要把文献看懂弄清(除非生信的人在该领域特别通,一看就懂)。
学到什么程度
我们先假设,这里面不止涉及了生信学习,还有组学知识和研究思路学习。分几个层次吧。
1)如果是专职的科研人员和在现阶段做科研的临床医生,刚刚涉足组学研究,本身搞课题、做实验、看文献,就已经时间不够用了,初期只要补充组学知识和研究思路就够啦。以公司给的结题报告能看懂为准,有些公司做的好的结题报告还有知识名词和分析方法的说明和解释,是很好的学习资料。还有组学相关的典型文献。具备这些,在和分析人员沟通需求的时候,会非常有效率;
2)如果是在读硕博研究生或者有更多精力的人,倒是可以进一步尝试学习R语言和python,以应对一些中间数据(RNA-seq的表达矩阵、WES的变异结果等)的数据处理和作图;
3)想着系统做组学分析的人,那就可以自己搭建服务器和学习linux基本操作了。可以搭建基础分析流程和自动化分析脚本。这部分的硬件投入和学习成本就比较高了。
怎么学
如果公司的结题报告能看懂,那就默认是知道建库和测序基本原理、会看数据质控结果和分析结果的。
测序产品多达几十种,一般会根据自己的研究方向,选择重要的几种去学习。比如,关注转录和表观,那就可以学习RNA-seq和chip-seq的分析方法。
零基础
1)R语言,R语言很适合数据处理和作图,且有很多R包,是很好的分析工具。友情推荐生信技能树,且在哔哩哔哩有学习的课程。在学习一遍R基础操作后,按着文章或视频里的代码敲和运行,刚开始可能会有很多报错。多print(是别人告诉我的哦)!我一般习惯自己琢磨和百度,觉得慢的话,可以找一个会生信的人多请教啦。如果是微生物研究,可以关注宏基因组公众号;
2)TCGA和GEO里有很多公共数据,可以熟悉这些网站,下载自己关注的数据(可以是表达矩阵等,基于原始数据的分析就可以依靠我们啦),按着博客里等有代码的文章,一步步分析了。可以根据自己的习惯,修改和添加代码,将代码做区块化,这样,就可以逐步填充自己的代码库了。
我自己刚开始学python的时候,当时团队的领导和老师们对我帮助很大,有很多现成实用的分析流程和代码可以看和学习,就会进步比较快。写代码也有原则,要可扩展性、容易理解(R里有很多现成的处理函数,可以方便的做数据处理,做好注释)、可测试性和可复用性;
3)分析R包或者分析算法,对所有数据不会都适合。以单细胞10X为例,目前针对不同的探究目的,分析算法很多,还要看自己的数据适合哪种分析算法,而且分析算法在不断增多和迭代,应用这些算法到自己的数据上,学习成本还是挺高的;
4)最好有一个氛围,可以互相探讨生信问题,要不然自己学起来或者遇到问题也挺孤独的,可以是科室或所里的生信前辈,或者多加几个生信交流的群。
不得不说,生信入门容易,做好很难。自己本身不是专门做生信的,且能力一般般,只能写到这了。见过一些让人佩服的生信牛人,在某一研究方向上,真的很通达,研究思路、可能遇到的“坑”和解决方法都能顺手拈来,逻辑清晰,表述流畅。能hold住大项目。
对于大部分人,学生信或者组学研究思路,能做基本的数据处理和作图,具备清晰表达需求的能力。至于重要的分析工作或者实在没时间学习,交给专门的人就行啦。