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

简介: 这篇2020年发表在cell上关于新冠的组学文章里面有大量的生信内容。今天带大家复现其中的一个Supplemental Figure:时间序列分析图。

时间序列分析


在研究基因表达谱或者蛋白表达谱时,经常会涉及到对时间序列的分析。例如,不同的基因或蛋白表达水平随时间表现出怎样的动力学特征,怎样挖掘潜在的时间特征?Mfuzz是用来进行不同时间点转录组数据表达模式聚类分析的R包。它能够识别表达谱的潜在时间序列模式,并将相似模式的基因聚类,以帮助我们了解基因的动态模式和它们功能的联系。本图中1,2,3,4,分别表示健康、非新冠肺炎、非重度新冠肺炎、重度新冠肺炎。


数据格式


image.png

210421_2

注:示例数据仅作展示用,无实际意义!


绘制


#------
title: "Mfuzz"
author: "MZBJ"
date: "2020/4/25"
#-----
setwd("F:/~/mzbj/cell/20210426")
df <- read.csv(file = "df_umap.csv")
df1 <- df[,-1]
#分组求均值
#aggregate用法上一篇原创推文已经介绍过了,不熟悉的可以去回顾一下
df2<-aggregate(df1[,colnames(df1)[2:ncol(df1)]],by=list(df1$label),mean,na.rm= TRUE)
#把第一列设为行名
row.names(df2)<-df6[,1]
df3<-data.frame(t(df2[,-1]))
#第一次使用要下载
BiocManager::install("Mfuzz")
library("Mfuzz")
#构建对象
df3a<-as.matrix(df3)
df3Ex<- ExpressionSet(assayData = df3a)
#排除了超过25%的测量缺失的基因
df3F <- filter.NA(df3Ex,thres = 0.25)
#用相应基因的平均值表达值替换剩余的缺失值
df3F <- fill.NA(df3F,mode = 'mean')
#标准化
df3F <- standardise(df3F)
#聚类
set.seed(2021)
#手动定义聚类个数 c
cl <- mfuzz(df3F,c=8,m=1.25)
#作图
pdf("mfuzz.pdf")
mfuzz.plot2(df3F, cl=cl,mfrow=c(4,4),centre=TRUE,x11=F,centre.lwd=0.2)
dev.off()
#批量导出每个聚类所包含的基因
dir.create(path="mfuzz",recursive = TRUE)
for(i in 1:8){
  potname<-names(cl$cluster[unname(cl$cluster)==i])
  write.csv(cl[[4]][potname,i],paste0("mfuzz","/mfuzz_",i,".csv"))
}

出图:


image.png


20210425_2

一模一样4个字我说累了哈哈哈~


相关文章
|
边缘计算 数据可视化 物联网
node-red介绍
Node-RED最初是IBM在2013年末开发的一个开源项目——基于数据流(dataflow)的可视化编程工具。
node-red介绍
|
存储 测试技术
模拟实现链式二叉树及其结构学习——【数据结构】
模拟实现链式二叉树及其结构学习——【数据结构】
307 0
|
数据采集 存储 数据可视化
Scanpy 分析 3k PBMCs:数据预处理
Scanpy 分析 3k PBMCs:数据预处理
572 12
Scanpy 分析 3k PBMCs:数据预处理
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename &#39;s/2023/2024/&#39; *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
|
机器学习/深度学习 自然语言处理 数据可视化
时序预测的三种方式:统计学模型、机器学习、循环神经网络
时序预测是一类经典的问题,在学术界和工业界都有着广泛的研究和应用。甚至说,世间万物加上时间维度后都可抽象为时间序列问题,例如股票价格、天气变化等等。关于时序预测问题的相关理论也极为广泛,除了经典的各种统计学模型外,当下火热的机器学习以及深度学习中的循环神经网络也都可以用于时序预测问题的建模。今天,本文就来介绍三种方式的简单应用,并在一个真实的时序数据集上加以验证。
1601 0
时序预测的三种方式:统计学模型、机器学习、循环神经网络
|
存储 算法 Linux
算法丨根据基因型VCF文件自动识别变异位点并生成序列fasta文件,基于R语言tidyverse
算法丨根据基因型VCF文件自动识别变异位点并生成序列fasta文件,基于R语言tidyverse
|
安全 UED
麒麟的版本 V10 (Lance) V10 (Tercel) 有什么区别
【6月更文挑战第26天】麒麟的版本 V10 (Lance) V10 (Tercel) 有什么区别
14337 2
|
Linux 开发工具
最优秀的5个Linux文本编辑器
导读:作者aaabz写了一篇文章《最优秀的5个Linux文本编辑器》,作为不久前举办的比赛的一部分内容,我从那些选出他们最喜欢的Linux文本编辑器的极客读者们那获得了约200个反馈。基于这个数据,最优秀的Linux文本编辑器: Vi/Vim Editor  Vim以绝对优势获胜在大家的意料之中。
3164 0
|
Linux Python
SGAT丨利用GAPIT进行GWAS分析的方法
SGAT丨利用GAPIT进行GWAS分析的方法
|
机器学习/深度学习 自然语言处理 API
初识LangChain的快速入门指南
初识LangChain的快速入门指南