问题描述
我正在尝试执行以下命令。我在df['From to'] = df['last status'] + '->' + df['status']
中列出了100个样本。我想将每个样本用作输入并执行命令并输出到OUTPUT.csv。但是,在适当的过程中,我也想执行2秒钟的睡眠。我在这里如何使用此代码?
100_samples_list.txt
我试图在上面的代码的第一行中插入sleep 2,但是它不起作用
parallel -j3 \
"IFS=$'\n';"'for hit in \
$(esearch -db sra -query {} | efetch --format runinfo | grep SRR); do \
echo "{},${hit}"; done' \
:::: "100_samples_list.txt" \
| sort -t,-k9,9rn >> OUTPUT.csv
解决方法
我假设您要等待2秒钟才能开始新工作:
doit() {
sample="$1"
IFS=$'\n'
for hit in $(esearch -db sra -query "$sample" | efetch --format runinfo | grep SRR); do
echo "$sample,${hit}";
done
}
export -f doit
parallel --delay 2 -j3 doit :::: "100_samples_list.txt" | sort -t,-k9,9rn >> OUTPUT.csv