如何使用 GNU 并行从目录提供文件输入并在不同的目录中生成输出?
How to give file input from a dir and produce the output in a different dir using GNU parallel?
我正在尝试使用 parallel
让 bam 使用 samtools
进行排序和索引,并在给定的 output_dir
中生成输出,但遇到了一些问题。
到目前为止,我尝试了以下方法,它正在运行,但我不希望 output_dir
中的目录名称“1”,也不想在 input_dir
.
中获取结果文件
parallel --results output_dir 'samtools sort -o {.}.sorted.bam {}' ::: input_dir/*.bam
根据评论,这不起作用:
parallel 'samtools sort -o output_dir/{.}.sorted.bam {}' ::: input_dir/*.bam
我收到错误
“[E::hts_open_format] Failed to open file output_dir/input_dir/A-8_20181222_0036.sorted.bam”
注意:这只是一个工具 (samtools
) 我在问,但我将使用其他工具,这些工具使用 --output
/ -o
标志生成输出。
如果您的问题是“我怎样才能添加一个不同的目录而不是输入目录”,只需将其逐字放在 {/.}
标记之前。 (您有 {.}
但我们还想要 trim 目录名称。)
parallel 'samtools sort -o output_dir/{/.}.sorted.bam {}' ::: input_dir/*.bam
有关更多想法,请参阅 the manual,您可以对输入标记执行大量转换。
我正在尝试使用 parallel
让 bam 使用 samtools
进行排序和索引,并在给定的 output_dir
中生成输出,但遇到了一些问题。
到目前为止,我尝试了以下方法,它正在运行,但我不希望 output_dir
中的目录名称“1”,也不想在 input_dir
.
parallel --results output_dir 'samtools sort -o {.}.sorted.bam {}' ::: input_dir/*.bam
根据评论,这不起作用:
parallel 'samtools sort -o output_dir/{.}.sorted.bam {}' ::: input_dir/*.bam
我收到错误
“[E::hts_open_format] Failed to open file output_dir/input_dir/A-8_20181222_0036.sorted.bam”
注意:这只是一个工具 (samtools
) 我在问,但我将使用其他工具,这些工具使用 --output
/ -o
标志生成输出。
如果您的问题是“我怎样才能添加一个不同的目录而不是输入目录”,只需将其逐字放在 {/.}
标记之前。 (您有 {.}
但我们还想要 trim 目录名称。)
parallel 'samtools sort -o output_dir/{/.}.sorted.bam {}' ::: input_dir/*.bam
有关更多想法,请参阅 the manual,您可以对输入标记执行大量转换。