前面小编介绍过RNA相互作用神器——ENCORI,在文章中给大家举了个用R代码批量下载miRNA和mRNA之间相互调控关系的例子。其实ENCORI数据库除了提供,miRNA和mRNA之间的调控关系以外,也提供miRNA和lcnRNA,miRNA和circRNA之间的调控关系。有些读者尝试修改小编的代码去下载其他的调控关系,这令小编很欣慰,至少做到了学以致用。熟话说学而不思则罔,思而不学则殆,理论和实践还是要紧密结合的。
今天小编就给大家分享分享一下,R代码批量下载miRNA和lcnRNA,miRNA和circRNA之间的调控关系。
####################################
#download lncRNA_miRNA_interaction
####################################
family=read.table("hg19_all_fimaly.txt",sep="\t")
miRNA=unlist(strsplit(as.character(family$V4),","))
dir.create("lncRNA")
for(mir in miRNA){
file=paste("lncRNA/",mir,".txt",sep="")
link=paste("http://starbase.sysu.edu.cn/api/miRNATarget/?assembly=hg19&geneType=lncRNA&miRNA=",mir,"&clipExpNum=1°raExpNum=0&pancancerNum=0&programNum=1&program=None&target=all",sep="")
download.file(link,file)
Sys.sleep(5)
}
####################################
#download circRNA_miRNA_interaction
####################################
dir.create("circRNA")
for(mir in miRNA){
file=paste("circRNA/",mir,".txt",sep="")
link=paste("http://starbase.sysu.edu.cn/api/miRNATarget/?assembly=hg19&geneType=circRNA&miRNA=",mir,"&clipExpNum=1°raExpNum=0&pancancerNum=0&programNum=1&program=None&target=all",sep="")
download.file(link,file)
Sys.sleep(5)
}
这里下载下来的是一个一个单独的文件,每一个文件里面包含一个miRNA和靶基因之间的调控关系。
那么我们如何把他们合并成为一个文件呢?就像R批量预测miRNA和靶基因之间的调控关系-ENCORI篇里面使用的mRNA_miRNA_interaction.txt和lncRNA_miRNA_interaction.txt。
下面就来动手吧
###########################################
#combine lncRNA_miRNA_interaction
###########################################
lncRNA_files <- list.files(path="lncRNA", full.names=TRUE)
library(plyr)
lncRNA.list <- llply(lncRNA_files, function(x)read.table(x,header=T,sep="\t",comment.char ="#",stringsAsFactors=F))
combind_lncRNA=do.call(rbind,lncRNA.list)
write.table(file="lncRNA_miRNA_interaction.txt",combind_lncRNA,quote=F,sep="\t",row.names = F)
##################################
#combine circRNA_miRNA_interaction
##################################
circRNA_files <- list.files(path="circRNA", full.names=TRUE)
library(plyr)
circRNA.list <- llply(circRNA_files, function(x)read.table(x,header=T,sep="\t",comment.char ="#",stringsAsFactors=F))
combind_circRNA=do.call(rbind,circRNA.list)
write.table(file="circRNA_miRNA_interaction.txt",combind_circRNA,quote=F,sep="\t",row.names = F)
合并完你就可以得到完整的miRNA和靶基因的调控关系了,在一个文件里面,就是下面圈出来的两个文件了。合并miRNA和mRNA之间调控关系的文件,就留给大家自己做吧!
如果你嫌自己下载合并比较麻烦,可以直接在RNA相互作用神器——ENCORI一文中获取合并后的文件。不仅有人的还有小鼠的,miRNA与lncRNA,mRNA,circRNA的调控关系一网打尽。
参考资料