美文网首页生信小白NGS避坑指南
迈向可重复的生信分析

迈向可重复的生信分析

作者: lakeseafly | 来源:发表于2019-10-15 10:35 被阅读0次

引入

尽管科学界普遍同意,可重复再现是评估数据分析的最低标准,但是由于缺乏对数据的整理,对代码工具使用版本的记录等,重复再现某人(甚至有是你自己的)结果都不容易实现。我们常常会遇到以下列举的一系列问题:

  • 忘记下载的数据是哪里来的
  • 忘记为什么自己要省去不使用部分的数据
  • 忘记这个或者那个图是怎么画出来的(特别是对R语言不熟悉的同学们,上网东抄西捡,把代码拼接起来,画完图就完事了)
  • 还有一系列类似的小问题

讲了这么多,这里就是希望指出:适当记录实验步骤,让分析可重复的重要性。

如何进行可重复的生信分析

在excel文件中整理好你的数据

我们日常整理的数据基本都会用到excel。在我们进行可重复生信分析之前,我们首先要让初始的excel数据整理得清晰易懂。

首先先看两个例子:

整理前的excel文档:


整理后的excel文档:


通过对比可以看到同样的信息,在正确排版整理后,可读性得到了极大的提高。

对于我们该如何整理excel的文档,作者很贴心的给大家整理了一些小tips:

  • 使用矩形的方式排列数据
  • 在第一行或者第一列使用表头(并且记得不要手多添加空格,很多R包都会报错如果你的分隔符不一致)
  • 一个cell只放一个值
  • 每个cell都要有值,空的值可以使用NA表示
  • 记得将你的数据备份(存到云盘是个很好的选择)
  • 在初始的数据中,不要添加额外的计算,或者进行图型绘制
  • 将数据保存为纯文本文件

管理好你的projects

科学大牛曾说过文件命名和管理是有效数据分析最有力的武器。

继续展示一个非常经典的,没有正确进行文件名管理错误例子:

大脑为了偷懒,我们常常会使用最简单的方法进行命名,例如fig1png,fig2png。而且由于很多时候,我们分析不是一天完成的,由于每天的心情不同,我们命名的方式又会出现一系列随机的变化。这个错误的方式可能会在一时间让我们很方便,让我们错以为我们已经将需要的信息已经保存起来了。但是日后过了一周一个月半年,再回来找该文件的时候我们会发现,我们很难再找到我们所需要的东西,因为我们命名的方法并没有任何可寻的归类。

关于如何进行文件名管理,很久之前我已经发过一篇推文,阐述比较好的文件名管理方式:

看完我的推文后,也顺便总结一下视频作者给出的建议:

  • 使用日期开头(2018-09-05_xxxx),便于文件的sort
  • 不要使用空格
  • 命名要有意义,并且一致
  • 在重要的文件夹中写上Read.me文件进行内容记录(千万不要依赖你大脑去记住你做了什么,让电脑帮你去记录)

为一切东西写脚本记录

很喜欢一句话“如果你要做一个分析一次,那么你以后可能会做1000次一样的分析”。将你的每一步分析写成脚本,你一定会受益其中的:

  • 让你对分析更加清晰
  • 分析可以重复,并且进行流程化的分析
  • 会让你知道/避免分析中出现的错误(错误的参数,输入输出等)

这里视频作者也给出了一些相关的小技巧:

  • 当你对不同步骤整理了多个脚本后,可以使用流程对不同的步骤进行拟合。(流程整理的工具可以使用snakemake/nextflow等相关的工具)
  • 当你整理好流程后,需要对整个流程进行详细的介绍,以便日后的重复分析。
  • 当你需要重复使用到一段代码的时候,将它变成function,以便重复利用
  • 不要覆盖旧的脚本版本,保存为多个不同的版本以便进行tracking

另外对于如何进行脚本的记录,我以前也写过一篇文章,里面更加详细地介绍了如何进行脚本记录:

进行环境管理与版本控制

进行环境管理和版本控制也是决定一个分析是否能够重复的关键。这部分视频作者比较简单的带过了,没有进行太过仔细的分析。对于如何进行环境与版本管理,会推荐使用conda和docker。这里就先挖个坑,我日后给大家详细介绍。

总结

最后将上面的内容简单总结为几个小点:

  • 管理好你的项目文件名
  • 适当写READMEs进行信息记录
  • 将数据保持简洁,易读
  • 适当的在你的代码写上注释
  • 对软件版本进行管理
  • 自动化你的分享流程
  • 分享你所用的计算机环境

参考链接:

  1. https://speakerdeck.com/minecr/the-results-in-table-1-dont-seem-to-correspond-to-those-in-figure-2-427452c9-ca4f-4e35-b911-590e6c577430?slide=47
  2. https://www.biostat.wisc.edu/~kbroman/presentations/cmp2018.pdf

视频链接:

https://www.youtube.com/watch?v=994uO3U-R1c&feature=youtu.be

相关文章

网友评论

    本文标题:迈向可重复的生信分析

    本文链接:https://www.haomeiwen.com/subject/kpijmctx.html