TCGA表达数据的多项应用之4–求指定基因在指定癌症里面的表达量相关性矩阵,与所有的基因比较。

这个不出图,会给出TCGA里面涉及到的所有基因跟你指定的基因的表达量相关系数和P值,分别你一次性的看清楚你感兴趣的基因跟体内其它基因在该癌症种类的相关性,当然,相关非因果,请谨慎应用!

rm(list=ls())
searchGene = 'TP53';
searchTable='tumor_brca_rpkm';
library(RMySQL)
con <- dbConnect(MySQL(), host="127.0.0.1", port=3306, user="root", password="11111111")
dbSendQuery(con, "USE gse62944")
dbListTables(con)
query = paste0(' select * from ', searchTable ,' where genesymbol = ',shQuote(searchGene)) ;
expression_1=dbGetQuery(con,query)
expression_1=as.numeric(expression_1[,-1]);
query = paste0(' select geneSymbol from ', searchTable ) ;
allGenes=dbGetQuery(con,query)[,1]
## 重点就是获取这个数据,然后计算相关系数和p值
## 这个非常慢,可以考虑加并行,并且显示进度条,当然,这种循环所有的基因我不推荐用mysql来做!!!
cor_results <- matrix(unlist(lapply(allGenes, function(x){
  thisGene=x
  query = paste0(' select * from ', searchTable ,' where genesymbol = ',shQuote(thisGene)) ;
  expression_2=dbGetQuery(con,query)
  expression_2=as.numeric(expression_2[,-1]);
  tmp=cor.test(expression_1,expression_2);#str(tmp)
  return(c(thisGene,tmp$estimate,tmp$p.value))
}) ## end for lapply
) ## end for unlist
,ncol = 3, byrow =T) ## end for matrix

 

Comments are closed.