Ignoring the first line but printing always during pattern matching using AWK

I have a straight-forward problem. If an element in the first column (ID) of "file" matches with an element of first column (ID) of "subfile", the matched element of "file" should be replaced by the corresponding element of second column (i.e by Symbol) of "subfile".

The following code works fine, but considers the first element of second column (ie. A) as first element of first column. Therefore, during pattern matching and omits it from final output, and shifts all elements one cell forward leaving the last cell blank.

I presume that the possible solution would be to ignore the first row. Any suggestions please.

awk 'FNR==NR {a[$1]=$2;next} {$1=a[$1]}1' OFS="\t" subfile file

file

             A               B                C
204639_at    1.4063964497   1.9690376378    -0.5856006063
209027_s_at -0.6184167971  -0.3803235873     0.6532643621
224864_at    0.9290801469   0.0020026866    -1.2993653537
224637_at    0.4688503882  -0.137487333     -0.453195703
226482_s_at -0.0615034202   0.4300315287    -0.6852205341

Subfile

204639_at   ADA
209027_s_at ABI1
224864_at   SRA1
224637_at   OST4
226482_s_at TSTD1

Output Obtained:

      B             C
ADA   1.4063964497  1.9690376378  -0.5856006063
ABI1 -0.6184167971 -0.3803235873   0.6532643621
SRA1  0.9290801469  0.0020026866  -1.2993653537
OST4  0.4688503882 -0.137487333   -0.453195703
TSTD1 -0.0615034202 0.4300315287  -0.6852205341

Output Needed

      A              B                C
ADA   1.4063964497  1.9690376378  -0.5856006063
ABI1 -0.6184167971 -0.3803235873   0.6532643621
SRA1  0.9290801469  0.0020026866  -1.2993653537
OST4  0.4688503882 -0.137487333   -0.453195703
TSTD1 -0.0615034202 0.4300315287  -0.6852205341


This checks that there is a match and if not then print the value that is currently there.

awk 'FNR==NR {a[$1]=$2;next} a[$1]{$1=a[$1]}1' OFS="\t" subfile file