admin管理员组文章数量:1443090
python单细胞学习笔记
前面的python学习笔记::
- python单细胞学习笔记-day1
- python单细胞学习笔记-day2
- python单细胞学习笔记-day3
- python单细胞学习笔记-day4
- python单细胞学习笔记-day4(续)
- python单细胞学习笔记-day5
- python单细胞学习笔记-day6
- python单细胞学习笔记-day7
- python单细胞学习笔记-day8(singler自动注释)
今天继续学习视频:学习celltypist细胞注释,单样本和多样本~
0.环境准备
在之前的conda环境中安装新的本次上课需要的几个包:(建议先不要全都安装上,很容易后面出现包导入失败,可以运行到哪个代码缺少模块再开始安装~)
代码语言:javascript代码运行次数:0运行复制# bash终端
conda activate sc
# 安装 scikit-learn库
pip install singler -i
pip install singlecellexperiment -i
pip install scranpy -i
pip install celldex -i
pip install celltypist -i
pip install harmonypy -i
pip install loompy -i
文件说明:
- 2.celltypist.ipynb:单样本的单细胞标准分析以及后面的celltypilst细胞注释
- 4.celltypist_multisamples.ipynb:多样本的单细胞标准分析以及后面的celltypilst细胞注释
1.单样本的celltypist注释
1.1 数据读取
使用用read_10x_mtx
读取10x cellranger的三个标准文件,01_data 的文件:'barcodes.tsv', 'genes.tsv', 'matrix.mtx'
import singlecellexperiment as sce
import scanpy as sc
import os
print(os.listdir("01_data"))
# 读取数据
adata = sc.read_10x_mtx("01_data/")
print(adata.shape)
adata.X
1.2 数据质控
都是常规流程,快速看下数据分布特点决定数据过滤条件:
代码语言:javascript代码运行次数:0运行复制# 计算线粒体基因表达比例
adata.var['mt']=adata.var_names.str.startswith('MT-')
sc.pp.calculate_qc_metrics(adata,qc_vars=['mt'],log1p=False,percent_top=None,inplace=True)
# 过滤前数据分布情况
sc.pl.violin(adata,["n_genes_by_counts", "total_counts", "pct_counts_mt"],jitter=0.4, multi_panel=True)
过滤:这里这个数据我不太清楚来自哪里以及是什么组织类型,所以如果是自己的数据需要结合项目背景来看:
代码语言:javascript代码运行次数:0运行复制# 确定过滤条件并过滤
# 初始过滤
sc.pp.filter_cells(adata,min_genes=200)
sc.pp.filter_genes(adata,min_cells=3)
adata=adata[adata.obs.n_genes_by_counts>200]
adata=adata[adata.obs.n_genes_by_counts<2500]
adata=adata[adata.obs.pct_counts_mt<5].copy()
# 过滤后数据分布情况
sc.pl.violin(adata,["n_genes_by_counts", "total_counts", "pct_counts_mt"],jitter=0.4, multi_panel=True)
# 过滤后的细胞与基因数
print(adata.shape)
这好像是个过滤了的数据,小提琴过滤前后没啥变化:
1.3 数据标准化、降维聚类分群
还是scanpy的标准代码:
代码语言:javascript代码运行次数:0运行复制# 数据标准化
sc.pp.normalize_total(adata,target_sum=1e4)
sc.pp.log1p(adata)
adata.raw=adata
# 高变基因
sc.pp.highly_variable_genes(adata,n_top_genes=2000)
# 归一化
sc.pp.scale(adata)
sc.pp.pca(adata)
sc.pp.neighbors(adata,n_pcs=15)
sc.tl.leiden(adata,flavor="igraph",n_iterations=2,resolution=0.5)
sc.tl.umap(adata)
# 可视化
sc.pl.umap(adata,color='leiden')
到这里单细胞的标准分析就做完了,聚类结果如下:
1.4 celltypist自动注释
celltypist软件于2022年5月13号发表在顶刊Science杂志上,文献标题为《Cross-tissue immune cell analysis reveals tissue-specific features in humans》。
与别的自动注释算法不同,CellTypist可以自定义高精度和低精度,即直接注释出细胞的亚群。
这个软件已经训练好的参考模型:
首先下载model:
代码语言:javascript代码运行次数:0运行复制import celltypist
from celltypist import models
# 第一次使用时,会自动下载所有的参考数据
model = models.Model.load(model='Immune_All_High.pkl') #
动态日志:
代码语言:javascript代码运行次数:0运行复制
本文标签:
python单细胞学习笔记
版权声明:本文标题:python单细胞学习笔记 内容由网友自发贡献,该文观点仅代表作者本人,
转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1748107113a2808690.html,
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论