small script correction

input

cz1	87942437    	87952030    	M_001144992	0   	+   	87942537	87949664    	0   	3   	710,114,2506,   0,2725,7087,

script

awk '{
 n11 = split($11, t11, ",")
 n12 = split($12, t12, ",")
 for (i = 0; ++i < n11;) {
       s12 = $2 + t12
   print $4"_xon"i, "\t",$4"_xon"i,"\t", $1, "\t",  $6, "\t", s12, "\t", s12 + t11, "\t",$7,"\t"$8,"\t"$10,"\t"$11,"\t",$12
       }
 }' input

output

M_001144992_xon1 	 M_001144992_xon1 	 cz1 	 + 	 87942437 	 87943147 	 87942537 	87949664 	3 	710,114,2506, 	 0,2725,7087,
M_001144992_xon2 	 M_001144992_xon2 	 cz1 	 + 	 87945162 	 87945276 	 87942537 	87949664 	3 	710,114,2506, 	 0,2725,7087,
M_001144992_xon3 	 M_001144992_xon3 	 cz1 	 + 	 87949524 	 87952030 	 87942537 	87949664 	3 	710,114,2506, 	 0,2725,7087,

Needed output
output

M_001144992_xon1 	 M_001144992_xon1 	 cz1 	 + 	 87942437 	 87943147 	 87942537 	87949664 	1 	710,	 0,
M_001144992_xon2 	 M_001144992_xon2 	 cz1 	 + 	 87945162 	 87945276 	 87942537 	87949664 	1 	114, 	 2725,
M_001144992_xon3 	 M_001144992_xon3 	 cz1 	 + 	 87949524 	 87952030 	 87942537 	87949664 	1 	2506, 	 7087,

Try:

awk '{
 n11 = split($11, t11, ",")
 n12 = split($12, t12, ",")
 for (i = 1; i<n11; i++) {
       s12 = $2 + t12
   print $4"_xon"i, "\t",$4"_Exon"i,"\t", $1, "\t",  $6, "\t", s12, "\t", s12 + t11, "\t",$7,"\t"$8,"\t"$10,"\t"t11,"\t",t12
       }
 }' input
1 Like