我有一个脚本,它接受三个参数并运行如下:
myscript.sh input1.fa input2.fa out.txt
脚本从input1.fa
和input2.fa
读取一行,进行一些比较,并将结果写入out.txt
。这两个输入需要具有相同的行数,并且out.txt
在脚本完成后也将具有相同的行数。
是否可以使用GNU parallel
对此进行并行化?
我并不关心输出与输入的顺序不同,但我需要将i
input1.fa
行i
与input2.fa
行进行比较output{#}
1}}。此外,如果我获得多个输出文件(例如cat
)而不是一个 - 我只会split
将它们放在一起,这是可以接受的。
我找到了this主题,但答案并不是我想要的。
我知道我可以xargs
两个输入文件并使用{{1}}成对并行处理它们,但如果可能的话,我想在一行中执行此操作...
答案 0 :(得分:0)
如果您可以更改myscript.sh,那么它从管道中读取并写入管道即可:
paste input1.fa input2.fa | parallel --pipe myscript.sh > out.txt
所以在myscript中你需要从STDIN读取并在TAB上拆分以从input1和input2获取输入。