我每个样本都有几个fastq文件,所有这些文件都应该同时作为输入提供(因为它们都属于一个样本,所以它们不应该被独立地对待,就像在一个for循环中一样,因为它们是一个样本的输入,所以应该一起处理)。
当s1示例只有三个fastq文件时,这是一个简单的示例:
NanoPlot -t 2 --fastq s1.reads1.fastq.gz s1.reads2.fastq.gz s1.reads3.fastq.g --maxlength 40000 --plots hex dot现在假设我有超过100个用于s1的fastq文件,我如何修改命令以将它们全部作为输入?
发布于 2023-04-14 20:45:13
因此,我的建议是向NanoPlot提供一个文件名作为参数,其中包含FASTQ文件列表,并相应地在程序中处理该列表。
NanoPlot -t 2 --fastq fastq_files.list --maxlength 40000 --plots hex dotfastq_files.list的内容如下:
s1.reads1.fastq.gz
s1.reads2.fastq.gz
s1.reads3.fastq.gz
...etc发布于 2023-04-15 13:54:32
如果这适用于NanoPlot:
NanoPlot -t 2 --fastq s1.reads1.fastq.gz s1.reads2.fastq.gz s1.reads3.fastq.gz --maxlength 40000 --plots hex dot并且您希望传递所有文件名,从s1.开始,以.fastq.gz结尾,那么简单的shell glob也可以这样做:
NanoPlot -t 2 --fastq s1.*.fastq.gz --maxlength 40000 --plots hex dotshell应该按照通常的字典顺序对文件名进行排序,因此数字排序为1 < 10 < 11 < 2等等,因此如果这一点重要的话,请小心。
如果希望程序看到包含来自所有此类文件的数据的单个文件,则可以使用cat进行进程替换(在Bash/ksh/zsh中):
NanoPlot -t 2 --fastq <(cat s1.*.fastq.gz) --maxlength 40000 --plots hex dothttps://unix.stackexchange.com/questions/742926
复制相似问题