В каталоге с именем output
у меня есть 500 имен каталогов sample1_ouput ----- sample500_output
Например, три файла, а именно sample1_output sample2_output sample3_output
Каждый каталог *_output
содержит quant.sf
файл с заголовком:
Имя Длина EffectiveLength TPM NumReads
quant.sf Файл 1:
Name Length EffectiveLength TPM NumReads
S1 681 459.000 0.000000 0.000
S2 816 594.000 0.000000 0.000
S3 1665 1330.658 0.047059 1.000
S4 821 599.000 0.000000 0.000
S5 252 48.000 0.000000 0.000
S6 180 13.000 0.000000 0.000
S7 507 285.000 0.000000 0.000
S8 498 276.000 0.000000 0.000
S9 327 108.000 0.000000 0.000
quant.sf Файл 2:
Name Length EffectiveLength TPM NumReads
S1 681 458.000 0.000000 0.000
S2 816 593.000 0.000000 0.000
S3 1665 1442.000 0.000000 0.000
S4 821 598.000 0.000000 0.000
S5 252 49.000 0.000000 0.000
S6 180 14.000 0.000000 0.000
S7 507 284.000 0.000000 0.000
S8 498 275.000 0.000000 0.000
S9 327 108.000 0.000000 0.000
quant.sf Файл 3:
Name Length EffectiveLength TPM NumReads
S1 681 456.000 0.000000 0.000
S2 816 591.000 0.000000 0.000
S3 1665 1440.000 0.000000 0.000
S4 821 596.000 0.000000 0.000
S5 252 48.000 0.000000 0.000
S6 180 13.000 0.000000 0.000
S7 507 282.000 0.050000 0.000
S8 498 273.000 0.000000 0.000
S9 327 106.000 0.000000 0.000
Я хочу сделать один файл со столбцом 1 в виде Name
, а затем TPM
столбцов из всех файлов, составляющих в общей сложности 501 столбец для окончательного файла. Я хочу, чтобы у каждого столбца TPM было то же имя, что и у имени образца каталога, путем удаления суффикса _output
. Окончательный пример выходного файла:
Name sample1 sample2 sample3
S1 0.000000 0.000000 0.000000
S2 0.000000 0.000000 0.000000
S3 0.047059 0.000000 0.000000
S4 0.000000 0.000000 0.000000
S5 0.000000 0.000000 0.000000
S6 0.000000 0.000000 0.000000
S7 0.000000 0.000000 0.050000
S8 0.000000 0.000000 0.000000
S9 0.000000 0.000000 0.000000
Я пытался:
paste *sf | cut -f 1,4,9,14-----n | grep -v "TPM" > output
Но он извлекает столбец Имя более одного раза.