zoukankan      html  css  js  c++  java
  • R 动态定义变量名 assign

    rm(list=ls())
    
    library(GSVA)
    library(GSEABase)
    library(GSVAdata)
    library(msigdbr)
    library(org.Hs.eg.db)
    library(Seurat)
    library(Rtsne)
    setwd("/heartdata8t_A/zhangpeng/Final.results/Final_Project_III/GSVA")
    
    ### Merging the cannicalc2BroadSets
    data(c2BroadSets)
    canonicalC2BroadSets <- c2BroadSets[c(grep("^KEGG", names(c2BroadSets)),
                                          grep("^REACTOME", names(c2BroadSets)),
                                          grep("^BIOCARTA", names(c2BroadSets)))]
    ## Adding Hallmark genesets
    m_df = msigdbr(species = "Homo sapiens", category = "H")
    gset.all <- unique(m_df$gs_name)
    
    for(geneset_i in 1:length(gset.all)){
      names_geneset_i <- gset.all[geneset_i]
      entrez_gene_geneset_i <- as.character(unique(m_df$entrez_gene[which(m_df$gs_name == gset.all[geneset_i])]))
      HallMarks <- GeneSet(entrez_gene_geneset_i, geneIdType=EntrezIdentifier(),
                     collectionType=BroadCollection(category="c2"), setName=names_geneset_i)
      canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, HallMarks))
    }
    
    ## Adding human-curated genesets (GEO/Cancer)
    load("GC.signature.Rdata")
    GC.signature <- as.character(mapIds(org.Hs.eg.db, GC.signature, 'ENTREZID', 'SYMBOL'))
    GC.signature <- GeneSet(GC.signature, geneIdType=EntrezIdentifier(),
                         collectionType=BroadCollection(category="c2"), setName="GC.signature")
    canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, GC.signature))
    
    load("GC.signature.literature.Rdata")
    GC.signature.literature <- as.character(mapIds(org.Hs.eg.db, GC.signature.literature, 'ENTREZID', 'SYMBOL'))
    GC.signature.literature <- GeneSet(GC.signature.literature, geneIdType=EntrezIdentifier(),
                            collectionType=BroadCollection(category="c2"), setName="GC.signature.literature")
    canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, GC.signature.literature))
    
    
    # Computing the GSVA score based the above curated datasets
    load("subset.epithelial.cells.gc.signature.Rdata")
    processed.data <- as.matrix(epithelial.cells.re.subset.GC.signature@assays$SCT@counts)
    
    rownames.processed.data <- rownames(processed.data)
    entrez.rownames.processed.data <- as.character(mapIds(org.Hs.eg.db, rownames.processed.data , 'ENTREZID', 'SYMBOL'))
    
    invalid.index <- which(is.na(entrez.rownames.processed.data))
    processed.data <- processed.data[-invalid.index,]
    rownames(processed.data) <- entrez.rownames.processed.data[-invalid.index]
    
    
    esmicro.processed <- gsva(processed.data, canonicalC2BroadSets, min.sz=5, max.sz=500,
                              mx.diff=TRUE, verbose=FALSE, parallel.sz=1, kcdf = "Poisson")
    ## Results
    # library(pheatmap)
    # esmicro.processed <- esmicro.processed[grep("KEGG",rownames(esmicro.processed)),]
    # pheatmap(esmicro.processed)
    
    save(esmicro.processed,file = "esmicro.processed.Rdata")
    tsne <- Rtsne(esmicro.processed,dims = 2)
    plot(tsne$Y)
    
    
    epi<-epithelial.cells.re@meta.data
    bb<-epi$SCT_snn_res.1[which(epi$SCT_snn_res.1 ==5)]  
    
    bb<-epi[which(epi[,12]==5),]
    cc<-epi[which(epi[,12]==30),]
    aa<-rbind(bb,cc)
    g1.index<-rownames(aa)
    pro<- esmicro.processed
    g1<-pro[ , which(colnames(pro) %in% g1.index )]
    g2<-pro[ , -which(colnames(pro) %in% g1.index )]
    
    
    heatmap(pro)
    
    
    
    
    
    
    
    pathway_name = rownames(g1)
    tm <- list('P-value' = c(), 'Pathway_name' = c())
    
    
    
    cell.types <- unique(Idents(epithelial.cells.re))
    
    
    library(pryr)
    #setClass("All_results", slots = list(C0_results = "data.frame"))
    #all_results <- new("All_results", C0_results = tm)
    
    cell.types
    
    #for(i in 1:length(cell.types)){
    #  print((as.numeric(cell.types[i])))
      #name = paste0("tm_",as.numeric(cell.types[i]))
      #eval(parse( name )   )<- list('P-value' = c(), 'Pathway_name' = c())  
      #append(all_ans,list(name = c()))
      
    #}
    
    for(j in cell.types){
      cc<-epi[which(epi[,12]==j),]
      index<-rownames(cc)
      g1<-pro[ , which(colnames(pro) %in% index )]
      pathway_name = rownames(g1)
      g2<-pro[ , -which(colnames(pro) %in% index )]
      tm <- list('P-value' = c(), 'Pathway_name' = c()) 
     ## t.test
     for(i in 1:dim(g1)[1]){
       results<- t.test(g1[i,],g2[i,])$p.value
       tm$`P-value`<-append(tm$`P-value`,results)
       tm$Pathway_name<- append(tm$Pathway_name,pathway_name[i])
     }
      assign(paste("tm_",j,sep = ""),tm)
    }
    
    print(results)
     
     
      data.frame()
      p.val,pathway_name
      
      result[[celltype_i]] <- data.frame 
      
    
    
    
    dftm<- data.frame(tm)
    dftm <- dftm[sort(dftm$P.value,index.return=TRUE)$ix,]
    
    
    
    
    
    
    
    down <- sample(colnames(pro),round(nrow(pro)/5))
    a<-pro[,down]
    heatmap(a)
    
    
    
    
    
    raw.data
    
    result <- list()
    
    cell.types <- unique(Idents(epithelial.cells.re))
    
    for(celltype_i in cell.types){
      
      ## t.test
      
       data.frame()
      p.val,pathway_name
    
      result[[celltype_i]] <- data.frame 
      
      
      
      
      
      
    }

    主要部分“

     1 for(j in cell.types){
     2   cc<-epi[which(epi[,12]==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 1:dim(g1)[1]){
    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)
    18  
  • 相关阅读:
    浅析 Java 中的 final 关键字
    谷歌Java编程风格指南
    分布式事务之两阶段提交协议(2PC)and 使用事件和消息队列实现分布式事务
    零和博弈与木桶定律
    Executors类创建四种常见线程池
    软件设计的原则&101个设计模式-2011年04月25日 陈皓
    编程中的命名设计那点事-陈皓
    从面向对象的设计模式看软件设计- 2013年02月01日 陈皓
    SQL语句
    分布式事务
  • 原文地址:https://www.cnblogs.com/shanyr/p/11518359.html
Copyright © 2011-2022 走看看