-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathotu_sample.sh
42 lines (38 loc) · 2.16 KB
/
otu_sample.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
########################################################################################################################################
awk '($10!="*"){
split($9,s,"_");
if(!otu[$10]){i++;otu[$10]=i};
if(!sample[s[2]"_"s[3]"_"s[4]]){j++;sample[s[2]"_"s[3]"_"s[4]]=j};
a[otu[$10],sample[s[2]"_"s[3]"_"s[4]]]=a[otu[$10],sample[s[2]"_"s[3]"_"s[4]]]+1}
END{
for (k in sample){print sample[k],k}
}' JoeEdward_trial.txt |
sort -n -k 1,1 |
awk '{if(NR<17){printf "%s ",$2}else{printf "%s\n",$2}}' > sample.txt ## here, 17 = sample# - 1 ##
###########################################################################################################################################
awk '($10!="*"){
split($9,s,"_");
if(!otu[$10]){i++;otu[$10]=i};
if(!sample[s[2]"_"s[3]"_"s[4]]){j++;sample[s[2]"_"s[3]"_"s[4]]=j};
a[otu[$10],sample[s[2]"_"s[3]"_"s[4]]]=a[otu[$10],sample[s[2]"_"s[3]"_"s[4]]]+1}
END{
for(m=1;m<=i;m++){
for (n=1;n<j;n++){
if(!a[m,n]){printf "%d ",a[m,n]=0}else{printf "%d ",a[m,n]}
};
if(!a[m,j]){printf "%d\n",a[m,n]=0}else{printf "%d\n",a[m,n]}
}
}' JoeEdward_trial.txt > data.txt
##########################################################################################################################################
awk '($10!="*"){
split($9,s,"_");
if(!otu[$10]){i++;otu[$10]=i};
if(!sample[s[2]"_"s[3]"_"s[4]]){j++;sample[s[2]"_"s[3]"_"s[4]]=j};
a[otu[$10],sample[s[2]"_"s[3]"_"s[4]]]=a[otu[$10],sample[s[2]"_"s[3]"_"s[4]]]+1}
END{
for (k in otu){print otu[k],k}
}' JoeEdward_trial.txt |
sort -n -k 1,1 |
awk 'BEGIN{print "otu"}{print $2}' > otu.txt
###########################################################################################################################################
cat sample.txt data.txt | paste otu.txt - | less -S