scanpy 单细胞分析流程
发布时间:
数据过滤代码
# 前面计算的指标开始数据过滤
print(f"Total number of cells: {adata1.n_obs}")
# 过滤 cell total count 范围
mu.pp.filter_obs(adata1, "total_counts", lambda x: x <= 5000 )
print(f"Number of cells after filtering on total_counts: {adata1.n_obs}")
# 过滤 cell 每个细胞中基因表达数量 范围
mu.pp.filter_obs(adata1, "n_genes_by_counts", lambda x: (x >= 200) & (x <= 2000))
print(f"Number of cells after filtering on n_features_per_cell: {adata1.n_obs}")
# filter MT gene for cell
mu.pp.filter_obs(adata1, "pct_counts_mt", lambda x: x <20)
print(f"Number of cells after filtering on pct_counts_mt : {adata1.n_obs}")
mu.pp.filter_obs(adata1, "pct_counts_hb", lambda x: x <5)
print(f"Number of cells after filtering on pct_counts_hb : {adata1.n_obs}")
# 过滤gene 至少在2个cell中表达
mu.pp.filter_var(adata1, "n_cells_by_counts", lambda x: x >= 2)
# 过滤后可视化
sc.pl.violin(adata1, ['n_genes_by_counts', 'total_counts', 'pct_counts_mt', 'pct_counts_rp','pct_counts_hb'], jitter=0.4, multi_panel=True)
adata1