Posted on

在R语言中运行Cibersort共需要三个文件,分别是(1)官方提供的22种细胞基因集“LM22.txt”;(2)自己的表达矩阵;(3)Cibersort代码。

(1)LM22.txt获取方法:

在Cibersort论文中(https://www.nature.com/articles/nmeth.3337#MOESM207)下载Supplementry table 1

LM22.txt获取方法

删除Sheet 1 中表头,只保留矩阵部分。

删除Sheet 1 中表头

得到如下矩阵,另存为制表符分割的txt(“LM22.txt”)

C:\Users\JinWa\AppData\Local\Temp\1632820863(1).png

进哥提供了下载好的 LM22.txt

(2)自己的表达矩阵

第一列是基因名,第一行是样品名,不能有重复基因名,第一列列名不能空白。矩阵中不能存在空白或NA值,不要对表达量取Log2.

如果表达矩阵中基因不能完全覆盖LM22.txt中的基因,Cibersort同样可以正常运行,但不能少于LM22.txt中所需基因的一半。

表达矩阵保存为制表符分割的txt文本(“DATA.txt”)

C:\Users\JinWa\AppData\Local\Temp\1632820952(1).png

表达矩阵示例

(3)Cibersort代码

在R中新建R Script,复制以下网址中代码,保存为“Cibersort.R”(进哥已提供,下载后修改后缀为.R)

https://rdrr.io/github/singha53/amritr/src/R/supportFunc_cibersort.R

(4)以上三个文件需保存在同一文件夹,运行Cibersort的代码如下:

setwd("三个文件的文件夹")
source('Cibersort.R')
result1 <- CIBERSORT('LM22.txt','DATA.txt', perm = 1000, QN = T)  #perm置换次数=1000,QN分位数归一化=TRUE

 

在同一文件夹下可以得到运算结果(”CIBERSORT-Results.txt”)

注意Cibersort结果的默认文件名为CIBERSORT-Results.txt,在同一文件夹下进行第二次运算会覆盖第一次得到的文件,建议在每一次运算之后对文件重命名。


CIBERSORTx是CIBERSORT的进阶版,是Alizadeh和Newman实验室开发的网页分析工具,目前还没有可下载的R代码。它用于估算基因表达谱,并使用基因表达数据估算混合细胞群中免疫细胞的类型和丰度,在肿瘤数据处理中使用广泛。

网站:https://cibersortx.stanford.edu
看下tutorial


ok,来整理我的mixture。

准备好了~22880genes*10samples

cibersortx计算细胞组分

我的数据是microarray,所以最后那个箭头不勾选。

结果

数据可下载txt/csv/..,图片是截图的。。没找到下载的地方。

7 Replies to “免疫浸润工具Cibersort和Cibersortx”

  1. 您好,
    1)请问出现报错:原因是?
    Error in CIBERSORT(“LM22.txt”, “av_rena.txt”, perm = 1000, QN = F) :
    None identical gene between eset and reference had been found.
    Check your eset using: intersect(rownames(eset), rownames(reference))
    2)samplename可以是分好组的细胞组别吗?

  2. 老师,我也是照着您的方法做的,但是最后运行的时候老是报错
    results=CIBERSORT(“dd.txt”,”cc.txt”,perm = 50, QN = F)
    Error in read.table(mixture_file, header = T, sep = “\t”, row.names = 1, :
    不允许有重复的’row.names’
    3.
    stop(“duplicate ‘row.names’ are not allowed”)
    2.
    read.table(mixture_file, header = T, sep = “\t”, row.names = 1,
    check.names = F) at cibersort.R#126
    1.
    CIBERSORT(“dd.txt”, “cc.txt”, perm = 50, QN = F)

    1. 你回复的系统邮件,我贴过来:
      老师,这个是我的代码
      source(‘Cibersort2.R’)
      results=CIBERSORT(“LM22.txt”,”dat.exp.txt”,perm = 50, QN = F)
      但结果报错提示:
      Error in read.table(mixture_file, header = T, sep = “\t”, row.names = 1, :
      不允许有重复的’row.names’
      3.stop(“duplicate ‘row.names’ are not allowed”)
      2.read.table(mixture_file, header = T, sep = “\t”, row.names = 1,
      check.names = F) at Cibersort2.R#126
      1.CIBERSORT(“LM22.txt”, “dat.exp.txt”, perm = 50, QN = F)
      老师,mixture_file这个文件是Cibersort2.R中的一个文件,意思是Cibersort2.R这个里面的代码有问题吗,这个是我去Cibersort官网粘贴的。

      回复:
      mixture_file文件是你自己的表达矩阵文件 你加我微信吧

  3. > setwd(“C:\\Users\\PC\\Desktop\\cibersort”)
    > source(‘Cibersort.R’)
    > result1 <- CIBERSORT('LM22.txt','DATA.txt', perm = 1000, QN = T)
    Error in CIBERSORT("LM22.txt", "DATA.txt", perm = 1000, QN = T) :
    没有可中断/下一步骤的循环, 跳到最高层
    王博您好,我完全按照您的步骤进行运行,确定没有重复,没有空白,基因也占三分之二,但是就是不行,这种还有其他可能吗。期待得到您的指导!

发表评论

邮箱地址不会被公开。 必填项已用*标注