在網(wǎng)絡(luò)上 找到的代碼
###先下載對(duì)應(yīng)關(guān)系,得到一個(gè)個(gè)單獨(dú)的表格
rm(list = ls())
####################################
#download miRNA_RNA_interaction
####################################
family=read.table("hg19_all_fimaly.txt",sep="\t")
miRNA=unlist(strsplit(as.character(family$V4),","))
class(miRNA)
dir.create("mRNA")
for(mir in miRNA){
file=paste("mRNA/",mir,".txt",sep="")
link=paste("http://starbase.sysu.edu.cn/api/miRNATarget/?assembly=hg19&geneType=mRNA&miRNA=",mir,"&clipExpNum=1°raExpNum=0&pancancerNum=0&programNum=1&program=None&target=all",sep="")
download.file(link,file)
Sys.sleep(5)}
####################################
#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)
}
#把單獨(dú)的表格合并成1個(gè)對(duì)應(yīng)關(guān)系表格
###########################################
#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)
##################################
#combine mRNA_miRNA_interaction
##################################
rm(list=ls())
mRNA_files <- list.files(path="mRNA", full.names=TRUE)
library(plyr)
mRNA.list <- llply(mRNA_files, function(x)read.table(x,header=T,sep="\t",comment.char ="#",stringsAsFactors=F))
combind_mRNA=do.call(rbind,mRNA.list)
write.table(file="mRNA_miRNA_interaction.txt",combind_mRNA,quote=F,sep="\t",row.names = F)
然后自己想利用這個(gè)代碼,想著輸入的不是所以的miRNA嘛,那我只需要下載自己手里的miRNA就好了啊。
于是把自己的差異miRNA存在一個(gè)文檔里,讀取進(jìn)去后卻一直不成功,只下載了第一個(gè)。
后來用class()看到原來人家代碼輸進(jìn)去的是字符型向量,是一個(gè)一個(gè)miRNA輸進(jìn)去下載的,而我這個(gè)讀取表格是數(shù)據(jù)框,所以一直不成功。
之后想當(dāng)然的以為把數(shù)據(jù)類型改成字符型,as.character(miRNA),就可以了,結(jié)果也不行,還是數(shù)據(jù)框,只不過里面的數(shù)據(jù)類型變成了字符型而已。
后來想著降維,最終得到下面的代碼,先把數(shù)據(jù)框轉(zhuǎn)變成矩陣,再把矩陣轉(zhuǎn)變成向量,就好了。
miRNA=read.table("DemiRNA_GSE125998.txt",sep="\t")
miRNA<-as.matrix(miRNA)
miRNA<-as.character(miRNA)