1. rm(list=ls())
  2.  
  3. library(GSVA)
  4. library(GSEABase)
  5. library(GSVAdata)
  6. library(msigdbr)
  7. library(org.Hs.eg.db)
  8. library(Seurat)
  9. library(Rtsne)
  10. setwd("/heartdata8t_A/zhangpeng/Final.results/Final_Project_III/GSVA")
  11.  
  12. ### Merging the cannicalc2BroadSets
  13. data(c2BroadSets)
  14. canonicalC2BroadSets <- c2BroadSets[c(grep("^KEGG", names(c2BroadSets)),
  15. grep("^REACTOME", names(c2BroadSets)),
  16. grep("^BIOCARTA", names(c2BroadSets)))]
  17. ## Adding Hallmark genesets
  18. m_df = msigdbr(species = "Homo sapiens", category = "H")
  19. gset.all <- unique(m_df$gs_name)
  20.  
  21. for(geneset_i in :length(gset.all)){
  22. names_geneset_i <- gset.all[geneset_i]
  23. entrez_gene_geneset_i <- as.character(unique(m_df$entrez_gene[which(m_df$gs_name == gset.all[geneset_i])]))
  24. HallMarks <- GeneSet(entrez_gene_geneset_i, geneIdType=EntrezIdentifier(),
  25. collectionType=BroadCollection(category="c2"), setName=names_geneset_i)
  26. canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, HallMarks))
  27. }
  28.  
  29. ## Adding human-curated genesets (GEO/Cancer)
  30. load("GC.signature.Rdata")
  31. GC.signature <- as.character(mapIds(org.Hs.eg.db, GC.signature, 'ENTREZID', 'SYMBOL'))
  32. GC.signature <- GeneSet(GC.signature, geneIdType=EntrezIdentifier(),
  33. collectionType=BroadCollection(category="c2"), setName="GC.signature")
  34. canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, GC.signature))
  35.  
  36. load("GC.signature.literature.Rdata")
  37. GC.signature.literature <- as.character(mapIds(org.Hs.eg.db, GC.signature.literature, 'ENTREZID', 'SYMBOL'))
  38. GC.signature.literature <- GeneSet(GC.signature.literature, geneIdType=EntrezIdentifier(),
  39. collectionType=BroadCollection(category="c2"), setName="GC.signature.literature")
  40. canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, GC.signature.literature))
  41.  
  42. # Computing the GSVA score based the above curated datasets
  43. load("subset.epithelial.cells.gc.signature.Rdata")
  44. processed.data <- as.matrix(epithelial.cells.re.subset.GC.signature@assays$SCT@counts)
  45.  
  46. rownames.processed.data <- rownames(processed.data)
  47. entrez.rownames.processed.data <- as.character(mapIds(org.Hs.eg.db, rownames.processed.data , 'ENTREZID', 'SYMBOL'))
  48.  
  49. invalid.index <- which(is.na(entrez.rownames.processed.data))
  50. processed.data <- processed.data[-invalid.index,]
  51. rownames(processed.data) <- entrez.rownames.processed.data[-invalid.index]
  52.  
  53. esmicro.processed <- gsva(processed.data, canonicalC2BroadSets, min.sz=, max.sz=,
  54. mx.diff=TRUE, verbose=FALSE, parallel.sz=, kcdf = "Poisson")
  55. ## Results
  56. # library(pheatmap)
  57. # esmicro.processed <- esmicro.processed[grep("KEGG",rownames(esmicro.processed)),]
  58. # pheatmap(esmicro.processed)
  59.  
  60. save(esmicro.processed,file = "esmicro.processed.Rdata")
  61. tsne <- Rtsne(esmicro.processed,dims = )
  62. plot(tsne$Y)
  63.  
  64. epi<-epithelial.cells.re@meta.data
  65. bb<-epi$SCT_snn_res.[which(epi$SCT_snn_res. ==)]
  66.  
  67. bb<-epi[which(epi[,]==),]
  68. cc<-epi[which(epi[,]==),]
  69. aa<-rbind(bb,cc)
  70. g1.index<-rownames(aa)
  71. pro<- esmicro.processed
  72. g1<-pro[ , which(colnames(pro) %in% g1.index )]
  73. g2<-pro[ , -which(colnames(pro) %in% g1.index )]
  74.  
  75. heatmap(pro)
  76.  
  77. pathway_name = rownames(g1)
  78. tm <- list('P-value' = c(), 'Pathway_name' = c())
  79.  
  80. cell.types <- unique(Idents(epithelial.cells.re))
  81.  
  82. library(pryr)
  83. #setClass("All_results", slots = list(C0_results = "data.frame"))
  84. #all_results <- new("All_results", C0_results = tm)
  85.  
  86. cell.types
  87.  
  88. #for(i in :length(cell.types)){
  89. # print((as.numeric(cell.types[i])))
  90. #name = paste0("tm_",as.numeric(cell.types[i]))
  91. #eval(parse( name ) )<- list('P-value' = c(), 'Pathway_name' = c())
  92. #append(all_ans,list(name = c()))
  93.  
  94. #}
  95.  
  96. for(j in cell.types){
  97. cc<-epi[which(epi[,]==j),]
  98. index<-rownames(cc)
  99. g1<-pro[ , which(colnames(pro) %in% index )]
  100. pathway_name = rownames(g1)
  101. g2<-pro[ , -which(colnames(pro) %in% index )]
  102. tm <- list('P-value' = c(), 'Pathway_name' = c())
  103. ## t.test
  104. for(i in :dim(g1)[]){
  105. results<- t.test(g1[i,],g2[i,])$p.value
  106. tm$`P-value`<-append(tm$`P-value`,results)
  107. tm$Pathway_name<- append(tm$Pathway_name,pathway_name[i])
  108. }
  109. assign(paste("tm_",j,sep = ""),tm)
  110. }
  111.  
  112. print(results)
  113.  
  114. data.frame()
  115. p.val,pathway_name
  116.  
  117. result[[celltype_i]] <- data.frame
  118.  
  119. dftm<- data.frame(tm)
  120. dftm <- dftm[sort(dftm$P.value,index.return=TRUE)$ix,]
  121.  
  122. down <- sample(colnames(pro),round(nrow(pro)/))
  123. a<-pro[,down]
  124. heatmap(a)
  125.  
  126. raw.data
  127.  
  128. result <- list()
  129.  
  130. cell.types <- unique(Idents(epithelial.cells.re))
  131.  
  132. for(celltype_i in cell.types){
  133.  
  134. ## t.test
  135.  
  136. data.frame()
  137. p.val,pathway_name
  138.  
  139. result[[celltype_i]] <- data.frame
  140.  
  141. }

主要部分“

  1. for(j in cell.types){
  2. cc<-epi[which(epi[,]==j),]
  3. index<-rownames(cc)
  4. g1<-pro[ , which(colnames(pro) %in% index )]
  5. pathway_name = rownames(g1)
  6. g2<-pro[ , -which(colnames(pro) %in% index )]
  7. tm <- list('P-value' = c(), 'Pathway_name' = c())
  8. ## t.test
  9. for(i in :dim(g1)[]){
  10. results<- t.test(g1[i,],g2[i,])$p.value
  11. tm$`P-value`<-append(tm$`P-value`,results)
  12. tm$Pathway_name<- append(tm$Pathway_name,pathway_name[i])
  13. }
  14. assign(paste("tm_",j,sep = ""),tm)
  15. }
  16.  
  17. print(results)

R 动态定义变量名 assign的更多相关文章

  1. Python使用动态的变量名

    当我们在使用Python处理一些重复性很高的事情时,有时候需要很多的变量来存放一些暂行性的数据,由于这些变量的数量很大,所以这使我们就会想到能不能使用循环来像生成数据值一样生成变量名呢,当然是可以的 ...

  2. JS怎么动态命名变量名

    [摘要]本文是对JS怎么动态命名变量名的讲解,对学习JavaScript编程技术有所帮助,与大家分享. 1.用eval,例子: 1 2 3 4 5 6 7 <script> var Thr ...

  3. php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符

    php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符方式一:使用花括号,前缀部分不需要用单引号$nums10 = 100;$xxx*${bcount.$nums10}['m54']/$n ...

  4. python 动态生成变量名以及动态获取变量的变量名

    前言需求: 必须现在需要动态创建16个list,每个list的名字不一样,但是是有规律可循,比如第一个list的名字叫: arriage_list_0=[],第二个叫arriage_list_1=[] ...

  5. 关于定义变量名为"name"的坑!!!

    昨天下午没有什么工作可做,闲来无事就上博客园看看了,有个问题让我一直很纳闷. 直接上代码吧: 再用表达式创建函数时遇到的问题,这里的代码按照正常逻辑只有那个在变量定义后面的函数执行打印的值才是&quo ...

  6. 【python小随笔】动态创建变量名

    PS:有时候我们不知道列表组数里存放几个值,但是又要动态的遍历这些值并且动态的创建每一个对应的一个变量里: t = ['B0716PK6R2','B077X9J24C','B01N2SBH4J'] c ...

  7. JS如何动态生成变量名[重点]

    解决方案: function create_variable(num){           var name = "test_"+num;   //生成函数名           ...

  8. Js如何动态声明变量名

    做个笔记~ var a = 5; for (var i = 1; i <= a; i++) { eval("var a" + i + "=" + i); ...

  9. 学习go语言编程系列之定义变量

    package main import ( "fmt" "math") func main() { // 1. 定义变量名age,不初始化,使用对应类型的默认值 ...

随机推荐

  1. win10安装Tensorflow1.9GPU版本

    前言 看到DateWhale出了一篇安装教程(微信公众号DateWhale),决定体验一下Tensorflow1.9的GPU版本..其实一开始装的是2.0,但是tf.Session()就报错了,说是2 ...

  2. 深入理解java:2.3.1. 并发编程concurrent包 之Atomic原子操作(循环CAS)

    java中,可能有一些场景,操作非常简单,但是容易存在并发问题,比如i++, 此时,如果依赖锁机制,可能带来性能损耗等问题, 于是,如何更加简单的实现原子性操作,就成为java中需要面对的一个问题. ...

  3. clearfix:after 的用法

    想要清除浮动就要在父元素上 加上 clearfix:after .clearfix:after { <----在类名为“clearfix”的元素内最后面加入内容: content: " ...

  4. easy-mock的运用

    一.概念 Easy Mock 是杭州大搜车无线团队出品的一个极其简单.高效.​可视化.并且能快速生成模拟数据的 在线 mock 服务 .以项目管理的方式组织 Mock List,能帮助我们更好的管理 ...

  5. 结构体指针,C语言结构体指针详解

    结构体指针,可细分为指向结构体变量的指针和指向结构体数组的指针. 指向结构体变量的指针 前面我们通过“结构体变量名.成员名”的方式引用结构体变量中的成员,除了这种方法之外还可以使用指针. 前面讲过,& ...

  6. mongodb启动报错,child process failed, exited with error number 1

    error: child process failed, exited with error number 1 第一次安装mongodb,随后启动一般不会出现上面的错误,出现这种错误的原因一般是mon ...

  7. mac chromedriver error

    问题一:MAC 使用splinter error Traceback (most recent call last): from splinter.browser import Browser b = ...

  8. css发展过程

    https://www.cnblogs.com/dashnowords/p/9460722.html

  9. Docker 启动与停止容器

    启动已运行过的容器 docker start 容器名称|容器id 如: docker start mycentos 启动所有运行过的容器(注意:反单引号` `), docker ps -a -q 是查 ...

  10. msdn帮助,离线下载

    这是我在msdn下载,如果要看msdn帮助,不是在线看就是visual studio 帮助那下载. 在网速不好的时候msdn看,会让人不爽. 帮助那个下载速度很慢,于是我就去下载离线. 因为微软看不到 ...