例如,我有一个 SNP 列表(我们称之为file1
):
SNP_ID chr position
rs9999847 4 182120631
rs999985 11 107192257
rs9999853 4 148436871
rs999986 14 95803856
rs9999883 4 870669
rs9999929 4 73470754
rs9999931 4 31676985
rs9999944 4 148376995
rs999995 10 78735498
rs9999963 4 84072737
rs9999966 4 5927355
rs9999979 4 135733891
对于不同的表型,我有另一个具有相应 P 值 (P) 和 BETA(如下所示)的 SNP 列表,这里我只显示了一个(我们称之为file2
):
CHR SNP BP A1 TEST NMISS BETA SE L95 U95 STAT P
1 rs3094315 742429 G ADD 1123 0.1783 0.2441 -0.3 0.6566 0.7306 0.4652
1 rs12562034 758311 A ADD 1119 -0.2096 0.2128 -0.6267 0.2075 -0.9848 0.3249
1 rs4475691 836671 A ADD 1111 -0.006033 0.2314 -0.4595 0.4474 -0.02608 0.9792
1 rs9999847 878522 A ADD 1109 -0.2784 0.4048 -1.072 0.5149 -0.6879 0.4916
1 rs999985 890368 C ADD 1111 0.179 0.2166 -0.2455 0.6034 0.8265 0.4087
1 rs9999853 908247 C ADD 1110 -0.02015 0.2073 -0.4265 0.3862 -0.09718 0.9226
1 rs999986 918699 G ADD 1111 -1.248 0.7892 -2.795 0.2984 -1.582 0.114
现在我想制作两个名为的文件file3
,file4
这样:
file3
应包含:
SNPID Pvalue_for_phenotype1 Pvalue_for_phenotype2 Pvalue_for_phenotype3 and so on....
rs9999847 0.9263 0.00005 0.002 ..............
第一列(SNPID)file3
将被修复(我的芯片中的所有snp都将在此处列出),我想编写一个程序,以便它匹配snp idfile3
并file2
获取相应snp的P值id 并将其从file2
.
file4
应包含:
SNPID BETAvale_for_phenotype1 BETAvale_for_phenotype2 BETAvale_for_phenotype3 .........
rs9999847 0.01812 -0.011 0.22
中的第一列(SNPID)file4
将被固定(我的芯片中的所有 SNP 都将在此处列出),我想编写一个程序,以便它匹配 SNP IDfile4
并file2
获取相应 SNP ID 的 BETA 和把它file4
从file2
.