Hi,
I have text file with the header like this
tracking_id condition replicate FPKM
XLOC_000001 alpha 1 10.3199
XLOC_000001 alpha 0 10.3686
XLOC_000001 alpha 2 15.5619
...
With the first column being genes, the second being the condition, the third being the replicate number and the fourth being the relative gene expression. So I have about 15 000 genes tested, with three conditions (alpha, beta and low) and about between 11-13 replicates per condition (13 alpha, 11 beta and 11 low).
I want to change the format so along the top I have the 35 replicates along the top (i.e. the 13 alpha, 11 beta and 11 low), the genes down the side as they already are a FPKM value for each individual for each gene, something as follows
tracking_id 1 2 3 4 ..... 35
XLOC_00001 15 11 22 11 28
XLOC_00002 16 18 34 11 12
XLOC_00003 14 19 62 12 22
....
XLOC_15205
My knowledge of coding is v limited, so if someone could help me, either with a Perl script or a simple UNIX command line script, that would be really great.
Thanks!
Edit: I've added in a screen shot of the input (on the right) and what I want the output to look like. I did it in excel to make it a bit easier to see the columns, but I have them in text files too.
input
tracking_id condition replicate FPKM
XLOC_000001 alpha 1 10.3199
XLOC_000001 alpha 0 10.3686
XLOC_000001 alpha 2 15.5619
XLOC_000001 alpha 3 17.4901
XLOC_000001 alpha 4 5.73344
XLOC_000001 alpha 5 6.38582
XLOC_000001 alpha 6 13.2137
XLOC_000001 alpha 7 12.2629
XLOC_000001 alpha 8 9.99926
XLOC_000001 alpha 9 12.1221
XLOC_000001 alpha 10 10.5121
XLOC_000001 alpha 11 10.75
XLOC_000001 alpha 12 7.43817
XLOC_000001 alpha 13 7.36243
XLOC_000001 beta 0 12.5359
XLOC_000001 beta 1 11.2568
XLOC_000001 beta 2 10.0826
XLOC_000001 beta 3 9.53999
XLOC_000001 beta 4 7.37831
XLOC_000001 beta 5 5.46127
XLOC_000001 beta 6 7.86049
XLOC_000001 beta 7 7.86049
XLOC_000001 beta 8 11.8768
XLOC_000001 beta 9 13.6802
XLOC_000001 beta 10 9.68721
XLOC_000001 beta 11 9.03584
XLOC_000001 low 0 9.45804
XLOC_000001 low 1 9.54959
XLOC_000001 low 2 6.54958
XLOC_000001 low 3 3.23738
XLOC_000001 low 4 8.2976
XLOC_000001 low 5 5.60313
XLOC_000001 low 6 5.16253
XLOC_000001 low 7 6.5954
XLOC_000001 low 8 14.9347
XLOC_000001 low 9 9.66479
XLOC_000001 low 10 4.43241
XLOC_000001 low 11 5.78727
XLOC_000002 alpha 1 0
XLOC_000002 alpha 0 0
XLOC_000002 alpha 2 0
XLOC_000002 alpha 3 0
XLOC_000002 alpha 4 0
XLOC_000002 alpha 5 0
XLOC_000002 alpha 6 0
XLOC_000002 alpha 7 0.198545
XLOC_000002 alpha 8 0
XLOC_000002 alpha 9 0
XLOC_000002 alpha 10 1.50002
XLOC_000002 alpha 11 1.18404
XLOC_000002 alpha 12 0
XLOC_000002 alpha 13 0
XLOC_000002 beta 0 0
XLOC_000002 beta 1 0
XLOC_000002 beta 2 0.191399
XLOC_000002 beta 3 0.377084
XLOC_000002 beta 4 0
XLOC_000002 beta 5 0
XLOC_000002 beta 6 0
XLOC_000002 beta 7 0
XLOC_000002 beta 8 0
XLOC_000002 beta 9 0
XLOC_000002 beta 10 2.5607
XLOC_000002 beta 11 2.2376
XLOC_000002 low 0 0
XLOC_000002 low 1 0
XLOC_000002 low 2 1.37854
XLOC_000002 low 3 1.8105
XLOC_000002 low 4 2.57191
XLOC_000002 low 5 2.43143
XLOC_000002 low 6 0.777916
XLOC_000002 low 7 0.391041
XLOC_000002 low 8 0.545685
XLOC_000002 low 9 0.551643
XLOC_000002 low 10 0
XLOC_000002 low 11 0
output example. all the rows should look like the first two - i just had to add in a few spaces so they lined up correctly. and i just randomly added in the values into the table, but in the ouput they need to correspond to the FPKM values on the input.
tracking_id1(alpha) 2(alpha) 3(alpha) 4(alpha) 5(alpha) 6(alpha) 7(alpha) 8(alpha) 9(alpha) 10(alpha) 11(alpha) 1(beta) 2(beta
XLOC_000001 2 4 6 2 4 6 2 4 6 2 4 6
XLOC_000002 2 4 6 2 4 6 2 4 6 2 4 6
XLOC_000003 2 4 6 2 4 6 2 4 6 2 4 6
XLOC_000004 2 5 4 2 5 4 2 5 4 2 5 4
XLOC_000005 3 4 54 3 4 54 3 4 54 3 4 54
XLOC_000006 2 1 5 2 1 5 2 1 5 2 1 5
XLOC_000007 2 4 4 2 4 4 2 4 4 2 4 4
XLOC_000008 2 4 6 2 4 6 2 4 6 2 4 6
XLOC_000009 2 5 4 2 5 4 2 5 4 2 5 4
XLOC_000010 3 4 54 3 4 54 3 4 54 3 4 54
XLOC_000011 2 1 5 2 1 5 2 1 5 2 1 5
XLOC_000012 2 4 4 2 4 4 2 4 4 2 4 4
XLOC_000013 2 4 6 2 4 6 2 4 6 2 4 6
XLOC_000014 2 5 4 2 5 4 2 5 4 2 5 4
XLOC_000015 3 4 54 3 4 54 3 4 54 3 4 54
XLOC_000016 2 1 5 2 1 5 2 1 5 2 1 5
XLOC_000017 2 4 4 2 4 4 2 4 4 2 4 4
XLOC_000018 2 4 6 2 4 6 2 4 6 2 4 6
XLOC_000019 2 5 4 2 5 4 2 5 4 2 5 4
XLOC_000020 3 4 54 3 4 54 3 4 54 3 4 54