5 Protein ID conversion

If you have handled proteomics or metabolomics data (e.g. mass spectrometry), you may need to convert protein IDs to gene IDs before downstream analysis.

5.1 Example data

For example, in this data article Dataset from proteomic analysis of rat, mouse, and human liver microsomes and S9 fractions, we could get rat proteomic analysis data

Firstly, take a look at the data:

colnames(rat_prodata)
## [1] "Acc"      "Gene"     "Name"     "Length"   "Sequence"
head(rat_prodata, 5)
##      Acc      Gene                                                      Name
## 1 P27364 3BHS5_RAT                3 beta-hydroxysteroid dehydrogenase type 5
## 2 P17475  A1AT_RAT                                    Alpha-1-antiproteinase
## 3 P14046  A1I3_RAT                                       Alpha-1-inhibitor 3
## 4 P00507  AATM_RAT                 Aspartate aminotransferase, mitochondrial
## 5 P15650 ACADL_RAT Long-chain specific acyl-CoA dehydrogenase, mitochondrial
##   Length
## 1    373
## 2    411
## 3   1477
## 4    430
## 5    430
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Sequence
## 1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 MPGWSCLVTGAGGFLGQRIVQMLVQEKELQEVRVLYRTFSPKHKEELSKLQTKAKVTVLRGDIVDAQFLRRACQGMSVIIHTAAALDIAGFLPRQTILDVNVKGTQLLLDACVEASVPAFIYSSSTGVAGPNSYKETILNDREEEHRESTWSNPYPYSKRMAEKAVLAANGSILKNGGTFHTCALRLPFIYGEESQIISTMVNRALKNNSIIKRHATFSIANPVYVGNAAWAHILAARGLRDPEKSQSIQGQFYYISDDTPHQSYDDLNYTLSKEWGFCLDSSWSLPLPLLYWLAFLLETVSFLLRPFYNYRPPFNRFMVTILNSVFTISYKKAQRDLGYEPLVSWEEAKQKTSEWIGTLVEQHRETLDTKSQ
## 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           MAPSISRGLLLLAALCCLAPSFLAEDAQETDTSQQDQSPTYRKISSNLADFAFSLYRELVHQSNTSNIFFSPMSITTAFAMLSLGSKGDTRKQILEGLEFNLTQIPEADIHKAFHHLLQTLNRPDSELQLNTGNGLFVNKNLKLVEKFLEEVKNNYHSEAFSVNFADSEEAKKVINDYVEKGTQGKIVDLMKQLDEDTVFALVNYIFFKGKWKRPFNPEHTRDADFHVDKSTTVKVPMMNRLGMFDMHYCSTLSSWVLMMDYLGNATAIFLLPDDGKMQHLEQTLTKDLISRFLLNRQTRSAILYFPKLSISGTYNLKTLLSSLGITRVFNNDADLSGITEDAPLKLSQAVHKAVLTLDERGTEAAGATVVEAVPMSLPPQVKFDHPFIFMIVESETQSPLFVGKVIDPTR
## 3 MKKDREAQLCLFSALLAFLPFASLLNGNSKYMVLVPSQLYTETPEKICLHLYHLNETVTVTASLISQRGTRKLFDELVVDKDLFHCVSFTIPRLPSSEEEESLDINIEGAKHKFSERRVVLVKNKESVVFVQTDKPMYKPGQSVKFRVVSMDKNLHPLNELFPLAYIEDPKMNRIMQWQDVKTENGLKQLSFSLSAEPIQGPYKIVILKQSGVKEEHSFTVMEFVLPRFGVDVKVPNAISVYDEIINVTACATYTYGKPVPGHVKISLCHGNPTFSSETKSGCKEEDSRLDNNGCSTQEVNITEFQLKENYLKMHQAFHVNATVTEEGTGSEFSGSGRIEVERTRNKFLFLKADSHFRHGIPFFVKVRLVDIKGDPIPNEQVLIKARDAGYTNATTTDQHGLAKFSIDTNGISDYSLNIKVYHKEESSCIHSSCTAERHAEAHHTAYAVYSLSKSYIYLDTEAGVLPCNQIHTVQAHFILKGQVLGVLQQIVFHYLVMAQGSILQTGNHTHQVEPGESQVQGNFALEIPVEFSMVPVAKMLIYTILPDGEVIADSVKFQVEKCLRNKVHLSFSPSQSLPASQTHMRVTASPQSLCGLRAVDQSVLLQKPEAELSPSLIYDLPGMQDSNFIASSNDPFEDEDYCLMYQPIAREKDVYRYVRETGLMAFTNLKIKLPTYCNTDYDMVPLAVPAVALDSSTDRGMYESLPVVAVKSPLPQEPPRKDPPPKDPVIETIRNYFPETWIWDLVTVNSSGVTELEMTVPDTITEWKAGALCLSNDTGLGLSSVASFQAFQPFFVELTMPYSVIRGEAFTLKATVLNYLPTSLPMAVLLEASPDFTAVPVENNQDSYCLGANGRHTSSWLVTPKSLGNVNFSVSAEARQSPGPCGSEVATVPETGRKDTVVKVLIVEPEGIKKEHTFSSLLCASDAELSETLSLLLPPTVVKDSARAHFSVMGDILSSAIKNTQNLIQMPYGCGEQNMVLFAPNIYVLKYLNETQQLTEKIKSKALGYLRAGYQRELNYKHKDGSYSAFGDHNGQGQGNTWLTAFVLKSFAQARAFIFIDESHITDAFTWLSKQQKDSGCFRSSGSLLNNAMKGGVDDEITLSAYITMALLESSLPDTDPVVSKALSCLESSWENIEQGGNGSFVYTKALMAYAFALAGNQEKRNEILKSLDKEAIKEDNSIHWERPQKPTKSEGYLYTPQASSAEVEMSAYVVLARLTAQPAPSPEDLALSMGTIKWLTKQQNSYGGFSSTQDTVVALDALSKYGAATFSKSQKTPSVTVQSSGSFSQKFQVDKSNRLLLQQVSLPYIPGNYTVSVSGEGCVYAQTTLRYNVPLEKQQPAFALKVQTVPLTCNNPKGQNSFQISLEISYMGSRPASNMVIADVKMLSGFIPLKPTVKKLERLGHVSRTEVTTNNVLLYLDQVTNQTLSFSFIIQQDIPVKNLQPAIVKVYDYYETDEVAFAEYSSPCSSDDQNV
## 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        MALLHSGRVLSGMAAAFHPGLAAAASARASSWWTHVEMGPPDPILGVTEAFKRDTNSKKMNLGVGAYRDDNGKPYVLPSVRKAEAQIAGKNLDKEYLPIGGLADFCKASAELALGENSEVLKSGRFVTVQTISGTGALRVGASFLQRFFKFSRDVFLPKPSWGNHTPIFRDAGMQLQGYRYYDPKTCGFDFSGALEDISKIPEQSVLLLHACAHNPTGVDPRPEQWKEMAAVVKKKNLFAFFDMAYQGFASGDGDKDAWAVRHFIEQGINVCLCQSYAKNMGLYGERVGAFTVVCKDAEEAKRVESQLKILIRPLYSNPPLNGARIAATILTSPDLRKQWLQEVKGMADRIISMRTQLVSNLKKEGSSHNWQHITDQIGMFCFTGLKPEQVERLTKEFSVYMTKDGRISVAGVTSGNVGYLAHAIHQVTK
## 5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        MAARLLLRSLRVLSARSATLPPPSARCSHSGAEARLETPSAKKLTDIGIRRIFSSEHDIFRESVRKFFQEEVIPYHEEWEKAGEVSRELWEKAGKQGLLGINIAEKHGGIGGDLLSTAVTWEEQAYSNCTGPGFSLHSDIVMPYIANYGTKEQIEQFIPQMTAGKCIGAIAMTEPGAGSDLQGVRTNAKRSGSDWILNGSKVFITNGWLSDLVIVVAVTNREARSPAHGISLFLVENGMKGFIKGKKLHKMGMKAQDTAELFFEDVRLPASALLGEENKGFYYLMQELPQERLLIADLAISACEFMFEETRNYVRQRKAFGKTVAHIQTVQHKLAELKTNICVTRAFVDSCLQLHETKRLDSASASMAKYWASELQNTVAYQCVQLHGGWGYMWEYPIAKAYVDARVQPIYGGTNEIMKELIARQIVSDS

The second column is the rat protein ID, and the third one is the gene name.

5.2 ID conversion

Here we will convert protein IDs to gene symbols and compare them with the original data.

protein_id <- rat_prodata[, "Acc"]
gname <- transId(protein_id, "symbol", "rat", unique = T)

new_res <- merge(rat_prodata, gname,
  by.x = "Acc", by.y = "input_id", all.x = T
) %>%
  dplyr::relocate(symbol, .after = Gene)

head(new_res, 5)
##      Acc      Gene symbol                                         Name Length
## 1 A0FKI7 ACBD5_RAT  Acbd5 Acyl-CoA-binding domain-containing protein 5    506
## 2 A0JPQ8 ALKMO_RAT   Agmo                  Alkylglycerol monooxygenase    447
## 3 A0JPQ9 CHID1_RAT  Chid1        Chitinase domain-containing protein 1    393
## 4 A1L134  AUP1_RAT   Aup1                 Ancient ubiquitous protein 1    410
## 5 A1L1J9  LMF2_RAT   Lmf2                   Lipase maturation factor 2    702
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         Sequence
## 1                                                                                                                                                                                                     MLFLSFYAGSWESWICCCCVIPVDRPWDRGRRWQLEMADTRSVYETRFEAAVKVIQSLPKNGSFQPTNEMMLRFYSFYKQATEGPCKLSRPGFWDPIGRYKWDAWSSLGDMTKEEAMIAYVEEMKKIIETMPMTEKVEELLHVIGPFYEIVEDKKNSKSSDLTSDLGNVLTSSNAKAVNGKAESSDSGAESEEEEAQEELKGAEQSGSDDKKMMTKSTDKNLEIIVTNGYKDSFAQDSDIHTDSSRSARRSEDKKPTDQSSQQTGNTVLCVHQDTNEDPGEDASGVHHLTSDSDSEVYCDSMEQFGQEEYYLGGDPAQHLEGSGFCEDAQLSPGNGSIGKMQMRAVKGKGEVKHGGEDGRSSSGTPHREKRGGESEDISGVRRGRGHRMPHLSEGTKGRQVGSGGDGERWGSDRGSRGSLNEQIALVLIRLQEDMQNVLQRLHKLETLTASQAKLSWQTSNQPSSQRPSWWPFEMSPGALAFAIIWPFIAQWLVHLYYQRRRRKLN
## 2                                                                                                                                                                                                                                                                MRNPGAQDNVSVSQGMRAMFYMMKPSETAFQTVEEVPDYVKKATPFFIFLILLELVVSWILKGKPSGRLDDILTSMSAGVVSRLPNLFFRSLEVTSYIYIWENYRVCELPWDSPWTWYLTFLGVDFGYYWFHRMAHEINIIWAAHQAHHSSEDYNLSTALRQSVLQQYSSWVFYCPLALFVPPSVFAVHIQFNLLYQFWIHTEVIRTLGPLELVLNTPSHHRVHHGRNRYCIDKNYAGTLIIWDRIFGTFEAENEQVIYGLTHPIGTFEPFKVQFHHLLYIWTTFWATPGFCHKFSVLFKGPGWGPGKPRLGLSEEIPEVTGQEVPFTSSASQFLKIYAVLQFAVMLVFYEETFANTAVLSQVTILLRICFIILTLTSIGFLLDQRPKAAIVETLRCLLFLTLYRFGHLKPLIESLSFAFEIFFSVCIAFWGVRSITHLASGSWKKP
## 3                                                                                                                                                                                                                                                                                                                      MWPLLHVLWLALVCGSVHTTLSKSDAKKAASKTLLEKTQFSDKPVQDRGLVVTDIKAEDVVLEHRSYCSARARERNFAGEVLGYVTPWNSHGYDVAKVFGSKFTQISPVWLQLKRRGREMFEITGLHDVDQGWMRAVKKHAKGVRIVPRLLFEDWTYDDFRSVLDSEDEIEELSKTVVQVAKNQHFDGFVVEVWSQLLSQKHVGLIHMLTHLAEALHQARLLVILVIPPAVTPGTDQLGMFTHKEFEQLAPILDGFSLMTYDYSTSQQPGPNAPLSWIRACVQVLDPKSQWRSKILLGLNFYGMDYAASKDAREPVIGARYIQTLKDHRPRVVWDSQAAEHFFEYKKNRGGRHVVFYPTLKSLQVRLELARELGVGVSIWELGQGLDYFYDLL
## 4                                                                                                                                                                                                                                                                                                     MEPPPAPGPERLFDSHRLPSDGFLLLALLLYAPVGLCLLVLRLFLGLHVFLVSCALPDSVLRRFVVRTMCAVLGLVARQEDSGLRDHRVRVLISNHVTPFDHNIVNLLTTCSTPLLNSPPSFVCWSRGFMEMDRRVELVESLKKFCASTRLPPTPLLLFPEEEATNGREGLLRFSSWPFSIQDVVQPLTLQVQRPLVSVTVSDASWVSELLWSLFVPFTVYQVRWLHPIRRQLGEENEEFALRVQQLVAKELGQIGTRLTPADKAEHMKRQRHPRLRPQSVQSSFPSPPSPSSDVQLTILAQRVKEVLPHVPLNVIQRDLARTGCVDLTITNLLEGAVAFMPEDVTEGSQSLPTASAPKFPSSGLVTPQPTALTFAKSSWARQESLQERKQALYEYARRRFRERQAQEAE
## 5 MASARVPQQLFLQGVAAVYLFAFASLYTQIPGLYGPEGILPARRTLRPQGKGRWQQLWETPTILWEAPRLGLDTAQGLDLLTLLGTVLALGALLLNSLRHPFIYLLLWAAYLSACQVGQVFLYFQWDSLLLETGFLAILVAPLRRPSKHKIPQGGLAGALPHEDLPFWLVRWLLFRLMFASGVVKLTSRCPAWWGLTALTYHYETQCLPTPAAWFAHHLPVWLHRLSVVATFLIEIAVPPLFFAPIRRLRLSAFYAQALLQILIIITGNYNFFNLLTLVLTTALLDDRHLSAEPELRCHKKMPTSWPKTLLTSLSLMLELTVYGLLAYGTIYYFGLEVDWQQQIVLSKTTFTFHQFSQWLKMVTLPTVWLGTASLAWELLIALWRWIQVQGWSRKFFAGIQLSVLGTATVFLFLISLVPYSYVEPGTHGRLWTGAHRLFSSVEHLQLANSYGLFRRMTGLGGRPEVVLEGSHDGHHWTEIEFMYKPGNVSRPPPFLIPHQPRLDWQMWFAALGPHTHSPWFTSLVLRLLQGKEPVIRLIQNQVANYPFREQPPTYLRAQRYKYWFSKPGDQSRWWHRQWVEEFFPSVSLGDPTLETLLQQFGLKDKSPPRARSSKNALAQTLNWVRAQLSPLEPSILLWGLLGAVVAIRVVRTLLTPRPLQSSKQTREEKRKQAPKKDSRAVSEQTAPNSNSNGSWAPRRKK

Maybe you have noticed that some gene names are different from the original data. For example, the second one: A0JPQ8 was previously called Alkmo, but its current name is Agmo.

Some proteins have been assigned new gene names as shown above, while others currently have no matched name at all.

old_name <- unique(new_res$Gene) %>%
  stringr::str_remove_all("_RAT")
new_name <- unique(toupper(new_res$symbol))
new_res[which(is.na(new_res$symbol)), ] %>%
  dplyr::select(Acc, Gene, symbol)
##        Acc      Gene symbol
## 103 P01835  KACB_RAT   <NA>
## 114 P02761   MUP_RAT   <NA>
## 215 P0C169 H2A1C_RAT   <NA>
## 305 P16391  HA12_RAT   <NA>
## 483 P49889 ST1E3_RAT   <NA>
## 485 P50169  RDH3_RAT   <NA>
## 520 P56571   ES1_RAT   <NA>
## 544 P62161  CALM_RAT   <NA>
## 619 P81827   UP1_RAT   <NA>
## 620 P81828   UP2_RAT   <NA>
## 623 P83121   UP3_RAT   <NA>
## 657 Q00715  H2B1_RAT   <NA>
## 785 Q5U2Q3 CK054_RAT   <NA>
## 831 Q63010  EST5_RAT   <NA>
## 928 Q6AY64 CF120_RAT   <NA>
## 950 Q6P6G2 CF089_RAT   <NA>

We could see the result above: for the protein ID P01835, the gene name has been replaced with NA, indicating no current match was found.

The Venn plot shows that a number of protein IDs have had their corresponding gene names changed. If users continue to use the old gene names, they may miss out on the latest gene information, or even obtain inaccurate enrichment results.

plotVenn(list(old_name = old_name, new_name = na.omit(new_name)))