前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >🤩 TrendCatcher | 一把做动态差异表达分析的利剑!~(一)

🤩 TrendCatcher | 一把做动态差异表达分析的利剑!~(一)

作者头像
生信漫卷
发布2024-11-23 09:10:23
发布2024-11-23 09:10:23
16300
代码可运行
举报
运行总次数:0
代码可运行

写在前面

TrendCatcher 是一个专门用于识别时间序列数据中关键趋势变化的 R 包,特别适用于动态的生物学或医学研究场景,如单细胞转录组测序数据的时间或伪时间序列分析。

它的设计目的是帮助研究人员捕捉数据随时间变化的模式,特别是那些与生物过程相关的动态转变。

TrendCatcher 的核心原理是通过模型拟合和统计检验来识别数据中显著的趋势。它将数据集分段,使用非线性回归模型拟合每个分段,并通过比较模型拟合的变化来检测出显著的趋势。这种方法能够有效处理复杂的、非线性的生物学数据,特别是时间序列数据中的变化点。

用到的包

代码语言:javascript
代码运行次数:0
运行
复制
rm(list = ls())
# install.packages("./TrendCatcher_1.0.0.tar.gz", repos = NULL, type = "source")
# devtools::install_github("jaleesr/TrendCatcher", dependencies = TRUE, build_vignettes = FALSE)
library(tidyverse)
library(TrendCatcher)

示例数据

TrendCatcher需要输入数据为count矩阵!~😘

代码语言:javascript
代码运行次数:0
运行
复制
example.file.path<-system.file("extdata", "Brain_DemoCountTable.csv", package = "TrendCatcher")
tb <- read.csv(example.file.path, row.names = 1)
head(tb)

运行TrendCatcher并生成master.list

这里我们为了节省时间就把已经运行好的结果加进来吧。😜

代码语言:javascript
代码运行次数:0
运行
复制
example.file.path<-system.file("extdata", "Brain_DemoCountTable.csv", package = "TrendCatcher")

master.list<-run_TrendCatcher(count.table.path = example.file.path,
                              baseline.t = 0,
                              time.unit = "h",
                              min.low.count = 1,
                              para.core.n = 4,
                              dyn.p.thres = 0.05
                              )

查看master.list

代码语言:javascript
代码运行次数:0
运行
复制
names(master.list)

代码语言:javascript
代码运行次数:0
运行
复制
print(c(master.list$time.unit, master.list$baseline.t))

代码语言:javascript
代码运行次数:0
运行
复制
master.list$t.arr

代码语言:javascript
代码运行次数:0
运行
复制
master.list$Project.name

代码语言:javascript
代码运行次数:0
运行
复制
head(master.list$raw.df)

代码语言:javascript
代码运行次数:0
运行
复制
head(master.list$fitted.count)

代码语言:javascript
代码运行次数:0
运行
复制
head(master.list$master.table)

ID2SYMBOL

包内有相关函数,不过我觉得不是很好用,很费时间。⌚️

大家试试别的转换方式,比这个快的太多了,这里就不赘述了。🙃

代码语言:javascript
代码运行次数:0
运行
复制
gene.symbol.df<-get_GeneEnsembl2Symbol(ensemble.arr = master.list$master.table$Gene)

master.table.new<-cbind(master.list$master.table, 
                        gene.symbol.df[match(master.list$master.table$Gene, gene.symbol.df$Gene), c("Symbol", "description")])

master.list$master.table<-master.table.new

head(master.list$master.table)

单基因轨迹可视化

代码语言:javascript
代码运行次数:0
运行
复制
gene.symbol.arr<-unique(master.list$master.table$Symbol)[1:6]
p<-draw_GeneTraj(master.list = master.list, gene.symbol.arr = gene.symbol.arr, ncol = 3, nrow = 2)
p

基因集轨迹可视化

代码语言:javascript
代码运行次数:0
运行
复制
draw_TrajClusterGrid(master.list = master.list, min.traj.n = 9)

基因轨迹组成可视化

代码语言:javascript
代码运行次数:0
运行
复制
par(mar=c(1,1,1,1))
draw_TrajClusterPie(master.list = master.list,inner.radius = 0.7, cex.out = 1, cex.in = 1, fig.title = "Hierarchical Pie Chart")
最后祝大家早日不卷!~
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信漫卷 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 用到的包
  • 示例数据
  • 运行TrendCatcher并生成master.list
  • 查看master.list
  • ID2SYMBOL
  • 单基因轨迹可视化
  • 基因集轨迹可视化
  • 基因轨迹组成可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档