码迷,mamicode.com
首页 > 其他好文 > 详细

常识的力量 - 防止错得太远

时间:2018-03-24 20:44:56      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:coding   多个   int   就是   class   作者   最大   工具   算法   

做生物信息的一定要会利用常识的力量。

1. 对自己分析结果的把握

普通生物信息最大的弊端就是太依赖工具、算法这些东西,大部分的人平时其实都不知道自己用的工具到底是干嘛的,它能产生什么结果,更别说评价不同工具的优劣了。(主要也是工具太多了,有些也比较复杂)(建议有空还是看看工具的原理,大致了解就行,这能非常有效的提升分析的手感)

既然大部分生信工作者都是工具使用者,那我们如何掌控工具产生的结果呢?最有效的就是利用我们已有的常识来反推工具到底在做什么。

比如我在用RNA-seq数据来组装转录本,300个样品,通过标准的hisat2和stringTie流程我得到所有的转录本,这时我计数了一下699638个转录本。有点惊喜,这么多啊。

但是,这个数量合理吗?俺暂时不知道。

接着就是blast,499764条都能比对到,打开结果一看很多转录本都比到一个蛋白上了,而且比对位置也一样,这里我就知道了699638条转录本里大部分应该就是duplication了。

再接着,除去能比对到多个数据库的转录本,我还剩下10w条,自然就去用CPC等预测lncRNA,发现大部分都被鉴定为non-coding。这不科学吧,CPC和CPAT都是灵敏度、特异性很高的预测工具,别人文章最多也就鉴定几千个,我这随便就鉴定出来了10w条,嘛呀,是不是可以发nature了。

后来反复思考,觉得这个数字肯定异常,CPC等工具其实是不靠谱的,它们统计的灵敏度、特异性时使用的数据集就是有问题的,他们用的已经注释好的mRNA和ncRNA,那他们就只能局限于预测这两个了。

但是,但是,我们大部分时候用CPC的时候是直接来跑stringTie等预测的transcript,由于是二代数据,我们组装出来的是转录组碎片,stringtie等出来的大部分都是一些没有意义的exon的随机组合而已(我同时用了ref和denovo模式),也都被CPC预测为non-coding了。

自此,通过一些常识,我发现strinTie的结果的特征,同时也明白了CPC等工具的局限性。

所以,在生信分析时,多用常识质问自己“我的结果合理吗?”是很实用的,能防止“重大惨剧”的发生。

2. 正确写代码的姿势

生信肯定离不开写代码,我觉得写代码的时候似乎也在利用常识。

写代码比点击GUI更灵活高效,也更容易出错。

我有轻微强迫症,所以在写任何代码的时候会输出一些关键的变量,看是否符合自己的预期。

后来想想,其实这是非常有用的,它能有效杜绝99%的error。

就像建大楼,从底下开始稳稳的往上堆,大楼就会很稳固。

在写大型脚本(>1000行)时,再结合模块化思维(函数封装,类),普通人都可以写出非常健壮和正确的脚本。

 

小结:诸位想让生信事业一帆风顺的话,还是得多思考,多利用一下常识的力量。

 

一些常识:

How many proteins in the human proteome?

常识的力量 - 防止错得太远

标签:coding   多个   int   就是   class   作者   最大   工具   算法   

原文地址:https://www.cnblogs.com/leezx/p/8640904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!