Busco结果批量提取记录2020-09-21
2020-09-21 本文已影响0人
土雕艺术家
name=${filename%_*}
#:表示从左边算起第一个
%:表示从右边算起第一个
##:表示从左边算起最后一个
%%:表示从右边算起最后一个
换句话来说,#总是表示左边算起,%总是表示右边算起。
*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的'/'和'.')的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的'/'和'.')的右边,表示删除指定字符及其右边的内容。这里的'*'的位置不能互换,即不能把*号放在#或##的右边,反之亦然。
例如:${var%%x*}表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。
cd $DIR_data
ls -1 > $DIR_output/list.txt
echo "name,C,S,D,F,M,n,Complete_c,Complete_s" >> $DIR_output/staphy-sum"$DATE".csv
for filename in $(cat $DIR_output/list.txt)
do
name=${filename%_*}
cd $DIR_data/$filename
Dir_summary=$DIR_data/$filename/"$name"_busco/run_*/short_summary_*.txt
#bsuco_summary
percent=$(grep '%' $Dir_summary)
C=$(echo $percent | awk -F':' '{print$2}' | awk -F'%' '{print $1}')
S=$(echo $percent | awk -F':' '{print$3}' | awk -F'%' '{print $1}')
D=$(echo $percent | awk -F':' '{print$4}' | awk -F'%' '{print $1}')
F=$(echo $percent | awk -F':' '{print$5}' | awk -F'%' '{print $1}')
M=$(echo $percent | awk -F':' '{print$6}' | awk -F'%' '{print $1}')
n=$(echo $percent | awk -F':' '{print$7}')
Complete_c=$(grep 'Complete BUSCOs' $Dir_summary | awk '{print $1}' )
Complete_s=$(grep 'Complete and single-copy BUSCOs' $Dir_summary | awk '{print $1}' )
echo "$name,$C,$S,$D,$F,$M,$n,$Complete_c,$Complete_s" >> $DIR_output/staphy-sum"$DATE".csv
echo $name is ok
done
echo ok