大家好,又和大家见面了,之前我们医学方推出了两篇帖子关于基因ID的转化,分别是借助 biomaRt和clusterprofiler包,来帮助大家实现同一物种ID的转化,当然这里的物种一般指的是人类,ID呢,通常是三类:entrez gene ID, HUGO symbol, ensembl ID,关于各类ID的介绍之前的帖子里面也有介绍,这里我就不在累赘了。
今天呢,我的主题是不同物种之间ID的相互转换,比如如果我们小鼠的gene ID如何进行同源性映射到人上面去呢?这个就是我们这次要达到的目的。因为毕竟大部分实验室的操作对象主要是小鼠,很少会有人拿病人来做测序分析或者芯片分析。
今天我们主要基因R语言借助Biomart包来实现物种同源性转化。首先,我们先去看一下什么是物种的同源性。同源性是比较生物学中的一个概念。同源,最基本的意义就是具有共同祖先。当然这里不是说人和鼠有相同的祖先,我们这里的分子水平的同源性。从分子水平讲则是指两个核酸分子的核苷酸序列或两个蛋白质分子的氨基酸序列间的相似程度,那我们就说二者同源,就是说可以相互转化的基因具有一定的序列相似性,那么二者的基因便可以成为同源基因。通过检索百度百科,给了我们一个明确的定义:许多不同的物种间都具有同源性。现代分子生物学中的同源性描述的是基因与基因之间相似关系,它表明的是两个相比较的序列之间的匹配程度。一般来说,如果两条基因序列相似性达80%,就可以把它们称为“同源基因(homologousgene)”。
下面我们正式开始主题:
1
包的下载与安装
之前我们ID转换第一讲,就告诉大家包的下载与安装,如果之前的没有看到,可以执行下面的命令:
2
选择目标数据库和数据集
这里选择人和小鼠
注解:useMart一般后面跟两个参数,第一个参数是借助ensemble数据库,第二个参数是告诉选择哪个物种的数据集。
3
测试基因集
我选择了两个小鼠基因"Zfp286", "Tmx2",接着把他们构造成一个向量genes = c("Zfp286", "Tmx2")
4
小鼠基因同源映射到人
这里面最关键的就是getLDS函数;
attributes属性参数: 代表我们所要检索的数据集的属性参数,比如这里我们用的是mgi_symbol,代表的就是小鼠的基因的symbol名字。可以使用listAttributes函数检索可能的属性列表。如下:
Filter参数过滤器在查询中使用的过滤器。这些过滤器将应用于主数据集。可以使用函数listFilters检索可能的过滤器列表。
Value代表我们想要输入的数据集,就是输入我们构造的要查询的向量。
Mart指的是输入数据的Mart对象,由于输入数据是小鼠的基因,自然选择的Mart对象为小鼠。
attributesL代表的是我们需要同源转化的另外一个数据库,这里我们自然是由小鼠转为人,选择的就是需要连接到的人的Mart对象,在属性参数里面我们填写了三个参数,分别是gene_symbol ,染色体位置,基因起始位点。
useMartL参数是代表我们需要链接的Mart对象,这里自然就是人的。
5
结果展示
6
写一个小的封装函数
7
测试该函数
可以看到我们的代码可以完美运行,说明代码没问题。
领取专属 10元无门槛券
私享最新 技术干货