【发布时间】:2018-08-06 05:35:06
【问题描述】:
我在一个项目中使用 String-db 交互,但我发现交互的完整列表使用它们的整体蛋白质 ID。我想用 HGNC 批准的基因符号替换那些 ensembl 蛋白质 ID 名称。使用 BioMart,我下载了一个包含 ensembl 蛋白质 ID 及其各自基因名称的表格。因此,我需要将字符串文件中找到的所有 ensembl ID(第一列和第二列都有 ensembl ID)与我的 biomart 文件中的 ensembl ID 匹配,然后用它们在 biomart 文件中找到的基因符号替换每个 ID。我有一个“9606”的额外并发症。在字符串文件中的每个 ensembl ID 之前,而不是在 BioMart 文件中。这个数字表示它是一个人类 ensembl ID,并且仍然需要在新的 tbl String 文件中。
注意:这些文件很大!
字符串文件示例(前 10 行):
9606.ENSP00000000233 9606.ENSP00000263025 ptmod f f 150
9606.ENSP00000000233 9606.ENSP00000265709 reaction f f 908
9606.ENSP00000000233 9606.ENSP00000265709 catalysis t t 908
9606.ENSP00000000233 9606.ENSP00000263025 inhibition inhibition t t 154
9606.ENSP00000000233 9606.ENSP00000265709 binding f t 908
9606.ENSP00000000233 9606.ENSP00000265709 catalysis t f 908
9606.ENSP00000000233 9606.ENSP00000263025 inhibition inhibition f t 150
9606.ENSP00000000233 9606.ENSP00000263025 inhibition inhibition f f 150
9606.ENSP00000000233 9606.ENSP00000265709 binding f f 908
9606.ENSP00000000233 9606.ENSP00000263025 catalysis t t 156
BioMart 文件(适用于上述文件的示例):
Ensembl_Protein_ID Gene_Symbol
ENSP00000265709 ANK1
ENSP00000000233 ARF5
ENSP00000263025 MAPK3
ENSP00000388118 NCSTN
输出文件:
9606.ARF5 9606.MAPK3 ptmod f f 150
9606.ARF5 9606.ANK1 reaction f f 908
9606.ARF5 9606.ANK1 catalysis t t 908
9606.ARF5 9606.MAPK3 inhibition inhibition t t 154
9606.ARF5 9606.ANK1 binding f t 908
9606.ARF5 9606.ANK1 catalysis t f 908
9606.ARF5 9606.MAPK3 inhibition inhibition f t 150
9606.ARF5 9606.MAPK3 inhibition inhibition f f 150
9606.ARF5 9606.ANK1 binding f f 908
9606.ARF5 9606.MAPK3 catalysis t t 156
我不知道该怎么做。我尝试过使用 awk 和 perl,但没有任何效果。我仍然是生物信息学方面的菜鸟。如果有人愿意帮助这个可怜的家伙,我将不胜感激。
【问题讨论】:
-
你尝试了什么?本质上,您需要制作 BioMart 数据的哈希表,然后用哈希值在哈希键的“字符串”文件中进行替换。
标签: perl awk bioinformatics genetics