如何使用TCGAbiolinks进行数据预处理?

科研菌
关注

这里将生成一个array-array intensity correlation(AAIC)相关性热图,如下:

TCGAanalyze_Preprocessing()中的参数:

参数用法object来自TCGAprepare的结果cor.cut设置阈值,根据样本中各个样本之间的spearman相关系数进行过滤。默认为0filename设置生成图片文件的名称,默认为PreprocessingOutput.pngwidth生成图片的宽度?? height生成图片的高度datatype描述RangedSummarizedExperiment 数据类型的字符串

第五步:TCGAtumor_purity()筛选肿瘤纯度大于60%的肿瘤barcodes

# TCGAtumor_purity(barcodes, estimate, absolute, lump, ihc, cpe),使用来自5种方法的5个估计值作为阈值对TCGA样本进行过滤,这5个值是estimate, absolute, lump, ihc, cpe,这里设置cpe=0.6(cpe是派生的共识度量,是将所有方法的标准含量归一化后的均值纯度水平,以使它们具有相等的均值和标准差)

#筛选肿瘤纯度大于等于60%的样本数据

purityDATA <- TCGAtumor_purity(colnames(dataPrep1), 0, 0, 0, 0, 0.6)

# filtered 为被过滤的数据, pure_barcodes是我们要的肿瘤数据

Purity.LIHC<-purityDATA$pure_barcodes

normal.LIHC<-purityDATA$filtered

filtered 为被过滤的数据(为正常组织的数据barcodes), pure_barcodes是我们要的肿瘤样本barcodes。

第六步:将肿瘤表达矩阵与正常组织表达矩阵合并,进行基因注释

#获取肿瘤纯度大于60%的340个肿瘤组织样本+50个正常组织样本,共计390个样本

puried_data <-dataPrep2[,c(Purity.LIHC,normal.LIHC)]

第七步:进行表达矩阵基因注释

#基因注释,需要加载“SummarizedExperiment”包,“SummarizedExperiment container”每个由数字或其他模式的类似矩阵的对象表示。行通常表示感兴趣的基因组范围和列代表样品。

#if (!requireNamespace("BiocManager", quietly = TRUE))

install.packages("BiocManager")

#BiocManager::install("SummarizedExperiment")    #没有的需要执行下载代码

library("SummarizedExperiment")

rowData(dataPrep1)   #传入数据dataPrep1必须为SummarizedExperiment对象

# DataFrame with 56512 rows and 3 columns

#                 ensembl_gene_id external_gene_name original_ensembl_gene_id

#                     <character>        <character>              <character>

# ENSG00000000003 ENSG00000000003             TSPAN6       ENSG00000000003.13

# ENSG00000000005 ENSG00000000005               TNMD        ENSG00000000005.5

# ENSG00000000419 ENSG00000000419               DPM1       ENSG00000000419.11

# ENSG00000000457 ENSG00000000457              SCYL3       ENSG00000000457.12

#将结果写入文件“puried.LIHC.cancer.csv”

rownames(puried_data)<-rowData(dataPrep1)$external_gene_name

write.csv(puried_data,file = "puried.LIHC.csv",quote = FALSE)

第八步:进行表达矩阵标准化和过滤,得到用于差异分析的表达矩阵

`TCGAanalyze_Normalization()`使用EDASeq软件包标准化mRNA转录本和miRNA。

#TCGAanalyze_Normalization()执行EDASeq包中的如下功能:

1. EDASeq::newSeqExpressionSet

2. EDASeq::withinLaneNormalization

3. EDASeq::betweenLaneNormalization

4. EDASeq::counts

dataNorm <- TCGAanalyze_Normalization(tabDF = puried_data,

geneInfo = geneInfo,

method = "gcContent")

TCGAanalyze_Normalization中的参数:

参数用法tabDFRNAseq表达矩阵,行代表基因,列代表样本geneInfo关于geneLength和gcContent的20531个基因的矩阵,“geneInfoHT”和“geneInfo”可选。method选择标准化的方法,基于’gcContent’ 或 ’geneLength’的标准化方法可选

#将标准化后的数据再过滤,去除掉表达量较低(count较低)的基因,得到最终的数据

dataFilt <- TCGAanalyze_Filtering(tabDF = dataNorm,

method = "quantile",

qnt.cut =  0.25)

str(dataFilt)

#num [1:13083, 1:340] 274 2432 60347 1012 1947 ...

#- attr(*, "dimnames")=List of 2

# ..$ : chr [1:13083] "A1BG" "A1CF" "A2M" "A4GALT" ...

# ..$ : chr [1:390] "TCGA-DD-AAD5-01A-11R-A41C-07" "TCGA-DD-A4NO-01A-11R-A28V-07" "TCGA-EP-A2KA-01A-11R-A180-07" "TCGA-DD-AACP-01A-11R-A41C-07" ...

TCGAanalyze_Filtering()中的参数:

参数用法tabDF数据框或者矩阵,行代表基因,列代表来自TCGA的样本method用于过滤较低count数的基因的方法,有’quantile’, ’varFilter’, ’filter1’, ’filter2’qnt.cut选择均值作为过滤的阈值

最后将过滤后的数据写入文件“TCGA_LIHC_final.csv”,就得到我们用于后续差异分析的表达文件:

write.csv(dataFilt,file = "TCGA_LIHC_final.csv",quote = FALSE)

#保留的是390个样本(前340肿瘤,后50正常组织)

今天的数据预处理就讲到这里,接下来我们将分享:数据分析(差异表达分析、富集分析和聚类分析等)。如果你喜欢的话,就加入我们一起挖数据吧~~

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存