У меня есть 44 .tsv файла в одной папке, и я хочу вычислить количество пересечений каждого попарно с помощью команды пересечения инструмента bedtools. каждый выходной файл будет иметь 4 столбца, и мне просто нужно сохранить только сумму значений столбца 4 в каждом выходном файле. Я могу сделать это легко, когда я делаю это по одному, но когда я использую параллельную обработку для выполнения всего процесса одновременно, я получаю синтаксическую ошибку
Вот код и результат, когда я пробую каждые две пары по одной вручную
$ bedtools intersect -a p1.tsv -b p2.tsv -c
chr1 1 5 1
chr1 8 12 1
chr1 18 20 1
chr1 21 25 0
bedtools intersect -a p1.tsv -b p2.tsv -c | awk '{sum+=$4} END {print sum}
3
Вот код и результат, когда я использую параллельную обработку
$ parallel "bedtools intersect -a {1} -b {2} -c |awk '{sum+=$4} END {print sum}'> {1}.{2}.intersect" ::: `ls *.tsv` ::: `ls *.tsv`
awk: cmd. line:1:{sum+=} END {print sum}
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1:{sum+=} END {print sum}
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1:{sum+=} END {print sum}
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1:{sum+=} END {print sum}
awk: cmd. line:1: ^ syntax error
Результат должен составлять 44 * 44 файла, которые содержат одно единственное значение, например 3