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 :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=, max.sz=,
mx.diff=TRUE, verbose=FALSE, parallel.sz=, 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 = )
plot(tsne$Y) epi<-epithelial.cells.re@meta.data
bb<-epi$SCT_snn_res.[which(epi$SCT_snn_res. ==)] bb<-epi[which(epi[,]==),]
cc<-epi[which(epi[,]==),]
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 :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[,]==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 :dim(g1)[]){
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)/))
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 }

主要部分“

 for(j in cell.types){
cc<-epi[which(epi[,]==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 :dim(g1)[]){
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)

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. 【Qt开发】解决Qt程序在Linux下无法输入中文的办法

    解决Qt程序在Linux下无法输入中文的办法 一位网友问我如何在Linux的Qt的应用程序中输入中文,我一开始觉得不是什么问题,但是后面自己尝试了一下还真不行.不仅是Qt制作的应用程序,就连Qt Cr ...

  2. 使用logstash收集java、nginx、系统等常见日志

    目录 1.使用codec的multiline插件收集java日志... 1 2.收集nginx日志... 2 3.收集系统syslog日志... 3 4.使用fliter的grok模块收集mysql日 ...

  3. nrm安装与配置

    nrm安装与配置:https://blog.csdn.net/anway12138/article/details/79455224

  4. C++ cin相关函数总结

    输入原理: 程序的输入都建有一个缓冲区,即输入缓冲区.一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据.正因为cin函数是直接从缓冲区取数据 ...

  5. 题解 AT1357 【n^p mod m】

    此题就是快速幂取模 先简单讲一讲快速幂 首先,快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn) ...

  6. mysql简单命令

    库: 增 create database db1:新建一个默认编码的库 create database db1 charset uet8 ;建一个编码为 utf8 的库 删 drop database ...

  7. [LeetCode] 140. 单词拆分 II

    题目链接 : https://leetcode-cn.com/problems/word-break-ii/ 题目描述: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符 ...

  8. Proxy does not work using sudo in Debian

    To resolve this issue you can add Defaults env_keep += "http_proxy https_proxy" to your /e ...

  9. 用eclipse怎么打war包?

    用eclipse怎么打war包? 在服务器上部署很多都是用war包进行部署的,eclipse是很友好的支持把java项目打成war包的,下面就把打war的经验写出来,供大家参考 百度经验:jingya ...

  10. Python 操作sqlite数据库及保存查询numpy类型数据(二)

    # -*- coding: utf-8 -*- ''' Created on 2019年3月6日 @author: Administrator ''' import sqlite3 import nu ...