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.
