Estou tentando mesclar dois arquivos grandes com base em duas colunas principais (Cromossomo e Posição) e descobri que a maneira mais eficiente parece ser awk
.
Uma amostra de como meus arquivos se parecem é:
file1.txt
Gene_ID Chromosome Position Fst
ENSG00000141424 18 33688658 0
ENSG00000141424 18 33688669 0
ENSG00000141424 18 33688681 0
ENSG00000141424 18 33688683 0.0111734
ENSG00000141424 18 33688720 0
ENSG00000141424 18 33688726 0
ENSG00000141424 18 33688743 0
ENSG00000141424 18 33688745 0
ENSG00000141424 18 33688763 0
E o outro arquivo:
file2.txt
Chromosome Start End Ref Alt RS_ID
1 10019 10020 TA T rs775809821
1 10020 10020 A - rs775809821
1 10055 10055 - A rs768019142
1 10055 10055 T TA rs768019142
1 10108 10108 C T rs62651026
1 10109 10109 A T rs376007522
1 10128 10128 A AC rs796688738
1 10128 10128 - C rs796688738
1 10139 10139 A T rs368469931
1 10144 10145 TA T rs144773400
Eu quero um terceiro arquivo com esta aparência:
Gene_ID Chromosome Position RS_ID Fst
ENSG00000141424 18 33688658 rs1504554... 0
Eu tentei usar awk
e acho que a sintaxe está correta, mas o que recebo é um arquivo contendo file1.txt
e file2.txt
concatenado.
awk 'FS=" "; OFS=" ";NR=FNR{A[$1,$2]=$6;next}{$5=A[$2,$3];print}' file1.txt file2.txt > file3.txt
Alguma idéia do que eu posso estar fazendo errado?