Lendo duas listas contendo nomes de arquivos

2

Estou usando duas listas com nomes de arquivos com caminhos e usando o gnu-parallel para processar os arquivos das duas listas. No entanto, o comando é capaz de usar apenas os arquivos da primeira lista e não a segunda lista, quando eu verificar minha saída. Eu tentei várias opções neste exemplo. dando o tipo de arquivo em --readFilesIn (que é onde o erro está)

reads_list=/comb_fastq/fq1.list
reads_list2=/comb_fastq/fq2.list

for fastq in 'cat $reads_list';do
  rsync -av $fastq $TMPDIR/input/ 
done

for fastq in 'cat $reads_list2';do
     rsync -av $fastq $TMPDIR/input2/
done

parallel -j $NSLOTS --xapply \
  "STAR \
--genomeDir $TMPDIR/reference_genome \
--genomeLoad LoadAndKeep \
--runThreadN 4 \
--readFilesIn ../input/{1} ../input2/{1}
    
por Ron 03.12.2014 / 17:20

1 resposta

4

Você não está dizendo ao GNU Parallel $ reads_list e $ reads_lists. Por isso estou intrigado sobre como você esperaria que o GNU Parallel adivinhe que deveria usá-los.

Ao rsyncing em paralelo à medida que vamos (em vez de tudo antes de executar o primeiro trabalho), pode ser mais rápido também. Meu palpite é que isso é suficiente:

parallel -j $NSLOTS --xapply \
  "rsync {1} $TMPDIR/input/{1};\
  rsync {2} $TMPDIR/input2/{2};\
  STAR \
  --genomeDir $TMPDIR/reference_genome \
  --genomeLoad LoadAndKeep \
  --runThreadN 4 \
  --readFilesIn ../input/{1} ../input2/{2}" :::: $reads_list $reads_list2

Considere a possibilidade de acessar o tutorial link , que trata disso e muito mais. Sua linha de comando vai te amar por isso.

    
por 03.12.2014 / 17:52