I'm trying to count sum of of occurrences for each C T A G per line, and output it in the end of each respective line. So, my input looks like this
NC_044998.1 3749 0 GG 0 GG 0 GG 0 GG 1 GC 0 GG 0 GG 0 GG 0 GG 0 GG 0 GG
NC_044998.1 3755 1 TA 0 TT 0 TT 1 TA 1 TA 1 TA 1 TA 0 TT 1 TA 0 TT 1 TA
NC_044998.1 4012 0 TT 1 TA 1 TA 0 TT 0 TT 0 TT 0 TT 1 TA 0 TT 1 TA 0 TT
NC_044998.1 5298 1 GA 0 GG 0 GG 0 GG 0 GG 0 GG 0 GG 0 GG 1 GA 0 GG 0 GG
Desired output looks like this
NC_044998.1 3749 0 GG 0 GG 0 GG 0 GG 1 GC 0 GG 0 GG 0 GG 0 GG 0 GG 0 GG 1 0 0 21
NC_044998.1 3755 1 TA 0 TT 0 TT 1 TA 1 TA 1 TA 1 TA 0 TT 1 TA 0 TT 1 TA 0 15 7 0
NC_044998.1 4012 0 TT 1 TA 1 TA 0 TT 0 TT 0 TT 0 TT 1 TA 0 TT 1 TA 0 TT 0 18 4 0
NC_044998.1 5298 1 GA 0 GG 0 GG 0 GG 0 GG 0 GG 0 GG 0 GG 1 GA 0 GG 0 GG 0 0 2 20
I've tried to adapt this, but it only print 0 0 0 0 for all lines
BEGIN {
numTags = split("C T A G",tags)
}
{
s = 0
for (i=4; i<=24; i+=2) {
for (j=1; j<=2; ++j)
tag = substr($i,j,1)
s+=tag
}
printf "%s", $0
for (tagNr=1; tagNr<=numTags; tagNr++) {
s = tags[tagNr]
printf "%s%d", OFS, s
}
print ""
}