在GNU Parallel日志报告中包括命令屏幕输出

时间:2018-11-13 13:28:46

标签: bash parallel-processing mothur

我有一个脚本使用GNU Parallel多次调用另一个脚本。这是我的并行化代码的重要部分:

export PTH_data={my input path}
export WDIR={my output path}
export idsuffix=\.'[1-2]'
export R1=${idsuffix/\[1-2\]/1}
export R2=${idsuffix/\[1-2\]/2}
export raw_extns='.fastq.gz'

## IDs is a txt file with one column containing the sample names.
inputFile=$(cat $PTH_data/IDs.txt | awk '{ print $1 }')

parallel "./bin/scr/MOTHUR_run.sh {1} > logs/parallel_{1}.log" ::: $inputFile 

这里是称为MOTHUR_run.sh的脚本:

#!/bin/bash

echo -e "MOTHUR pipeline for 16S analysis.
Analyzing sample "$(awk '/'$1'/{ print NR; }' $PTH_data/TotalIDs.txt)" of "$(< $PTH_data/TotalIDs.txt wc -l)".
Input files (FW & RV): 
- $1$R1$raw_extns 
- $1$R2$raw_extns"

echo -e "\n>>> TRIMMING ACTIVATED\n"
module load jdk/8u181
java -jar ./Trimmomatic-0.36/trimmomatic-0.36.jar PE -phred33 $WDIR/$1$R1.fastq $WDIR/$1$R2.fastq \
$WDIR/$1$R1'_paired.fastq' $WDIR/$1$R1'_unpaired.fastq.gz' $WDIR/$1$R2'_paired.fastq' $WDIR/$1$R2'_unpaired.fastq.gz' \
LEADING:3 TRAILING:3 SLIDINGWINDOW:20:30 MINLEN:220
ffile="$WDIR/"$1$R1"_paired"
rfile="$WDIR/"$1$R2"_paired"
module unload jdk/8u181
echo -e "\n>>> TRIMMING FINISHED\n"

module load intel/2018.5.274 mothur/1.40.5 vsearch/2.9.1

mothur "#summary.seqs(fasta=$(echo $ffile.trim.contigs.fasta))"

(And more code...)

我希望以相同的执行顺序在并行日志文件中包含修剪屏幕输出。回声部分正常工作,并且mothur命令还将其屏幕输出自动包括在日志文件中。

有什么想法吗?

0 个答案:

没有答案