当前位置: 首页 > wzjs >正文

网站建设类合同范本优化公司哪家好

网站建设类合同范本,优化公司哪家好,日照网站建设全55长,wordpress创建注册页面下面是一份从 Seurat 分析流程转到Scanpy 分析流程的简要笔记,涵盖了从数据读入到细胞注释的主要环节,并附上常用函数的Seurat vs. Scanpy 对照表。该笔记既可作为工作流程指南,也能在两个分析平台之间快速切换和比较。 Seurat → Scanpy 分析…

下面是一份从 Seurat 分析流程转到Scanpy 分析流程的简要笔记,涵盖了从数据读入到细胞注释的主要环节,并附上常用函数的Seurat vs. Scanpy 对照表。该笔记既可作为工作流程指南,也能在两个分析平台之间快速切换和比较。


Seurat → Scanpy 分析流程笔记

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1. 数据读入

Seurat 中的数据读入(回顾)

  • 常规 10x 数据:

    library(Seurat)
    seurat_obj <- Read10X("filtered_feature_bc_matrix/")
    seurat_obj <- CreateSeuratObject(counts = seurat_obj, project = "scRNA")
    
  • RDS 文件读入:

    seurat_obj <- readRDS("seurat_obj.rds")
    

Scanpy 中的数据读入

  • 读入 10x 过滤矩阵(推荐)
    import scanpy as sc
    adata = sc.read_10x_mtx("filtered_feature_bc_matrix", var_names='gene_symbols', cache=True
    )
    
  • 如果有 H5 文件(如 filtered_feature_bc_matrix.h5):
    adata = sc.read_10x_h5("filtered_feature_bc_matrix.h5")
    
  • 若是从 Seurat 对象(.Rds)转换,推荐 SeuratDisk 将其转为 H5AD 后再读入:
    # R 端:
    library(SeuratDisk)
    SaveH5Seurat(seurat_obj, filename="seurat.h5Seurat")
    Convert("seurat.h5Seurat", dest="h5ad", overwrite=TRUE)
    
    # Python 端:
    import scanpy as sc
    adata = sc.read_h5ad("seurat.h5ad")
    

2. 数据预处理 / 质控(QC)

Scanpy 中,你可以类似 Seurat 那样进行 QC 过滤。

Seurat 中的常规 QC

seurat_obj <- subset(seurat_obj, subset = nFeature_RNA > 200 & nFeature_RNA < 6000 & percent.mt < 10)

Scanpy 中的常规 QC

# 过滤低基因表达细胞
sc.pp.filter_cells(adata, min_genes=200)# 过滤低表达基因
sc.pp.filter_genes(adata, min_cells=3)# (可选)对于线粒体基因的过滤:
# 1. 计算线粒体基因比例
adata.var['mt'] = adata.var_names.str.startswith('MT-')
adata.obs['percent_mt'] = (np.sum(adata[:, adata.var['mt']].X, axis=1)/ np.sum(adata.X, axis=1)
) * 100# 2. 根据线粒体基因比例进行过滤
adata = adata[adata.obs['percent_mt'] < 10, :]

3. 归一化与高变基因选择

Seurat

# 归一化
seurat_obj <- NormalizeData(seurat_obj)# 查找高变基因
seurat_obj <- FindVariableFeatures(seurat_obj, selection.method="vst", nfeatures=2000)

Scanpy

# Total-count normalize (与 Seurat 的 NormalizeData 相似)
sc.pp.normalize_total(adata, target_sum=1e4)# 取 log
sc.pp.log1p(adata)# 查找高变基因(与 Seurat 策略相似)
sc.pp.highly_variable_genes(adata,flavor='seurat',      # 使用Seurat VST算法n_top_genes=2000
)# 过滤数据,仅保留高变基因
adata = adata[:, adata.var['highly_variable']]

4. 降维与聚类

Seurat

# PCA
seurat_obj <- RunPCA(seurat_obj, npcs=50)# 邻接图/邻居查找
seurat_obj <- FindNeighbors(seurat_obj, dims=1:30)# 聚类
seurat_obj <- FindClusters(seurat_obj, resolution=0.5)# UMAP
seurat_obj <- RunUMAP(seurat_obj, dims=1:30)

Scanpy

# PCA
sc.pp.pca(adata, n_comps=50)# 邻接图
sc.pp.neighbors(adata, n_neighbors=10, n_pcs=30)# 聚类(Leiden 算法)
sc.tl.leiden(adata, resolution=0.5)# UMAP
sc.tl.umap(adata)

注: Seurat 使用 Louvain / SLM 聚类,Scanpy 中 sc.tl.leiden 是一种改进版的社区检测算法,效果与 Seurat 类似或更佳。


5. 不同分辨率下的聚类遍历

Seurat 可以直接传递一个 resolution.range,如:

resolution.range <- c(0.1, 0.2, 0.3, 0.5)
FindClusters(seurat_obj, resolution = resolution.range)

Scanpy 中要手动遍历:

resolutions = [0.1, 0.2, 0.3, 0.5]
for res in resolutions:sc.tl.leiden(adata, resolution=res, key_added=f'leiden_{res}')sc.pl.umap(adata, color=f'leiden_{res}')

若要保存多个分辨率结果的 UMAP 图到同一个 PDF,可参考:

from matplotlib.backends.backend_pdf import PdfPages
pdf_path = "UMAP_by_resolution.pdf"with PdfPages(pdf_path) as pdf:for res in resolutions:sc.tl.leiden(adata, resolution=res, key_added=f'leiden_{res}')fig = sc.pl.umap(adata, color=f'leiden_{res}', show=False, return_fig=True)pdf.savefig(fig)plt.close(fig)

6. 差异基因分析与可视化

Seurat

# FindAllMarkers
markers <- FindAllMarkers(seurat_obj, test.use="wilcox")

可视化:

FeaturePlot(seurat_obj, features="CD3E", cols=c("gray", "red"))
DotPlot(seurat_obj, features=c("CD3E", "NKG7"), group.by="seurat_clusters")

Scanpy

# 差异基因分析
sc.tl.rank_genes_groups(adata, groupby="leiden", method="wilcoxon")# 查看结果
sc.pl.rank_genes_groups(adata, n_genes=5, sharey=False)

可视化 Marker 基因:

# UMAP feature plot(类似 Seurat FeaturePlot)
sc.pl.umap(adata, color=["CD3E"], cmap="Reds")# DotPlot(类似 Seurat DotPlot)
marker_genes = ["CD3E","NKG7","CD68","KRT19"]
sc.pl.dotplot(adata, var_names=marker_genes, groupby="leiden", cmap="Reds")

7. 细胞注释

Seurat 中,一般通过 IdentsAddMetaData 给细胞添加类型标签;在 Scanpy 中,你可以修改 adata.obs 列添加注释:

# 假设你对各群集根据 Marker 基因进行了人工判定
celltype_dict = {"0": "Epithelial","1": "T Cells","2": "NK Cells",# ...
}
# 假设分辨率=0.5时存储在 leiden_0.5
adata.obs["celltype"] = adata.obs["leiden_0.5"].map(celltype_dict)# 再次绘制UMAP,颜色按 celltype
sc.pl.umap(adata, color="celltype")

Seurat vs. Scanpy 主要函数对照表

分析步骤Seurat ®Scanpy (Python)
数据读入Read10X() / CreateSeuratObject()sc.read_10x_mtx() / sc.read_10x_h5()
质控 (QC)subset()sc.pp.filter_cells() / sc.pp.filter_genes()
线粒体基因过滤PercentageFeatureSet(... pattern = "^MT-")手动提取后过滤 (见 adata.obs['percent_mt'])
归一化NormalizeData()sc.pp.normalize_total() + sc.pp.log1p()
高变基因FindVariableFeatures()sc.pp.highly_variable_genes()
PCARunPCA()sc.pp.pca()
邻居查找FindNeighbors()sc.pp.neighbors()
聚类FindClusters()sc.tl.leiden()
UMAP/t-SNERunUMAP() / RunTSNE()sc.tl.umap() / sc.tl.tsne()
差异基因FindAllMarkers() / FindMarkers()sc.tl.rank_genes_groups()
FeaturePlotFeaturePlot()sc.pl.umap(..., color='GENE')
DotPlotDotPlot()sc.pl.dotplot()
细胞类型注释Idents() / AddMetaData()adata.obs['celltype'] = ...
保存对象saveRDS()adata.write("xxx.h5ad")

8. 小结

  1. 数据读入:如果是 10x 的过滤矩阵,Seurat 用 Read10X(),Scanpy 用 sc.read_10x_mtx()/sc.read_10x_h5();若已在 Seurat 中整合好,可先用 SeuratDisk 转换为 .h5ad
  2. 质控与预处理:二者均可进行基于基因数、细胞数、线粒体基因比例等过滤。Scanpy 常需手动计算线粒体比例。
  3. 高变基因、PCA、聚类、UMAP 等流程在 Scanpy 中与 Seurat 非常相似,只是函数名称与参数略有不同。
  4. 差异基因分析:Seurat 中常用 FindAllMarkers(),Scanpy 中则是 sc.tl.rank_genes_groups().
  5. 可视化:Seurat 提供 FeaturePlot()DotPlot() 等函数;Scanpy 对应 sc.pl.umap(...)sc.pl.dotplot()
  6. 细胞注释:在 Scanpy 中,直接修改 adata.obs["celltype"],并用 sc.pl.umap(color="celltype") 可视化。

总体而言,Seurat 与 Scanpy单细胞分析思路上高度相似,只是实现细节、函数名和可视化风格略有区别。若你已有完备的 Seurat 分析经验,迁移到 Scanpy 通常是逻辑函数名的平移,很快能上手。


参考命令与提示

  • 如果有大规模数据(>10 万细胞),Scanpy 的处理速度与内存占用通常较 Seurat 更有优势。
  • 若仍需 Seurat 强大的可视化整合包(如 SeuratWrappers),可在小规模数据或特定分析环节中继续使用 R + Seurat。
  • 混合使用:在 R 中做部分分析后,将结果(如细胞注释)输出为 .csv,或使用 SeuratDisk 生成 .h5ad 以在 Python 端进一步扩展(如 scanpy, squidpy, cellchat Python 版等)。

以上为 Seurat → Scanpy 的主要流程笔记,涵盖从数据读入、质量控制、归一化、高变基因选择、聚类及可视化、差异基因分析、到细胞注释的完整思路。

http://www.dtcms.com/wzjs/174195.html

相关文章:

  • 广州手机建站模板互联网营销有哪些方式
  • 分类网站一天做几条合适百度小说app
  • 南京seo收费资源优化网站排名
  • 做网站学什么专业哈尔滨最新疫情
  • 客户网站留言广州日新增51万人
  • 门户网站建设与管理做竞价推广大概多少钱
  • 二级域名备案流程重庆seowhy整站优化
  • 自己做网站帮公司出认证证书违法吗企业网络推广的方式有哪些
  • 网站建设劳务合同百度权重等级
  • 网站建设 电话咨询优质的seo快速排名优化
  • 写文案要看的网站竞价 推广
  • 深圳做网站建设广告推广文案
  • wordpress动漫网站网站策划方案
  • 网站路径怎么做seo网络排名优化哪家好
  • 网站网页设计制作软文兼职
  • 营销型网站的基本模板上海seo关键词优化
  • 自建网站套现企业网络推广软件
  • 如何做 行业社交类网站西安网站关键词推广
  • 做外贸 建网站要注意什么win7优化设置
  • 二级网站建设电商营销策划方案
  • 个人可以做自媒体网站吗企业网站推广策划书
  • 做国外网站建设系统优化软件推荐
  • 重庆网页设计网站关键词百度自然排名优化
  • 网站模板兼容手机端什么软件可以免费发广告
  • wordpress换icon搜索引擎优化seo网站
  • 找做模型方案去哪个网站国内免费域名注册
  • 手机动态网站制作seo搜索引擎优化方法
  • 2018做网站还赚钱吗百度关键词首页排名
  • 做网站用哪个软件最好php注册网站流程
  • 徐州教育平台网站建设网站收录优化