首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

nextflow中间错误文件的删除

nextflow是一款强大的流程化语言,它可以串接脚本、命令形成流程,有着可以实现顺序输出的功能。还有一款语言和它功能类似,那就是makefile,两个语言虽然有着诸多不同,但是都可以实现总的流程搭建,以下是两种语言编写的流程风格。

nextflow:

makefile:

对于makefile,中间文件的生成都依赖于提供的命令行命令,文件名和文件路径都需要给定,很明确,即使程序出错,再次运行时也会覆盖旧的文件。而在nextflow流程中,很多的流程目录及文件都采用内存码来运行,程序出错退出后,再次运行时分配的内存码并不一致,这就导致了之前的错误文件不会被删除,也就会积累大量的垃圾,比如在比对时,就会生成很多无用的bam中间文件。

在nextflow运行过程中,一些时间和流程信息会被储存在trace文件中,信息如下。

在以上的trace文件中,截取的信息是报错后生成的信息。

#第一列是指系统分配的进程序列号

#第二列是work目录下文件目录信息,如56/3fe5ef是指在56文件目录下存在以3fe5ef开头的目录,这些目录名均是生成的内存码,不固定,不唯一,无重复

#第三列是任务号

#第四列进程名称

#第五列是进程状态,ABORTED表示中断,此数据无用,占用集群资源,可以删除,COMPLETED表示运行结束…

需要删除的数据就是显示状态为ABORTED目录以及生成的空目录。

错误文件的删除:

cattrace*|grep ABORTED|cut -f 2 | awk ''> del.sh

#如果目录和上述目录有区别,更改一下命令行的awk输出信息即可

空文件的删除(在输出目录下执行):

find-type d -empty |awk '' >> del.sh

#如果目录结构有出入,只需更改相应的命令参数即可

在准备好del.sh文件后,执行脚本即可。

对于nextflow脚本的编写,我也不太会,不过网上有很多资源,有兴趣可以去github搜索一下,有很多,可以学习学习。

小技巧:很多软件安装包中都会有一个以makefile命名的文件,软件安装过程中需要用make编译,这就是一个接触makefile的好机会,有兴趣可以学习一下。悄悄告诉你,下面官网说明的网站中就有一个makefile文件。有关于makefile具体的使用和执行我之后在和大家分享。

参考:

官网说明:https://github.com/nextflow-io/nextflow

rna分析流程:https://github.com/ericaenjoy3/rna_nf/blob/master/rna.nf

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180724G1VLT100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券