问题描述
我正在使用 UCSC 提升工具和相关链来提升我的 GWAS 摘要统计文件(一个制表符分隔文件)从构建 38 到构建 37 的结果。GWAS 摘要统计文件 看起来像:
1 chr1_17626_G_A 17626 A G 0.016 -0.0332 0.0237 0.161
1 chr_20184_G_A 20184 A G 0.113 -0.185 0.023 0.419
以下是我正在使用的相关链的 UCSC 工具:
- 提升:http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/liftOver
- 链文件:ftp://hgdownload.cse.ucsc.edu/goldenPath/hg38/liftOver/hg38ToHg19.over.chain.gz
我想从 GWAS 摘要统计文件中创建一个 床格式 的文件,这是该工具所需的输入,我希望前三列以制表符分隔,其余列以制表符分隔合并为一列并由非制表符分隔符(例如“。”)分隔。以便在运行电梯时保存它们。输入床文件的前三列是:
awk '{print chr$1,$3-1,$3}' GWAS summary stat file > ucsc.input.file
#$1 = chrx - where x is chromosome number
#$2 position -1 for SNPs
#$3 bp position hg38 for SNPs
以上三列是工具的必填列。
我的问题是:
解决方法
我不确定这是否能回答您的问题,但请看一看。
您可以使用 awk 通过 :
awk '{print $1 ":" $2 ":" $3}' file
然后说你想用 :
中的 tab 替换 $1
然后你可以做
awk -F ":" '{gsub(/:/,"\t",$1)}1' file
这有什么帮助吗?