2015-04-09 3 views
3

У меня есть следующие аргументы 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 

Как сделать это? Не удалось увидеть, как в гениальном руководстве, так что, возможно, это не возможно ...

ответ

3
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} 
+0

От 20160422 вы сможете to: parallel echo str = {1} read = {2} chrom = {3} ::: + - ::: + 2 3 ::: chr {1,2,3} –

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 раз каждый.

Смежные вопросы