我如何表示参数是相关的?

How do I denote that arguments are related?

我有以下参数 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

我该怎么做?在精彩的教程中看不到如何,所以可能是不可能的...

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 次。

parallel echo {} ::: '+ 2' '- 3' ::: chr1 chr2 chr3

如果您需要拆分参数,则有点困难:您希望一个参数依赖于另一个参数:

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}