python单细胞学习笔记

前面的python学习笔记::python单细胞学习笔记-day1python单细胞学习笔记-day2python单细胞学习笔记-day3python单细胞学习笔记-day4python单细胞学习笔记-day4(续)python单细胞学习笔

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'

代码语言:javascript代码运行次数:0运行复制
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运行复制

发布者:admin,转转请注明出处:http://www.yc00.com/web/1748107066a4732546.html

相关推荐

  • python单细胞学习笔记

    前面的python学习笔记::python单细胞学习笔记-day1python单细胞学习笔记-day2python单细胞学习笔记-day3python单细胞学习笔记-day4python单细胞学习笔记-day4(续)python单细胞学习笔

    4小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信