quanTIseq分析

1:前言介绍

quanTIseq**是一个计算管道,用于从人类 RNA测序数据中量化肿瘤免疫背景。
quanTIseq 将来自肿瘤样本或其他细胞混合物的 RNA-seq 读取的 FASTQ 文件作为输入,并通过反卷积对异质样本中存在的十种不同免疫细胞类型的比例(表1)以及其他未表征细胞的比例进行量化。

表1:信息内容缩写
TPM:每千个碱基的转录每百万映射读取的转录本
RNAseq:RNA测序
PDTX:人源肿瘤组织异种移植模型
Deconvolution:约束最小二乘回归的细胞分数去卷积
Cell fraction:细胞分数
Cell densities:细胞密度
B.cells:B细胞;B cells
Macrophages.M1:经典活化巨噬细胞 (M1);Classically activated macrophages (M1)
Macrophages.M2:选择性激活巨噬细胞 (M2);Alternatively activated macrophages (M2)
Monocytes:单核细胞;Monocytes
Neutrophils:中性粒细胞;Neutrophils
NK.cells:自然杀伤 (NK) 细胞;Natural killer (NK) cells
T.cells.CD4:非调节性 CD4+ T 细胞*;Non-regulatory CD4+ T cells *
T.cells.CD8:CD8+ T细胞;CD8+ T cells
Tregs:调节性 CD4+ T (Treg) 细胞;Regulatory CD4+ T (Treg) cells
Dendritic.cells:树突状细胞;Dendritic cells
Other:其他未表征的细胞;Other uncharacterized cells

2:程序安装
quanTIseq 可以在 Mac OS X(https://www.docker.com/)Singularity)上运行,只需调用“quanTIseq_pipeline.sh”脚本。管道代码和第三方软件嵌入在 Docker 映像中,简化了 quanTIseq 安装和使用

2.1 Mac OS X(基于 Docker)

安装 Docker(此处有说明)。

从此处下载“quanTIseq_pipeline.sh”脚本。

2.2 Linux(基于Singularity)

安装奇点(此处的说明)。

从此处下载“quanTIseq_pipeline.sh”脚本。

3: QuantTIseq 分析

QuantTIseq 分析由三个步骤组成

3.1 使用 Trimmomatic 对原始 RNA-seq 读段(单端或双端)进行预处理,以去除 Illumina 接头序列、修剪低质量读端、将长读段裁剪至最大长度并丢弃短读段。

3.2 使用 Kallisto 对基因表达进行量化,表示为每百万转录本 (TPM) 和原始计数。

3.3 表达标准化、基因重新注释、基于约束最小二乘回归的细胞分数去卷积以及细胞密度的计算(如果每mm 2的总细胞可从肿瘤组织切片的图像中获得)。

3.1 第一步: Trimmomatic 分析 (程序一步到位,可不单独执行)

基于R程序的tools软件包,进行java Trimmomatic

相关程序:
trimmomatic PE -phred33 input.file -baseout ILLUMINACLIP:TruSeq3-PE.fa:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:50

3.2 第二步: kallisto分析 (程序一步到位,可不单独执行)

基于kallisto程序包,进行基因组的匹配并计数

kallisto quant -i /opt/quantiseq/kallisto/hg19_M_rCRS_kallisto.idx -o ", opath," ", libtype, "-t ", threads," ", files)

基于python程序包,进行计数并进行TPM的转换

makeTPMtable<-function(inputdir, outputfile) {
  
  files<-list.files(inputdir)
  init<-FALSE
  for (i in 1:length(files)) {
    
    file<-file.path(inputdir, files[i])
    cdata<-read.table(file, header=TRUE, stringsAsFactors=FALSE)
    
    #just consider files with correct headers
    if(sum(colnames(cdata) == c("target_id","length","eff_length","est_counts","tpm")) != 5) next

    if (!init) {        
      data<-createMat(cdata,files)
      init<-TRUE
    }
    data[,i+1]<-cdata$tpm[match(data$Feature, cdata$target_id)]
    data[,i+length(files)+1]<-cdata$est_counts[match(data$Feature, cdata$target_id)]
    
  }
  dataout<-mapGenes(data)
  writeData(dataout, outputfile, length(files))
}

3.3 第三步: QuantTIseq分析 (程序一步到位,可不单独执行)

基于R程序的preprocessCore软件包,进行细胞比例成分的统计

fileout<-paste0(output, prefix, "_cell_fractions.txt")
DCres <- results
results<-cbind(rownames(results), results)
colnames(results)[1]<-"Sample"
write.table(results, 
            sep="\t",
            row.names=FALSE,
            quote=FALSE,
            file=fileout)

if (btotalcells == TRUE){
  
  celldens <- celldensities(DCres)
  fileout2 <- paste0(output, prefix, "_cell_densities.txt")
  celldens<-cbind(rownames(celldens), celldens)
  colnames(celldens)[1]<-"Sample"
  write.table(celldens,
              sep="\t",
              row.names=FALSE,
              quote=FALSE,
              file=fileout2)
}

4:用法

要运行 quanTIseq,请执行以下命令:

bash quanTIseq_pipeline.sh --inputfile=path/to/input_file.txt --outputdir=path/to/outputdir [options]

--inputfile:输入文件的路径(强制)。输入文件是一个制表符分隔的文本文件,没有标题,包含要分析的 RNA-seq 数据的信息,每行一个样本。对于每个样本,它必须包含三列,指定:样本的 ID、第一个 FASTQ 文件的路径以及配对端数据的第二个 FASTQ 文件的路径。对于单端数据,第三列必须报告字符串“None”。FASTQ 文件可以进行 gzip 压缩(“.gz”扩展名)。要使用“--pipelinestart=decon”选项运行 quanTIseq,输入文件必须是制表符分隔的文本文件与所有要解卷积样本的基因 TPM(或微阵列表达值)(第一列上的基因符号和第一行上的样本 ID)。表达数据必须采用非对数尺度。

--outputdir:输出目录的路径(强制)。如果它不存在,quanTIseq 将创建它。

  • quanTIseq 根据您的计算机操作系统自动选择 Docker 或 Singularity。
  • 在 Mac OS X 上,您需要运行 Docker 才能执行 quanTIseq。
  • 在 Mac OS X 上,您可能需要在 Docker 设置(设置 > 首选项 > 高级)中增加 CPU、内存和交换。
  • 在 Linux 上,quanTIseq 将奇点图像“quantiseq2.img”存储在当前目录中。

5:选项

--help:打印这些说明。

--pipelinestart:管道应从该步骤启动,如图1所示:(1) “preproc”、(2) “expr”或 (3) “decon”。 注意:如果“decon”,输入文件必须是制表符分隔的文本文件,其中包含要解卷积的所有样本的基因 TPM(或微阵列表达值)(第一列上的基因符号和第一行上的样本 ID)。表达数据必须采用非对数尺度。

默认值:“预处理”。

--tumor:指定表达数据是否来自肿瘤样本。如果为 TRUE,则去除肿瘤样本中高表达的特征基因(参见[1])。我们强烈建议在分析肿瘤数据时设置“--tumor=TRUE”。

默认值:假。

--arrays:指定表达数据是否来自微阵列(而不是 RNA-seq)。如果为 TRUE,则“--rmgenes”参数设置为“none”。

默认值:假。

--method:要使用的反卷积方法:“hampel”、“huber”或“bisquare”分别用于使用 Huber、Hampel 或 Tukey 双平方估计器进行稳健回归,或“lsei”用于约束最小二乘回归。未表征细胞(“其他”)的分数仅通过“lsei”方法计算,该方法估计涉及所研究样品中总细胞的细胞分数。对于所有其他方法,细胞分数指的是特征矩阵中考虑的免疫细胞。我们建议使用“lsei”方法。

默认值:“lsei”。

--mRNAscale:指定是否必须缩放细胞分数以考虑细胞类型特异性的 mRNA 内容。我们强烈建议使用默认设置:“--mRNAscale=TRUE”。

默认值:真。

--totalcells :制表符分隔的文本文件的路径,其中包含从肿瘤组织切片图像估计的总细胞密度。文件必须没有标题,并且在第一列中包含样本 ID,在第二列中包含根据肿瘤图像(例如,根据苏木精和伊红 (H&E) 染色组织的图像)估计的每 mm 2细胞总数幻灯片)。quanTIseq 计算特征矩阵的所有细胞类型以及“inputfile”和“totalcell”文件中存在的所有样本的细胞密度。此参数是可选的,如果未设置,则仅返回解卷积的细胞分数。

--rmgenes:指定在运行反卷积之前必须从特征矩阵中删除哪些基因。该参数可以等于:

“none”:没有基因被去除;

“default”:删除 该文件中报告的基因列表;

可以指定包含要删除的基因列表的文本文件的路径。文本文件必须每行报告一个基因符号,如本例所示。可用于指定已知/被认为会对反卷积结果产生偏差的噪声基因(例如,在感兴趣的样本中具有非常高表达的免疫基因)。

我们建议分别使用“默认”和“无”对 RNA-seq 和微阵列数据进行反卷积。

默认值:“默认”。

--rawcounts:指定除了 TPM 之外是否还应生成基因原始计数文件。

默认值:假。

--prefix:输出文件的前缀。

默认值:“quanTIseq”。

--threads:要使用的线程数。注意:kallisto 结果(基因计数和 TPM)可能会略有不同,具体取决于所使用的线程数。

默认值:1。

--phred :使用Trimmomatic进行读取预处理的 RNA-seq 质量分数的编码 :“33”表示 Phred-33 或“64”表示 Phred-64。

默认值:33。

**--adapterSeed : **Trimmomatic识别接头序列时种子不匹配的最大数量 。

默认值:2。

**--palindromeClip : **Trimmomatic对接头序列进行回文剪辑的阈值 。

默认值:30。

**--simpleClip : **Trimmomatic简单剪切接头序列的阈值 。

默认值:10。

**--trimLead : **Trimmomatic在读取开始时保留碱基所需的最低 Phred 质量 。质量较低的碱基会被修剪。

默认值:20。

--trimTrailTrimmomatic在读取结束时保留碱基所需的最低 Phred 质量。质量较低的碱基会被修剪。

默认值:20。

--minLenTrimmomatic保持读取所需的最小读取长度。短于该阈值的读取将被丢弃。

默认值:36。

**--crop : **Trimmomatic所需的最大读取长度 。通过删除读数末尾的碱基,将较长的读数修剪至最大长度。

默认值:10000。

**--avgFragLen : **Kallisto对单端数据 所需的估计平均片段长度 。

默认值:50。

**--sdFragLen : **Kallisto对单端数据 所需的片段长度的估计标准偏差 。

默认值:20。

6:输出文件

prefix_cell_fractions.txt制表符分隔的文本文件, 其中包含由 quanTIseq 估计的细胞分数(第一列上的样本 ID 和第一行上的细胞类型)。仅当“--method=lsei”时才报告 未表征细胞的分数(表 1 )。

prefix_gene_tpm.txt制表符分隔的文本文件, 其中包含 TPM 中的基因表达(第一列上的基因符号和第一行上的样本 ID)。当指定“--pipelinestart=decon”选项时,不会生成此文件。

prefix_gene_count.txt制表符分隔的文本文件, 其中包含读取计数中的基因表达(第一列上的基因符号和第一行上的样本 ID)。仅当指定“--rawcounts=TRUE”选项时才会生成此文件。

7:测试数据

要在模拟 RNA-seq 数据(即来自 Sample1 的配对端数据和来自 Sample2 的单端数据)上测试 quanTIseq 管道,请在工作目录中下载“quanTIseq_pipeline.sh”脚本和以下测试文件

QuantTIseqTest_input.txt

样本1_1.fq

样本1_2.fq

样本2.fq

完整的 QuantTIseq 管道可以使用以下命令运行:

bash quanTIseq_pipeline.sh --inputfile=quanTIseqTest_input.txt --outputdir=quanTIseqTest --prefix=quanTIseqTest

注意:要运行此测试,QuantTIseq 必须已成功安装(请参阅安装

QuantTIseq 将生成以下输出文件:

QuantTIseqTest_gene_tpm.txt

QuantTIseqTest_cell_fractions.txt

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容