我对信息学相对较新,刚刚发现了qt5_wrap_ui(UI_HEADERS mainwindow.ui)
命令的优点。但是,我在使用管道和输出时遇到了麻烦。
我正在使用此命令:
parallel
parallel -j 2 echo ./hisat2 --dta -p 32 -x path/to/index -U {} | ./samtools view -b - > /path/to/storage/folder/{/.}.bam :::: fs1 > executable.sh
包含我要运行的所有文件的列表。 fs1
是可执行命令列表。我希望fs1中列出的每个文件都由程序(称为executable.sh
)单独处理,并且输出sam文件将转换为带有samtools的bam格式。然而,它似乎不喜欢管道 - 它抱怨以下:
hisat2
我怎样才能克服这一点?是唯一的方法来首先处理所有文件到山姆,然后并行bam转换?
答案 0 :(得分:0)
您需要引用管道和重定向:
parallel -j 2 "./hisat2 --dta -p 32 -x path/to/index -U {} | ./samtools view -b - > /path/to/storage/folder/{/.}.bam" :::: fs1
使用--dry-run
查看要运行的内容:
parallel --dry-run -j 2 "./hisat2 --dta -p 32 -x path/to/index -U {} | ./samtools view -b - > /path/to/storage/folder/{/.}.bam" :::: fs1
(您确定samtools
是否在当前目录中?通常是为更广泛的受众群体安装的。)
我建议你花一个小时走过man parallel_tutorial
吗?你的命令行会爱你。