使用 zcat 将 gzip 压缩文件传递给带有选项的工具

问题描述 投票:0回答:1

有人在这里提出了这样的问题,但从未得到解答。

我需要将 fastq 文件作为选项传递给不接受 gzip 压缩输入的工具。除了解压每一个之外真的没有其他选择吗?

当我通过 gzipped 版本时失败:

mytool -s sample.fastq.gz -f fastq -o output

出于绝望,我尝试过这个(显然不起作用):

mytool -s <(zcat | sample.fastq.gz) -f fastq -o output

我无法直接通过管道传输它,但是有没有比我在下面选择的更简单/更直接的方法?

zcat sample.fastq.gz > sample.fastq
mytool -s sample.fastq -f fastq -o output
rm sample.fastq

速度很慢,而且对于大量文件来说似乎带来了很多不必要的麻烦。我不是最擅长编码,但总是乐于学习新技巧。

谢谢!

command-line-arguments gunzip zcat compressed-files
1个回答
0
投票

您正在寻找 Bash 进程替换 功能,该功能将从您的 zcat 进程创建一个临时文件描述符,并将其作为参数传递给工具。如果您将

<(zcat | sample.fastq.gz)
替换为正确的语法
<(zcat sample.fastq.gz)
,它可能适用于您的工具。

许多生物信息学工具都需要一定的文件名约定。在这种情况下,您可以使用 FUSE 文件系统驱动程序,如此处

所述
© www.soinside.com 2019 - 2024. All rights reserved.