通过匹配来自另一个文件的 snp 列对 GWAS 结果进行子集化

Subsetting GWAS results by matching snp column from another file

我有一个 GWAS 摘要估计文件,其中包含以下列(文件 1):

1   chr1_1726_G_A      0.023  0.160
1   chr1_20184_GAATA_G 0.033  0.180
1   chr1_791101_T_TGG  0.099  0.170

文件 2

chr1_20184_GAATA_G
chr1_791101_T_TGG

我想将文件 2 的第 1 列与文件 1 的第 2 列相匹配,以创建一个 文件 3,例如:

1   chr1_20184_GAATA_G 0.033  0.180
1   chr1_791101_T_TGG  0.099  0.170

通过使用下面的代码,我得到一个空的 file3:

awk 'FNR==NR{arr[];next} (() in arr)' file2 file1 > file3

使用您展示的示例,请尝试以下 awk 代码。

awk 'FNR==NR{arr[[=10=]];next} ( in arr)' file2 file1

awk 'FNR==NR{arr[];next} ( in arr)' file2 file1

解释:对数组使用 $0(在第一个解决方案中)或 $1(在 OR 解决方案中)而不是在第一个块中使用 $2然后您的其余代码就可以匹配;此处匹配记录。