平时我们对每个基因组做了BUSCO,但是官方提供的画图代码很难用,所以决定自己提取出BUSCO的结果并进行画图,这一串代码就可以批量从BUSCO的结果中提取出我们想要的结果:
# 提取数字并写入txt文件
echo "voucher C S D F M" > busco_summary_table.txt;
for i in $(cat list.txt); do
filename="${i}/busco/short_summary.specific.agaricales_odb10.busco.txt"
if [ -f "$filename" ]; then
# 提取数据
data=$(grep -oP 'C:([\d.]+)%\[S:([\d.]+%),D:([\d.]+)%\],F:([\d.]+)%,M:([\d.]+)%,n:\d+' "$filename" | awk -F'[:,%[]' '{print $2, $5, $8, $11, $14}')
# 将数据写入表格
echo "${i} $data" >> busco_summary_table; else
echo "${i} There is no BUSCO results in ${i}!" >> busco_summary_table;
fi
done
网友评论