前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生信代码:差异分析(TCGAbiolinks包)

生信代码:差异分析(TCGAbiolinks包)

作者头像
科研菌
发布2021-01-12 11:01:40
2.7K0
发布2021-01-12 11:01:40
举报
文章被收录于专栏:科研菌

引言:上一期(这里可到达上一期)我们利用得到的肝癌的数据,进行了预处理,得到了最终的表达矩阵TCGA_LIHC_final.csv,今天我们的主要任务就是进行差异表达分析。此外,还会顺带讲两个进行富集分析和聚类分析的函数。

基因差异表达分析

01

# 首先读入表达矩阵文件

代码语言:javascript
复制
dataFilt_LIHC_final <- read.csv("TCGA_LIHC_final.csv", header = T,check.names = FALSE)
# 定义行名
rownames(dataFilt_LIHC_final) <- dataFilt_LIHC_final[,1]
dataFilt_LIHC_final <- dataFilt_LIHC_final[,-1]

# 先看一下矩阵长啥样,心里有个数:每一行是一个基因,每一列是一个样本

代码语言:javascript
复制
View(dataFilt_LIHC_final)

# 定义样本的分组,前340个是肿瘤样本,后50个是正常样本

代码语言:javascript
复制
# 定义肿瘤样本分组
mat1 <- dataFilt_LIHC_final[,1-340]
mat1 <- log(mat1+1)
# 定义正常组织样本分组
mat2 <- dataFilt_LIHC_final[,341-390]
mat2 <- log(mat2+1)

# 然后就可以进行差异表达分析啦!

代码语言:javascript
复制
Data_DEGs <- TCGAanalyze_DEA(mat1 = mat1,
                             mat2 = mat2,
                             Cond1type = "Tumor",
                             Cond2type = "Normal",
                             pipeline="limma",
                             batch.factors = c("TSS"),
                             voom = TRUE,
                             contrast.formula = "Mycontrast=Tumor-Normal")

# 差异表达分析结果:

代码语言:javascript
复制
View(Data_DEGs)

接下来我们来详细讲解一下 TCGAanalyze_DEA 函数的参数:

用法:

代码语言:javascript
复制
TCGAanalyze_DEA(mat1, mat2, metadata = TRUE, Cond1type, Cond2type,
                pipeline = "edgeR", method = "exactTest", fdr.cut = 1,
                logFC.cut = 0, elementsRatio = 30000, batch.factors = NULL,
                ClinicalDF = data.frame(), paired = FALSE, log.trans = FALSE,
                voom = FALSE, trend = FALSE, MAT = data.frame(),
                contrast.formula = "", Condtypes = c())

参数:

mat1

表达矩阵,行是基因,列是样本(如正常组织的表达矩阵)

mat2

表达矩阵,行是基因,列是样本(如肿瘤组织的表达矩阵)

metadata

添加 metadata

Cond1type

mat1中样品的分组信息(如对照组)

Cond2type

mat2中样品的分组信息(如病例组)

pipeline

指明使用哪个R包:"limma" or "edgeR"

method

用于pipeline="edgeR"时:2个选项'glmLRT': 用负二项广义对数线性模型拟合每个基因的read counts'exactTest': 用genewise精确检验得出两组负二项分布计数的平均值的差异。

fdr.cut

设置p值来筛选差异基因

logFC.cut

设置logFC阈值来筛选差异基因

batch.factors

批处理纠正选项:"Plate", "TSS", "Year", "Portion", "Center", "Patients"

ClinicalDF

GDCquery_clinic()返回的数据框,用于提取年份数据

paired

成对的样本设置为TRUE

log.trans

当要转换为log-CPM值时,设置为TRUE

voom

当进行voom转化时,设置为TRUE(voom参数详细可见limma包)

trend

要进行经验贝叶斯先验趋势时,设置为TRUE

MAT

一个基因表达矩阵,若已提供mat1 和 mat2,此参数不用设置

contrast.formula

自主设置系数和对比度

Condtypes

MAT中的样本分组

富集分析

02

# 设置logFC,挑选表达有差异的基因进行富集分析

代码语言:javascript
复制
Data_DEGs_high_expr <- Data_DEGs[Data_DEGs$logFC >=1,]
Genelist <- rownames(Data_DEGs_high_expr)

# 富集分析

代码语言:javascript
复制
ansEA <- TCGAanalyze_EAcomplete(TFname="DEA genes Normal Vs Tumor",
                                Genelist)

# 富集分析的结果

# 富集分析结果可视化

代码语言:javascript
复制
TCGAvisualize_EAbarplot(tf  = rownames(ansEA$ResBP),
                        GOBPTab = ansEA$ResBP,
                        GOCCTab = ansEA$ResCC,
                        GOMFTab = ansEA$ResMF,
                        PathTab = ansEA$ResPat,
                        nRGTab = Genelist,
                        nBar = 10, #显示条形图的数量
                        filename = "TCGAvisualize_EAbarplot_Output.pdf")

TCGAanalyze_EAcomplete 函数的用法:

代码语言:javascript
复制
TCGAanalyze_EAcomplete(TFname, RegulonList)

参数:

TFname

设置基因列表的名称

RegulonList

差异基因列表

TCGAvisualize_EAbarplot函数的用法:

代码语言:javascript
复制
TCGAvisualize_EAbarplot(tf, GOMFTab, GOBPTab, GOCCTab, PathTab, nBar,
                        nRGTab, filename = "TCGAvisualize_EAbarplot_Output.pdf",
                        text.size = 1, mfrow = c(2, 2), xlim = NULL, color = c("orange",
                        "cyan", "green", "yellow"))

参数:

tf

基因名列表

GOMFTab

TCGAanalyze_EAcomplete 函数的 Molecular Function (MF) 结果

GOBPTab

TCGAanalyze_EAcomplete 函数的 Biological Process (BP) 结果

GOCCTab

TCGAanalyze_EAcomplete 函数的 Cellular Component (CC) 结果

PathTab

TCGAanalyze_EAcomplete 函数的 Pathways EA 结果

nBar

显示的条形图直条的数量,默认是10

nRGTab

经过 logFC 筛选的差异基因列表

filename

pdf的名称,若 null,直接返回图片

text.size

文本字号

mfrow

图片的行数和列数,默认"c(2,2)":2行2列

xlim

X轴的范围

color

每个条形图的颜色,默认:c("orange", "cyan","green","yellow")

聚类分析

02

代码语言:javascript
复制
res.hc <- TCGAanalyze_Clustering(Data_DEGs, 
                                 method = "hclust", 
                                 methodHC = "ward.D2")

# 聚类分析结果:

TCGAanalyze_Clustering 函数的用法:

代码语言:javascript
复制
TCGAanalyze_Clustering(tabDF, method, methodHC = "ward.D2")

参数:

tabDF

一个数据框或数值型矩阵,行是基因,每列是一个样本(来自TCGAPrepare)

method

使用的聚类方法,如"hclust"(层次聚类) or "consensus"(一致性聚类)

methodHC

使用的层次聚类的方法,使用的方法有"ward.D", "ward.D2", "single", "complete", "average" (= UPGMA), "mcquitty" (= WPGMA), "median" (= WPGMC) or "centroid" (=UPGMC).

今天又是认真学习的一天呢,我们下一期将要分享的是TCGAbiolinks包的一些可视化功能,如热图、火山图等。哈哈,不见不散哦~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科研菌 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档