news 2026/10/27 7:14:20

SCS 60.单细胞空间转录组空间聚类(SPATA2)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SCS 60.单细胞空间转录组空间聚类(SPATA2)

Clustering

介绍

分组变量将样本的观测值划分为可以相互比较属性的组。例如,观测值的分组可以是聚类算法的结果或手动空间分割的结果。本教程将展示如何在SPATA2中应用和添加聚类。

# load required packages library(SPATA2) library(SPATAData) library(tidyverse)
object_t269<- readRDS("object_t269.rds") object_t269 <- updateSpataObject(object_t269)
# plot histology plotSurface(object_t269, color_by = "histology", pt_clrp = "npg")

plotImage(object_t269)

2. SPATA2 内的聚类

有许多算法可以将您的样本分成子组。SPATA2 提供了多种聚类算法的封装。那些会立即将结果添加到 SPATA2 对象中的聚类算法,其名称以 run-* 开头,并以 *-Clustering() 结尾。例如:runBayesSpaceClustering()、runKmeansClustering()、runSeuratClustering()。参数名称或命名指定了输出分组变量的名称。可通过getGroupingOptions()获取结果分组变量名称。

# current grouping options getGroupingOptions(object_t269)
## factor factor factor factor ## "tissue_section" "seurat_clusters" "histology" "bayes_space"
# run the pipeline object_t269 <- runBayesSpaceClustering( object = object_t269, name = "bayes_spacev2", # the name of the output grouping variable qs = 5 )
# run PCA based on which clustering is conducted object_t269 <- runPCA(object_t269, n_pcs = 20) object_t269 <- runKmeansClustering( object = object_t269, ks = c(7, 8), methods_kmeans = "Lloyd" )
# results are immediately stored in the objects feature data getGroupingOptions(object_t269)
## factor factor factor factor ## "tissue_section" "seurat_clusters" "histology" "bayes_space" ## factor factor factor ## "bayes_spacev2" "Lloyd_k7" "Lloyd_k8"
# left plot plotSurface( object = object_t269, color_by = "bayes_spacev2", pt_clrp = "uc" )

# right plot plotSurface( object = object_t269, color_by = "Lloyd_k7", pt_clrp = "jco" )

3. SPATA2以外的聚类

聚类可能由多种聚类算法产生。如果这些算法未在SPATA2函数中实现,可以使用addFeatures()函数将它们添加进去。唯一的要求是有一个名为barcodes的变量,用于将组映射到观测值。请注意,变量必须为因子类(factor class),才能被识别为分组变量。

# uses kmeans outside of SPATA2 kmeans_res <- stats::kmeans( x = getPcaMtr(object_t269), centers = 7, algorithm = "Hartigan-Wong" ) head(kmeans_res[["cluster"]])
## GTAGCGCTGTTGTAGT-1 TTGTTTGTGTAAATTC-1 CGTAGCGCCGACGTTG-1 GTAGACAACCGATGAA-1 ## 2 4 4 4 ## ACAGATTAGGTTAGTG-1 TGAGATCAAATACTCA-1 ## 2 2
cluster_df <- as.data.frame(kmeans_res[["cluster"]]) %>% tibble::rownames_to_column(var = "barcodes") %>% magrittr::set_colnames(value = c("barcodes", "kmeans_4_HW")) %>% tibble::as_tibble() cluster_df[["kmeans_4_HW"]] <- as.factor(cluster_df[["kmeans_4_HW"]]) cluster_df
## # A tibble: 3,213 × 2 ## barcodes kmeans_4_HW ## <chr> <fct> ## 1 GTAGCGCTGTTGTAGT-1 2 ## 2 TTGTTTGTGTAAATTC-1 4 ## 3 CGTAGCGCCGACGTTG-1 4 ## 4 GTAGACAACCGATGAA-1 4 ## 5 ACAGATTAGGTTAGTG-1 2 ## 6 TGAGATCAAATACTCA-1 2 ## 7 CTGGTCCTAACTTGGC-1 2 ## 8 TGCACGAGTCGGCAGC-1 3 ## 9 ATAGTCTTTGACGTGC-1 2 ## 10 GGGTGGTCCAGCCTGT-1 3 ## # ℹ 3,203 more rows
# grouping options before adding getGroupingOptions(object_t269)
## factor factor factor factor ## "tissue_section" "seurat_clusters" "histology" "bayes_space" ## factor factor factor ## "bayes_spacev2" "Lloyd_k7" "Lloyd_k8"
# add the cluster results to the meta features object_t269 <- addFeatures( object = object_t269, feature_df = cluster_df ) # grouping options names afterwards getGroupingOptions(object_t269)
## factor factor factor factor ## "tissue_section" "seurat_clusters" "histology" "bayes_space" ## factor factor factor factor ## "bayes_spacev2" "Lloyd_k7" "Lloyd_k8" "kmeans_4_HW"

继续通过可视化结果或使用差异表达分析(DEA)来研究其转录特征。

plotSurface( object = object_t269, color_by = "kmeans_4_HW", pt_clrp = "jama" ) + labs(color = "Kmeans HW")

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 13:00:09

EmotiVoice语音合成在心理咨询机器人中的应用设想

EmotiVoice语音合成在心理咨询机器人中的应用设想 在深夜的某个时刻&#xff0c;一个年轻人蜷缩在房间角落&#xff0c;轻声说出那句“我撑不下去了”。如果此时有一个声音能温柔回应&#xff1a;“我知道你现在很难受&#xff0c;但你并不孤单”&#xff0c;哪怕它来自一台机器…

作者头像 李华
网站建设 2026/10/27 10:25:13

EmotiVoice深度解析:支持多情感表达的中文TTS引擎

EmotiVoice深度解析&#xff1a;支持多情感表达的中文TTS引擎 在语音交互日益普及的今天&#xff0c;用户早已不再满足于“能说话”的机器。我们期待智能助手能温柔地提醒日程&#xff0c;游戏角色能在战斗中怒吼反击&#xff0c;有声书旁白能随着情节紧张而语气低沉——这些需…

作者头像 李华
网站建设 2026/10/27 9:11:34

EmotiVoice语音口音模拟能力测试:能否模仿地域特色?

EmotiVoice语音口音模拟能力测试&#xff1a;能否模仿地域特色&#xff1f; 在智能语音助手逐渐走进千家万户的今天&#xff0c;用户早已不再满足于“能说话”的机器。他们希望听到的不仅是清晰准确的发音&#xff0c;更是带有温度、情绪甚至“乡音”的声音。当一位四川用户听到…

作者头像 李华
网站建设 2026/10/27 10:28:30

支持自定义音色:EmotiVoice助力品牌专属语音打造

支持自定义音色&#xff1a;EmotiVoice助力品牌专属语音打造 在数字品牌竞争日益激烈的今天&#xff0c;声音正成为继视觉标识之后又一关键的“听觉名片”。用户对智能助手、虚拟主播甚至客服机器人的期待&#xff0c;早已不止于“能说话”&#xff0c;而是要求它“说得像人”、…

作者头像 李华
网站建设 2026/10/24 9:03:16

EmotiVoice语音合成在语音邮件自动化中的效率提升

EmotiVoice语音合成在语音邮件自动化中的效率提升 在客户体验日益成为核心竞争力的今天&#xff0c;企业与用户之间的每一次沟通都至关重要。尤其是在银行、电商、物流等行业&#xff0c;语音邮件作为关键触点&#xff0c;承担着通知提醒、服务跟进和情感维系等多重功能。然而&…

作者头像 李华
网站建设 2026/10/27 6:17:25

Day 41 训练和测试的规范写法

一、单通道图片的规范写法 1. 规范写法 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pyplot as plt import numpy as np# 设置中文字体支持 …

作者头像 李华