我有以下参数chr1 chr2 chr3
,+ -
和2 3
。
对于每个chr
,我想要+
和2
一次,-
和3
一次,就像这样:
parallel --whatflags-to-use?? echo {} {} {} ::: + - ::: 2 3 ::: chr1 chr2 chr3
+ 2 chr1
+ 2 chr2
+ 2 chr3
- 3 chr1
- 3 chr2
- 3 chr3
我最接近的是:
parallel --xapply echo {} {} {} ::: + - ::: 2 3 ::: chr1 chr2 chr3
+ 2 chr1
+ 2 chr3
- 3 chr2
我该怎么做?无法看到精彩教程中的内容,所以也许这是不可能的......
答案 0 :(得分:3)
parallel echo {} ::: '+ 2' '- 3' ::: chr1 chr2 chr3
如果你需要参数split,那就更难了:你想要一个参数依赖另一个:
parallel echo strand='{=1 $_=$_==2?"+":"-"=}' read={1} chrom={2} ::: 2 3 ::: chr1 chr2 chr3
可替换地:
parallel --xapply echo str={1} read={2} chrom={3} ::: + - ::: 2 3 ::: chr{1,1,2,2,3,3}
parallel --colsep ' ' echo str={1} read={2} chrom={3} ::: '+ 2' '- 3' ::: chr{1..3}
答案 1 :(得分:0)
parallel --xapply echo {} {} {} ::: + - + - + - ::: 2 3 2 3 2 3 ::: chr1 chr2 chr3
+ 2 chr1
- 3 chr1
+ 2 chr3
- 3 chr2
+ 2 chr2
- 3 chr3
是解决它的一种方法,但它相当愚蠢,因为我有25条染色体(chr)所以我必须每次写+ -
和2 3
25次。