问题记录:SNP 标记 phasing

GATK4 检测的SNP标记,有些位点会在检测过程中完成 phasing,在后续做基因型填充的时候有坑。

GATK4 phasing 结果的缺失位点不是 ./. 也不是 .|.  而是直接变成一个单独的点;下图黄线标记出来的部分,上面是原始结果,下面是修改后结果。

基于此后续做 phasing 才能顺利进行。 

 最后附上处理脚本:

 1 use strict;
 2 open A,"gzip -dc $ARGV[0]|";
 3 open U,"| gzip > $ARGV[1].gz";
 4 while(<A>){
 5     chomp;
 6     if(/^#/){
 7         print U "$_\n";
 8     }
 9     else{
10         my @line=split;
11         for(my $i=9;$i<@line;$i++){
12             my ($geno,$tail)=(split /:/,$line[$i],2)[0,1];
13             if($geno eq "."){
14                 $line[$i]="./.:".$tail;
15             }
16         }
17         my $o1=join "\t",@line[0..8];
18         my $o2=join "\t",@line[9..$#line];
19         print U "$o1\t$o2\n";
20     }
21 }
22 close A;
23 close U;

 

posted @ 2021-05-12 21:38  天使不设防  阅读(149)  评论(0编辑  收藏  举报