将plink剂量(.raw)格式转换为ped格式

时间:2013-10-17 19:00:58

标签: linux unix

raw)看起来像这样的文件

FID IID FA MO SEX PHENO SNP1 SNP2 SNP3

1 1 0 0 1 1 0 2 1

1 2 0 0 1 1 0 2 1

1 3 0 0 1 1 0 2 1

和地图文件

1 SNP1 20 A G

1 SNP2 45 T C

1 SNP3 56 A G

我想将我的剂量文件重新编码为ped格式,所以看起来像这样:

FID IID FA MO SEX PHENO SNP1 SNP2 SNP3

1 1 0 0 1 1 AA CC AG

1 2 0 0 1 1 AA CC AG

1 3 0 0 1 1 AA CC AG

谢谢,

Manav

1 个答案:

答案 0 :(得分:0)

使用awk

awk 'NR==FNR {a[$2,0]=$4$4 ; a[$2,1]=$4$5 ; a[$2,2]=$5$5 ; next} 
    $7~/^[0-2]$/ {$7=a["SNP1",$7] ; $8=a["SNP2",$8] ; $9=a["SNP3",$9]} 1' 
    map_file raw_file

输出:

FID IID FA MO SEX PHENO SNP1 SNP2 SNP3

1 1 0 0 1 1 AA CC AG

1 2 0 0 1 1 AA CC AG

1 3 0 0 1 1 AA CC AG