试想一下,如果你有很多数据,在不断的分析过程中你可能会产生很多很多文件,然后有一天你在运行这个项目6个月后,你或者你的老板想重复你第一个月所做的分析,又或者当你投稿发文章时,某些杂志的编辑需要你提供详尽的分析过程。 在这样情况下,如果你没有很好的记录下,你当时运行文件的每一步,这将会是一个灾难性的时刻,因为你要花很多时间去思考你当时做了什么,还可能要逐一查看每一个生成的文件,进而推断出当时运行的代码。这是一个很多生信新手都会遇到的问题,因此如何正确的将他们归类管理,并适当记录当时的流程步骤,就变得非常的重要了。 管理文件的基本原则管理我们数据文件有两个最重要的原则。
文件夹的管理结构下面以“A Quick Guide to Organizing Computational Biology Projects” 这篇文章所提到的结构给大家做一个简单的事例: 在一个项目中,我们可以将所需的文件分成五大块。第一数据(data),储存你所用的所有的raw data数据。第二结果(results),存储每一步你所做所做的分析得到的结果文件。第三编写的代码(src),存储你分析过程中用到的代码或者你所编写的代码。第四工具(tool),存储一些这个项目特定使用到的工具,一般是第三方已经编写好的,你下载下来的工具。个人习惯是,对于普遍使用到的工具,可以放在home/biosoft的文件夹里,方便在不同project中全局调用。第五,文件(doc),存放你发表paper所用到的图和表。 文献中作者,提议我们可以使用按时间顺序来命名下层文件夹来管理我们所生成的文件。个人觉得可以在此基础上再添加一些具体的分析信息,例如2009-01-23_Mapping。 这样一分类,整体的结构还有思路就很清晰了,极大的增加了该项目的'可读”性还有重复性。 代码/实验流程步骤记录现在有很多记录的软件可以用来记录我们分析所用到的代码和参数,这里推荐使用Jupyter notebooks。http:// 推荐的原因,不但可以记录日常的所用的代码,还可以分享你所得到的分析结果。另外Jupyter notebooks,还有内置的RStudio or IPython, 你可以一边写代码,一边检验修改他。前一段时间生信菜鸟团的其他小编还推荐了一个网上云端版的Jupyer notebooks,更加方便了我们使用该软件(特别对一些不会安装Jupyer notebooks,并联系本地的python和R的同学来说是个福音)。 总结在湿实验室中,我们有时候很难百分百完全再重复你所做的实验。但是,在生物信息的分析中,只要我们掌握好记录和管理文件的技巧,重复一个数据分析的流程是再简单不过了。 参考文章: Noble, W. S. (2009). A quick guide to organizing computational biology projects. PLoS computational biology, 5(7), e1000424. |
|