用 DNA 字母替换数字基因型代码

Replace numeric genotype code with DNA letter

如何用 DNA 字母替换数字基因型代码? 我有一个修改后的 vcf 文件,看起来像这样:

POS REF ALT A2.bam C10.bam 448 T C 0/0:0,255,255 0/0:0,255,255 2402 C T 1/1:209,23,0 xxx:255,0,255 n...

我想用 ref 字母替换 0/0,用 alt 字母替换 1/1 并删除它后面的所有字符串。 它应该看起来像这样:

POS REF ALT A2.bam C10.bam 448 T C T T 2402 C G G xxx n...

一直在尝试用 sed 来做,但没有成功 不知道如何处理它

你要不要试试:

awk '{
    if (NR > 1) {
        for (i=4; i<=5; i++) {
            split($i, a, ":")
            $i = a[1]
            if ($i == "0/0") $i = 
            if ($i == "1/1") $i = 
        }
    }
    print
}' file.txt

输出:

POS  REF ALT     A2.bam C10.bam
448 T C T T
2402 C T T xxx
n...    
  • for 循环处理第 4 和第 5 列(A2.bamC10.bam)。
  • 首先它会截掉“:”之后的子串。
  • 如果剩余的值等于“0/0”,则将其替换为第2列(REF)。
  • 如果是“1/1”,则使用第 3 列 (ALT)。

希望对您有所帮助。