欢迎光临散文网 会员登陆 & 注册

数据分析之经验教训

2022-11-29 09:25 作者:生信小院  | 我要投稿


于本公众号的作者而言,常常需要在科研生活中对各种各样的数据进行格式整理和数据可视化。完成这部分工作则经常需要通过编写各种各样的脚本以及撰写各类软件对数据进行操作。然而,在这些年数据分析中,本公众号的作者已经走过许许多多的弯路,学习到了一些宝贵的经验(浪费了大量的时间)。比如常常因为修改一个bug或者改变软件的一个功能而花费大量的时间(原本可以节约)。这些时间的浪费导致科研计划的延迟或者搁置,也导致时间工作效率的大幅度降低。因此,本推文则根据本公众号的作者这些年数据分析的经验总结出一套数据分析避坑指南,帮助大家避坑。但是这一避坑指南不具有普适性,仅仅是本公众号的作者结合自身的学习特点、项目经验和性格偏好而总结出来的,希望能够分享出来对大家有所帮助。

1、尽量将用于分析的脚本文件与数据结果文件分开两个文件夹进行操作

这样做有两方面优点:一方面,当数据分析结果太大而这一数据分析内容又需要备份的时候,可以通过备份少数几个脚本和原始文件即可(但是,对于那些分析需要花费较多时间的脚本,本建议可能并不是特别适用);另一方面,有利于脚本的撰写。因为如果脚本和数据分析文件互相充斥,那么就会导致无法快速有效的理清脚本撰写思路(试想一下,这种情况该多么的混乱啊)

2、对大数据而言,可以从中提炼一个子数据集用于脚本测试。

对于转录组、基因组等项目而言,完整的跑完一遍流程常常需要几周或者几个月的时间。那么如果在数据分析结束之后发现脚本逻辑有错误,即意味着一个项目周期没有了(就会被老板批,哈哈)。因此,通过提取有代表性的子数据集进行脚本的测试,既能够发现脚本撰写中的bug,也能在测试中优化脚本,减少分析时间。而对于部分自己撰写的脚本而言,可能无法找到合适的测试数据,那么可以先依据数据分析的特性和脚本撰写的逻辑,自行生成一个检测数据集(test data)用以对脚本进行验证。当然,这个检测数据的预期结果也得是已知的,这样才可以检测脚本数据是否有问题。

3、对于一些分析结果文件,可以提取子数据集并通过excel或者其他脚本进行初级的数据可视化工作

事实上,对于大多数人而言(包括本作者),在面临一大批数字的时候,第一感觉都是茫然(,第二可能是烦躁)。因此,匹配到好的可视化工具或者脚本一方面可以使得自身对数据的兴趣陡升,另一方面也能以更为清晰明确的方式去数据结果中被忽略的逻辑错误。如在做转录组分析筛选差异基因的过程中,必然会需要对差异基因的FPKM值进行一系列转置变换的操作。在这种情况下,通过借助excel对其中一个基因的FPKM值进行处理,其后将处理的结果与结果文件中各种产出的数据进行比对,便可以初步确认本脚本的逻辑与分析结果是否正确,是否具有疏漏。

4、脚本需要多些注释

这一原则应该在众多的编程思想里均有体现,即脚本注释越清晰越好。比如,一个脚本或者软件在搁置许久后被重新启用,常常会面临语义不清,逻辑不明的情况。而这时,脚本注释就会发挥非常重要的作用,可以帮助后来的脚本使用者快速熟悉原脚本撰写者的逻辑,从而在优化或者复用脚本的时候加快整个进程。

5、通用脚本最好有且仅有一个

我们在分析分析不同的项目的时候常常会需要使用到一些通用的脚本。但是,如果针对每个项目撰写一个通用的脚本(不同项目间的通用脚本存在差异),必然会导致后续脚本整理起来的时候面临极大的困境(如哪个脚本才是最可靠的)。因此,只撰写一个通用脚本,并辅以多个接口功能,可以保证我们脚本复用和整理时更有章法。

二 惯例小结

只有经验教训多了,才能果断避坑,加快开发进度

Multi-omics Hammer软件下载地址:

https://github.com/wangjun258/Multi-omics-Hammer

Multi-omics Visual软件下载地址:https://github.com/wangjun258/Multi_omics_Visual/releases/tag/Multi_omics_Visual_v1.03

PS:因为本软件是用python脚本撰写,调用了部分依赖包,用户首次使用需要安装python以及对应的包,安装之后便可永久使用。

本公众号开发的相关软件,Multi-omics Hammer软件和Multi-omics Visual软件欢迎大家使用。文末是本公众号在其他平台的账户,也欢迎大家关注并多提意见。

简书:WJ的生信小院

公众号:生信小院

博客园:生信小院

最后,也欢迎各位大佬能够在本平台上:1传播和讲解自己发表的论文;2:发表对某一科研领域的看法;3:想要达成的合作或者相应的招聘信息;4:展示自己以寻找博后工作或者博士就读的机会;5:博导提供博后工作或者博士攻读机会,都可以后台给笔者留言。希望本平台在进行生信知识分享的同时,能够成为生信分析者的交流平台,能够实现相应的利益互补和双赢(不一定能实现,但是梦想总得是有的吧)。

另外,怎么说呢,投币也可,不强求,但奢求。


数据分析之经验教训的评论 (共 条)

分享到微博请遵守国家法律