Подмножество результатов GWAS путем сопоставления столбца snp из другого файла
У меня есть файл сводной оценки 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
Я хотел бы сопоставить столбец 1 файла 2 со столбцом 2 файла 1, чтобы создать файл 3, например:
1 chr1_20184_GAATA_G 0.033 0.180
1 chr1_791101_T_TGG 0.099 0.170
Используя приведенный ниже код, я получаю пустой файл3 :
awk 'FNR==NR{arr[$2];next} (($2) in arr)' file2 file1 > file3
1 ответ
С вашими показанными образцами попробуйте следующее
awk
код.
awk 'FNR==NR{arr[$0];next} ($2 in arr)' file2 file1
ИЛИ ЖЕ
awk 'FNR==NR{arr[$1];next} ($2 in arr)' file2 file1
Объяснение: Используйте $ 0 (в 1-м решении) ИЛИ $ 1 (в решении OR) для массива, а не используйте $ 2 в первом блоке, и тогда остальная часть вашего кода будет соответствовать; совпадающие записи здесь.