由于tcmsp 中选择药物靶点信息,给出的结果只有target name, 因此需要添加额外的gene symbol 信息。
从uniprot 中下载数据文件
因此首先下载uniprot 中的文件。
选择reviewed与human,2020年04月29日时,选择出的结果应该有20365个。这里最好再在columns中选择gene name primary,这样可以去除基因别名。
从TCMSP中下载有效成分靶点文件

借助uniprot 搜寻对应的gene symbol
由上图可知,TCMSP中只提供了化合物及其对应的靶点信息,但并没有提供基因信息。因此需要借助uniprot 进行搜索。
这里可以利用下载好的uniprot的数据集。
借助excel的VLOOKUP函数,进行目标匹配。
但是在使用该函数过程中,我遇到了两个问题:
1)若选择VLOOKUP函数的近似匹配选项,则可能会存在匹配错误的情况。原因由于uniprot 数据库提供的protein names 中还会包括其他的一些别称,比如:

会对结果存在影响。
2)若选择
VLOOKUP函数的精确匹配,则由于上述多别名问题,会存在返回N/A问题。因此可通过以下技巧进行一定程度的避免。
- 在excel 的
数据栏中,选择分列,通过选择分割符号(与[进行多次消除。因为一般来说其他类型的名称会用()分割,而注释信息会加以[]。 - 通过
TRIM函数去除空格首尾。可以进一步精细栏目中的信息。
但是,即便如此,还是会存在匹配不到即输出N/A的结果。
推测原因有以下:1)一些protein name 由于本身名称包含括号,如2-(3-amino-3-carboxypropyl)histidine synthase subunit 2,由于分割的操作,会导致这部分信息产生错误删除。
2)一些uniprot 中的protein names 的信息,本身就和TCMSP中的target name 存在差异。
所以,一般是通过上述2)中的1、2操作后,通过VLOOKUP选择精细匹配,从而显示出相关信息。对于返回空值的内容,再逐一从原表格中查找。(或许有更好的方法)
ps:小技巧,1)选中一列,按住ctrl+return,可以直接将表格信息同步到一列内;2)公式中一般名称若使用复制格式,会递增的修改相应数值。如=A1,往后会自动修改为A2,A3;可以通过在内容前加$,固定数值,如$A1,往后均是A1信息。
VLOOKUP 进行匹配
如,我的protein 与gene 的信息库分别在D和E列中(之前uniprot 中获取的20365条信息),而输入=VLOOKUP(H2,$D:$E,2,FALSE)
可以得到target 所对应的各个gene 信息。