R批量预测miRNA和靶基因之间的调控关系-TargetScan
前面我们介绍过miRNA 靶向预测软件targetscan的原理,以及如何使用targetscan本地版软件预测miRNA的靶基因。对于一些常见的物种,像人,小鼠,其实targetscan已经提供了所有的预测结果,我们可以直接下载到本地,然后利用R来做一些简单的匹配就可以找到miRNA和靶基因之间的调控关系了。这个过程就像前面我们讲过的R批量预测miRNA和靶基因之间的调控关系-ENCORI篇。我们先来捋一捋思路
targetscan跟前面讲过的ENCORI这个数据库不太一样,ENCORI里面给出来的结果就直接是每一个miRNA跟mRNA之间的调控关系
而targetscan里面的结果比较特殊一些,给出来的不是每个miRNA的结果,而是miRNA Family跟靶基因之间的调控关系,结果可以在Predicted_Targets_Info.default_predictions.txt文件中找到,结果如下文所示
那么什么是miRNA Family呢?
我们知道miRNA一般是通过seed(种子序列,miRNA 5'端第2位到第7位)与靶基因进行互补配对,从而抑制miRNA的翻译,或者直接造成miRNA降解。具体可以参考MicroRNA 的结构、生物合成及功能。
一般的miRNA靶基因预测软件,也是基于seed序列互补配对来做预测的。那么即使是不同的miRNA,只要他们的seed序列相同,软件预测出来的靶基因也会是一样的。因此,我们会把具有相同seed序列的miRNA叫做一个miRNA Family(miRNA家族)。很多软件(包括targetscan)都是以miRNA Family为单位来预测靶基因的,这个家族里面的所有miRNA都会拥有相同的靶基因。
targetscan就有一个专门的文件,叫做miR_Family_Info.txt,里面提供每一个miRNA跟miRNA Family之间的对应关系。
接下来我们来看一下如何处理targetscan的这两个文件来获取miRNA-mRNA,以及mRNA-miRNA之间的调控关系。
1.获取miRNA-mRNA之间的调控关系
首先我们需要获取候选miRNA的miRNA family信息,这个直接通过查找miR_Family_Info.txt文件就可以获取
接下来我们就用得到的miRNA family在Predicted_Targets_Info.default_predictions.txt文件中去查找靶基因信息。这样就可以得到每一个miRNA的靶基因了
2. 获取mRNA-miRNA之间的调控关系
首先我们通过查找Predicted_Targets_Info.default_predictions.txt文件,
得到mRNA跟miRNA Family之间的调控关系
接下来我们需要再做一步转换,将miRNA Family展开,用里面包含的所有成员miRNA来代替。我们可以读入miR_Family_Info.txt文件中的信息,然后将格式转换成list,list的name是每个miRNA Family的名字,内容就是这个家族中的所有成员miRNA。
最后我们就可以得到mRNA-miRNA之间的调控关系
参考资料:
完整R代码参考