harmonypy 使用教程
1、项目介绍
harmonypy 是一个用于整合多个高维数据集的算法,它是 Harmony 算法的 Python 实现。Harmony 算法由 Ilya Korsunsky 开发,旨在通过模糊 k-means 和局部线性调整来整合来自不同实验的单细胞 RNA-seq 数据。harmonypy 项目托管在 GitHub 上,由 slowkow 维护。
2、项目快速启动
安装
你可以使用 pip 来安装 harmonypy:
pip install harmonypy
使用示例
以下是一个简单的使用示例,展示了如何加载数据并应用 harmonypy:
import pandas as pd
from harmonypy import run_harmony
# 加载元数据
meta_data = pd.read_csv("data/meta.tsv.gz", sep="\t")
vars_use = ['dataset']
# 假设你已经有一个 PCA 结果的 AnnData 对象
# adata = ...
# 运行 Harmony
adata_harmony = run_harmony(adata, meta_data, vars_use)
3、应用案例和最佳实践
应用案例
harmonypy 的一个典型应用案例是整合来自不同捐赠者的单细胞 RNA-seq 数据。例如,研究人员可以使用 harmonypy 来消除数据集之间的批次效应,从而更准确地比较不同捐赠者的细胞类型。
最佳实践
- 数据预处理:在使用
harmonypy之前,确保数据已经进行了适当的预处理,包括质量控制、归一化和 PCA。 - 选择变量:在运行
harmonypy时,选择合适的变量(如批次信息)来调整数据。 - 结果验证:整合后的数据应进行进一步的分析和验证,以确保批次效应已被有效消除。
4、典型生态项目
harmonypy 可以与其他单细胞分析工具集成,例如 scanpy。以下是一个使用 scanpy 和 harmonypy 的示例:
import scanpy as sc
from harmonypy import run_harmony
# 读取数据
adata = sc.read_h5ad("data.h5ad")
# 运行 PCA
sc.pp.pca(adata)
# 运行 Harmony
adata_harmony = run_harmony(adata, adata.obs, ['batch'])
# 继续进行其他分析
sc.pp.neighbors(adata_harmony)
sc.tl.umap(adata_harmony)
sc.pl.umap(adata_harmony, color=['batch', 'cell_type'])
通过这种方式,harmonypy 可以无缝集成到现有的单细胞分析流程中,提供强大的数据整合功能。
1092

被折叠的 条评论
为什么被折叠?



