Skip to content

Instantly share code, notes, and snippets.

@zorbax
Created May 23, 2019 03:56
Show Gist options
  • Save zorbax/abdfac2aaa4e8ae32b5e6d3f72f84a59 to your computer and use it in GitHub Desktop.
Save zorbax/abdfac2aaa4e8ae32b5e6d3f72f84a59 to your computer and use it in GitHub Desktop.
#!/bin/bash
usage ()
{
echo ""
echo "Usage : `basename $0` <tableL6.txt> <L6_clean.tsv>"
echo ""
exit
}
if [ "$1" = "" ]; then
usage
fi
if [ "$2" != "" ]; then
cat $1 | head -2 | tail -1 | sed 's/ /_/; s/#//' | perl -pe 's/$/\tSum/' > fx_ids_rel
cat $1 | sed 's/\[\|\]//g; s/ /_/g; s/k__//' | grep "g__[a-zA-Z]" | \
perl -pe 's/\;[pcofg]\_\_/\|/g' > fx_genus_asssigned_rel
cat $1 | grep -v \# | sed 's/\[\|\]//g; s/ /_/g' | grep -v "g__[a-zA-Z]" | \
sed 's/;c__;o__;f__;g__//; s/;o__;f__;g__//; s/;f__;g__//; s/;g__\t/\t/; s/k__//' | \
perl -pe 's/\;[pcofg]\_\_/\|/g; s/\;Other{1,}/\+/g' > fx_genus_unasssigned_rel
cat fx_genus_asssigned_rel fx_genus_unasssigned_rel | sort | \
awk 'BEGIN {FS=OFS="\t"} { sum=0; n=0 ;for(i=3;i<=NF;i++) {sum+=$i; ++n} print $0, sum }' |\
awk -F'\t' '$NF!="0"' | grep -v Unassigned > fx_sum_rel
cat fx_ids_rel fx_sum_rel > fx_tmp_rel
awk -v OFS='\t' -F'\t' 'NF{NF--};1' < fx_tmp_rel > $2 && rm fx*rel
else
echo ""
echo "Parameter Not Valid!"
exit 0
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment