R实战 | NGS数据时间序列分析(maSigPro)

R实战 | NGS数据时间序列分析(maSigPro)

[图片上传失败...(image-5355e7-1653975368931)]

[图片上传失败...(image-533c51-1653975368931)]

跟着Cell学作图 | 6.时间序列分析(Mfuzz包)

一个答疑教程

[图片上传失败...(image-95c0e7-1653975368931)]

22

示例数据

#BiocManager::install('maSigPro')
library(maSigPro)
# 载入示例数据
data(data.abiotic) 
data.abiotic[1:5,1:5]
data(edesign.abiotic)
head(edesign.abiotic)
> data.abiotic[1:5,1:5]
        Control_3H_1 Control_3H_2 Control_3H_3 Control_9H_1 Control_9H_2
STMDF90   0.13735714   -0.3653065  -0.15329448   0.44754535  0.287476796
STMCJ24           NA           NA           NA           NA           NA
STMJH42   0.07864449    0.1002328  -0.17365488  -0.25279484  0.184855409
STMDE66   0.22976991    0.4740975   0.46930716   0.37101059 -0.004992029
STMIX74   0.14407618   -0.4801864  -0.07847999   0.05692331  0.013045420
> head(edesign.abiotic)
             Time Replicate Control Cold Heat Salt
Control_3H_1    3         1       1    0    0    0
Control_3H_2    3         1       1    0    0    0
Control_3H_3    3         1       1    0    0    0
Control_9H_1    9         2       1    0    0    0
Control_9H_2    9         2       1    0    0    0
Control_9H_3    9         2       1    0    0    0

注意:data.abiotic是已经标准化过的基因表达矩阵

建立回归模型

生成回归矩阵(makeDesignMatrix)

design <- make.design.matrix(edesign.abiotic, degree = 2)
design$groups.vector

示例数据有三个时间的,故考虑二次回归模型(degree = 2)。

> design$groups.vector
 [1] "ColdvsControl" "HeatvsControl" "SaltvsControl" "Control"      
 [5] "ColdvsControl" "HeatvsControl" "SaltvsControl" "Control"      
 [9] "ColdvsControl" "HeatvsControl" "SaltvsControl"

寻找重要基因(p.vector)

F检验确定回归方程的显著性,采用BH的校正方式,校正多重假设检验的p值。

校正后的p值小于p.vector的参数Q的基因就作为候选基因,进行下一步的分析。通过fit$SELEC可以得到候选基因的表达量信息。

fit <- p.vector(data.abiotic, # 标准化的表达矩阵 
                design, # 实验设计的矩阵 make.design.matrix 生成
                Q = 0.05, # 显著性水平
                MT.adjust = "BH", 
                min.obs = 20 
                # 最低表达样本数 不应小于(degree+1)xGroups+1 
                )
fit$i # 显著性基因的数量 
fit$SELEC # 显著性基因表达矩阵

寻找显著性差异(T.fit)

上述的回归方程是基于所有的自变量的组合构建的,接下来就是通过逐步回归法确定最佳的自变量组合。

tstep <- T.fit(fit, # p.vector结果
               step.method = "backward", 
               alfa = 0.05) # 在逐步回归中用于变量选择的显著性水平

在挑选最佳的自变量组合时,通过每种自变量组合对应的回归模型的拟合优度值R-squared来进行判断,R-squared取值范围为0到1,数值越大,越接近1,回归模型的效果越好。

获取显著性基因列表(get.siggenes)

sigs <- get.siggenes(tstep, # T.fit结果
                     rsq = 0.6, # 逐步回归中的R-squared截至值
                     vars = "groups")
# vars参数有3种
# all  每个基因直接给出一个最佳的回归模型
# groups  只给出不同实验条件下相比control组中的差异基因
# each 会给出时间点和实验条件的所有组合对应差异基因列表
names(sigs)
names(sigs$sig.genes$ColdvsControl)
sigs$sig.genes$ColdvsControl$sig.profiles # 查看cold vs control的结果

结果可视化

韦恩图(suma2Venn)

suma2Venn(sigs$summary[, c(2:4)]) # 左图
suma2Venn(sigs$summary[, c(1:4)]) # 右图
# 这个韦恩图面积大小与数量不成比例 较普通

[图片上传失败...(image-53f699-1653975368931)]

see.genes()

see.genes(sigs$sig.genes$ColdvsControl, # 差异基因表达矩阵
          show.fit = T, # 是否显示回归拟合线(虚线)
          dis =design$dis, # 回归设计矩阵
          cluster.method="hclust" , # 聚类方法
          cluster.data = 1, 
          k = 9) # 聚类数目

[图片上传失败...(image-e14690-1653975368931)]

这一步生成两个图,如图可分别查看。注意调整图片显示区域大小,以免报错。

[图片上传失败...(image-d192c2-1653975368931)]

[图片上传失败...(image-6a30f8-1653975368931)]

PlotGroups()

选择某一特定genes的表达进行可视化。

# 选取STMDE66基因
STMDE66 <- data.abiotic[rownames(data.abiotic)=="STMDE66", ]
PlotGroups (STMDE66, 
            edesign = edesign.abiotic)

[图片上传失败...(image-ba61b6-1653975368931)]

# 添加回归拟合线
PlotGroups (STMDE66, 
            edesign = edesign.abiotic, 
            show.fit = T, 
            dis = design$dis, 
            groups.vector = design$groups.vector)

[图片上传失败...(image-cb99f-1653975368931)]

示例数据和代码领取

详见:https://mp.weixin.qq.com/s/MFdPrXrD_gErao-Jtsu6Fg

参考

Bioconductor - maSigPro(https://bioconductor.org/packages/release/bioc/html/maSigPro.html)

往期内容

  1. (免费教程+代码领取)|跟着Cell学作图系列合集
  2. Q&A | 如何在论文中画出漂亮的插图?
  3. Front Immunol 复现 | 4. 使用estimate包评估肿瘤纯度
  4. R绘图 | 气泡散点图+拟合曲线
  5. 跟着 Cell 学作图 | 桑葚图(ggalluvial)
  6. R绘图 | 对比条形图+连线
  7. R绘图 | 一幅小提琴图的美化之旅
  8. R实战 | 给聚类加个圈圈(ggunchull)
  9. R绘图 | 描述性统计常用图(散点图+柱状图+饼图)

[图片上传失败...(image-d6ce5c-1653975368931)]# R实战 | NGS数据时间序列分析(maSigPro)

[图片上传失败...(image-50f56f-1653975368931)]

[图片上传失败...(image-3758c5-1653975368931)]

跟着Cell学作图 | 6.时间序列分析(Mfuzz包)

一个答疑教程

[图片上传失败...(image-1297de-1653975368931)]

22

示例数据

#BiocManager::install('maSigPro')
library(maSigPro)
# 载入示例数据
data(data.abiotic) 
data.abiotic[1:5,1:5]
data(edesign.abiotic)
head(edesign.abiotic)
> data.abiotic[1:5,1:5]
        Control_3H_1 Control_3H_2 Control_3H_3 Control_9H_1 Control_9H_2
STMDF90   0.13735714   -0.3653065  -0.15329448   0.44754535  0.287476796
STMCJ24           NA           NA           NA           NA           NA
STMJH42   0.07864449    0.1002328  -0.17365488  -0.25279484  0.184855409
STMDE66   0.22976991    0.4740975   0.46930716   0.37101059 -0.004992029
STMIX74   0.14407618   -0.4801864  -0.07847999   0.05692331  0.013045420
> head(edesign.abiotic)
             Time Replicate Control Cold Heat Salt
Control_3H_1    3         1       1    0    0    0
Control_3H_2    3         1       1    0    0    0
Control_3H_3    3         1       1    0    0    0
Control_9H_1    9         2       1    0    0    0
Control_9H_2    9         2       1    0    0    0
Control_9H_3    9         2       1    0    0    0

注意:data.abiotic是已经标准化过的基因表达矩阵

建立回归模型

生成回归矩阵(makeDesignMatrix)

design <- make.design.matrix(edesign.abiotic, degree = 2)
design$groups.vector

示例数据有三个时间的,故考虑二次回归模型(degree = 2)。

> design$groups.vector
 [1] "ColdvsControl" "HeatvsControl" "SaltvsControl" "Control"      
 [5] "ColdvsControl" "HeatvsControl" "SaltvsControl" "Control"      
 [9] "ColdvsControl" "HeatvsControl" "SaltvsControl"

寻找重要基因(p.vector)

F检验确定回归方程的显著性,采用BH的校正方式,校正多重假设检验的p值。

校正后的p值小于p.vector的参数Q的基因就作为候选基因,进行下一步的分析。通过fit$SELEC可以得到候选基因的表达量信息。

fit <- p.vector(data.abiotic, # 标准化的表达矩阵 
                design, # 实验设计的矩阵 make.design.matrix 生成
                Q = 0.05, # 显著性水平
                MT.adjust = "BH", 
                min.obs = 20 
                # 最低表达样本数 不应小于(degree+1)xGroups+1 
                )
fit$i # 显著性基因的数量 
fit$SELEC # 显著性基因表达矩阵

寻找显著性差异(T.fit)

上述的回归方程是基于所有的自变量的组合构建的,接下来就是通过逐步回归法确定最佳的自变量组合。

tstep <- T.fit(fit, # p.vector结果
               step.method = "backward", 
               alfa = 0.05) # 在逐步回归中用于变量选择的显著性水平

在挑选最佳的自变量组合时,通过每种自变量组合对应的回归模型的拟合优度值R-squared来进行判断,R-squared取值范围为0到1,数值越大,越接近1,回归模型的效果越好。

获取显著性基因列表(get.siggenes)

sigs <- get.siggenes(tstep, # T.fit结果
                     rsq = 0.6, # 逐步回归中的R-squared截至值
                     vars = "groups")
# vars参数有3种
# all  每个基因直接给出一个最佳的回归模型
# groups  只给出不同实验条件下相比control组中的差异基因
# each 会给出时间点和实验条件的所有组合对应差异基因列表
names(sigs)
names(sigs$sig.genes$ColdvsControl)
sigs$sig.genes$ColdvsControl$sig.profiles # 查看cold vs control的结果

结果可视化

韦恩图(suma2Venn)

suma2Venn(sigs$summary[, c(2:4)]) # 左图
suma2Venn(sigs$summary[, c(1:4)]) # 右图
# 这个韦恩图面积大小与数量不成比例 较普通

[图片上传失败...(image-70965a-1653975368931)]

see.genes()

see.genes(sigs$sig.genes$ColdvsControl, # 差异基因表达矩阵
          show.fit = T, # 是否显示回归拟合线(虚线)
          dis =design$dis, # 回归设计矩阵
          cluster.method="hclust" , # 聚类方法
          cluster.data = 1, 
          k = 9) # 聚类数目

[图片上传失败...(image-a2527d-1653975368931)]

这一步生成两个图,如图可分别查看。注意调整图片显示区域大小,以免报错。

[图片上传失败...(image-a09102-1653975368931)]

[图片上传失败...(image-a4c051-1653975368931)]

PlotGroups()

选择某一特定genes的表达进行可视化。

# 选取STMDE66基因
STMDE66 <- data.abiotic[rownames(data.abiotic)=="STMDE66", ]
PlotGroups (STMDE66, 
            edesign = edesign.abiotic)

[图片上传失败...(image-1045d2-1653975368931)]

# 添加回归拟合线
PlotGroups (STMDE66, 
            edesign = edesign.abiotic, 
            show.fit = T, 
            dis = design$dis, 
            groups.vector = design$groups.vector)

[图片上传失败...(image-2d7f07-1653975368931)]

示例数据和代码领取

点赞在看 本文,分享至朋友圈集赞20个保留30分钟,截图发至微信mzbj0002领取。

木舟笔记2022年度VIP可免费领取

木舟笔记2022年度VIP企划

权益:

  1. 2022年度木舟笔记所有推文示例数据及代码(在VIP群里实时更新)。

    <img src="https://mzbj-1312199408.cos.ap-shanghai.myqcloud.com/image-20220529221704900.png" alt="image-20220529221704900" style="zoom:67%;" />

  2. 木舟笔记科研交流群

  3. 半价购买跟着Cell学作图系列合集(免费教程+代码领取)|跟着Cell学作图系列合集

收费:

**99¥/人**。可添加微信:`mzbj0002` 转账,或直接在文末打赏。

<img src="https://mzbj-1312199408.cos.ap-shanghai.myqcloud.com/image-20220529221602758.png" alt="image-20220529221602758" style="zoom:50%;" />

参考

Bioconductor - maSigPro(https://bioconductor.org/packages/release/bioc/html/maSigPro.html)

往期内容

  1. (免费教程+代码领取)|跟着Cell学作图系列合集
  2. Q&A | 如何在论文中画出漂亮的插图?
  3. Front Immunol 复现 | 4. 使用estimate包评估肿瘤纯度
  4. R绘图 | 气泡散点图+拟合曲线
  5. 跟着 Cell 学作图 | 桑葚图(ggalluvial)
  6. R绘图 | 对比条形图+连线
  7. R绘图 | 一幅小提琴图的美化之旅
  8. R实战 | 给聚类加个圈圈(ggunchull)
  9. R绘图 | 描述性统计常用图(散点图+柱状图+饼图)

[图片上传失败...(image-fc3c55-1653975368931)]

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

推荐阅读更多精彩内容