ubuntu系统操作以及软件安装

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
上一篇下一篇

猜你喜欢

热点阅读