将两个字符的列读作两个单独的列

use*_*089 4 awk text-processing text-formatting

我有一个包含基因型数据的文件。第二列将特定遗传变异的两个等位基因串联在一起,如下所示。

rs969931    CA  1.000   2.000   2.000   2.000   2.000   2.000   1.000   1.000
rs2745406   CT  0.000   2.000   2.000   1.000   1.000   2.000   1.000   1.000
rs6939431   AG  0.000   0.000   0.000   0.000   0.000   0.000   1.000   0.000
rs1233427   AG  1.000   2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs1233426   AG  1.000   2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs1233425   GC  1.000   1.999   1.999   2.000   2.000   2.000   1.000   1.000
rs362546    GA  1.000   2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs909968    AG  0.000   2.000   2.000   1.000   1.000   1.000   1.000   1.000
rs909967    GA  1.000   2.000   2.000   2.000   2.000   2.000   1.000   1.000
rs886381    AG  0.000   0.000   0.000   0.000   0.000   0.000   0.000   1.000
Run Code Online (Sandbox Code Playgroud)

我需要使用等位基因作为两个单独的列创建一个新文件,即将第二列拆分为两列。所需的输出如下。有没有办法在 awk 中指定多个字段分隔符来实现这一点?

rs969931    C A  1.000  2.000   2.000   2.000   2.000   2.000   1.000   1.000
rs2745406   C T  0.000  2.000   2.000   1.000   1.000   2.000   1.000   1.000
rs6939431   A G  0.000  0.000   0.000   0.000   0.000   0.000   1.000   0.000
rs1233427   A G  1.000  2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs1233426   A G  1.000  2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs1233425   G C  1.000  1.999   1.999   2.000   2.000   2.000   1.000   1.000
rs362546    G A  1.000  2.000   2.000   2.000   2.000   1.000   1.000   1.000
rs909968    A G  0.000  2.000   2.000   1.000   1.000   1.000   1.000   1.000
rs909967    G A  1.000  2.000   2.000   2.000   2.000   2.000   1.000   1.000
rs886381    A G  0.000  0.000   0.000   0.000   0.000   0.000   0.000   1.000
Run Code Online (Sandbox Code Playgroud)

ter*_*don 5

您可以使用中的sub函数来做到这一点awk

awk 'sub(/./,"& ",$2)1;' file
Run Code Online (Sandbox Code Playgroud)

如果你想要制表符分隔的输出,你可以使用:

awk -v OFS="\t" 'sub(/./,"&\t",$2)1;' file
Run Code Online (Sandbox Code Playgroud)

或者在各种其他工具中: