跟着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个字我说累了哈哈哈~


相关文章
|
5月前
|
人工智能 运维 开发工具
一篇搞懂 AI Agent 架构选型,避开 80% 落地坑!
AI Agent正加速落地,但架构选型常成绊脚石。本文精析LangChain、LangGraph、AutoGen、CrewAI、OpenAI Agents SDK五大主流框架,从任务复杂度、可控性、开发效率、成本四大维度对比,助企业按需选型、避坑提速,实现智能化升级。
一篇搞懂 AI Agent 架构选型,避开 80% 落地坑!
|
数据采集 存储 数据可视化
Scanpy 分析 3k PBMCs:数据预处理
Scanpy 分析 3k PBMCs:数据预处理
586 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`参数预览效果。
|
机器学习/深度学习 自然语言处理 数据可视化
时序预测的三种方式:统计学模型、机器学习、循环神经网络
时序预测是一类经典的问题,在学术界和工业界都有着广泛的研究和应用。甚至说,世间万物加上时间维度后都可抽象为时间序列问题,例如股票价格、天气变化等等。关于时序预测问题的相关理论也极为广泛,除了经典的各种统计学模型外,当下火热的机器学习以及深度学习中的循环神经网络也都可以用于时序预测问题的建模。今天,本文就来介绍三种方式的简单应用,并在一个真实的时序数据集上加以验证。
1618 0
时序预测的三种方式:统计学模型、机器学习、循环神经网络
|
存储 算法 Linux
算法丨根据基因型VCF文件自动识别变异位点并生成序列fasta文件,基于R语言tidyverse
算法丨根据基因型VCF文件自动识别变异位点并生成序列fasta文件,基于R语言tidyverse
|
Linux Python
SGAT丨利用GAPIT进行GWAS分析的方法
SGAT丨利用GAPIT进行GWAS分析的方法
|
数据库
利用massdatabase包提取物种KEGG通路与基因/化合物对应信息
最近手头处理一批代谢组数据, 想基于几十个关键差异代谢物代谢物进行下KEGG富集,能想到有两种方式解决,一种常用方式就是基于MetaboAnalyst在线富集,另一种就是解析出该物种的通路与代谢物的对应关系文件,然后用Y叔叔的Clusterprofiler包富集。经一番搜索,massdatabase包可帮我们轻松获得这个文件。 作者:凯凯何_Boy 链接:https://www.jianshu.com/p/654784925903 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1676 1
|
数据可视化 Go
一行代码绘制高分SCI火山图
经过一段时间的文献阅读和资料查询,终于找到了一个好用而且简单的包——ggVolcano, 它是一个基于R语言和ggplot2绘图包开发的生物信息学数据可视化工具。它可以用于绘制火山图(Volcano plot),帮助研究者分析高通量实验数据,如基因表达谱或蛋白质组学数据,以识别差异表达或差异富集的基因或蛋白质。
1819 0
|
API Python
Anaconda+VSCode+QT Designer配置PyQt5环境
本文使用Anaconda+VSCode配置PyQt5环境,在开始之前新建Anaconda的虚拟环境,如果不需要虚拟环境可以直接使用默认的Base环境。另外针对ui文件转py文件报错ImportError: DLL load failed: 找不到指定的模块给出了解决办法
1800 0
|
数据可视化 数据挖掘 Linux
科研绘图丨使用R语言Pheatmap包快速绘制基因表达量热图的方法,支持聚类和配色自定义修改
科研绘图丨使用R语言Pheatmap包快速绘制基因表达量热图的方法,支持聚类和配色自定义修改