scanpy 单细胞分析API接口使用案例

news2024/11/15 11:02:02

参考:https://zhuanlan.zhihu.com/p/537206999
https://scanpy.readthedocs.io/en/stable/api.html
在这里插入图片描述

scanpy python包主要分四个模块:
1)read 读写模块、
https://scanpy.readthedocs.io/en/stable/api.html#reading
在这里插入图片描述
2)pp Preprocessing 预处理模块
https://scanpy.readthedocs.io/en/stable/api.html#module-scanpy.pp
在这里插入图片描述
3)tl Tools工具箱模块,包括降维聚类等算法
https://scanpy.readthedocs.io/en/stable/api.html#module-scanpy.tl
在这里插入图片描述
3)pl Plotting画图模块
https://scanpy.readthedocs.io/en/stable/api.html#module-scanpy.pl
在这里插入图片描述

使用案例

import numpy as np
import pandas as pd
import scanpy as sc

## 加载数据
adata = sc.datasets.pbmc3k()
adata.var_names_make_unique()

#质量控制
# 查看高表达的前20个基因
sc.pl.highest_expr_genes(adata, n_top=20, save='_pbmc3k.png')

#######预处理##############
sc.pp.filter_cells(adata, min_genes=200)
sc.pp.filter_genes(adata, min_cells=3)
adata.var['mt'] = adata.var_names.str.startswith('MT-')  # annotate the group of mitochondrial genes as 'mt'
sc.pp.calculate_qc_metrics(adata, qc_vars=['mt'], percent_top=None, log1p=False, inplace=True)

#查看
sc.pl.violin(adata, ['n_genes_by_counts', 'total_counts', 'pct_counts_mt'],
             jitter=0.4, multi_panel=True, save='_pbmc3k.png')

adata = adata[adata.obs.n_genes_by_counts < 2500, :]
adata = adata[adata.obs.pct_counts_mt < 5, :]
#总计数归一化、对数化
sc.pp.normalize_total(adata, target_sum=1e4)
sc.pp.log1p(adata)

# 识别高度可变的基因
sc.pp.highly_variable_genes(adata, min_mean=0.0125, max_mean=3, min_disp=0.5)
sc.pl.highly_variable_genes(adata, save='_pbmc3k.png')

# 保存原始数据
adata.raw = adata

# 过滤
adata = adata[:, adata.var.highly_variable]

# 将数据缩放到单位方差
sc.pp.regress_out(adata, ['total_counts', 'pct_counts_mt'])
sc.pp.scale(adata, max_value=10)

#######降维聚类分析##############

sc.tl.pca(adata, svd_solver='arpack')
sc.pl.pca(adata, color='CST3', save='_pbmc3k_CST3.png')
sc.pl.pca_variance_ratio(adata, log=True, save='_pbmc3k_pc.png')
sc.pp.neighbors(adata, n_neighbors=10, n_pcs=40)


sc.tl.umap(adata)
sc.pl.umap(adata, color=['CST3', 'NKG7', 'PPBP'], save='_pbmc3k_CST3_NKG7_PPBP.png')

sc.tl.leiden(adata)
sc.pl.umap(adata, color=['leiden'], save='_pbmc3k_leiden.png')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springBoot自动装配原理探究springBoot配置类Thymeleaf模板引擎

微服务 微服务是一种架构风格&#xff0c;由于单体架构不利于团队协作完成并且代码量较大&#xff0c;后期维护成本较高&#xff0c;逐渐有了微服务架构。微服务是将一个项目拆分成不同的服务&#xff0c;各个服务之间相互独立互不影响&#xff0c;互相通过轻量级机制通信比如…

(转载)STM32与LAN9252构建EtherCAT从站

目录 &#xff08;一&#xff09;&#xff1a;项目简介 EtherCAT及项目简述 LAN9252工作模式 整体开发流程 移植要处理的问题 代码层面的工作 开发中使用的工具 &#xff08;二&#xff09;&#xff1a;SSC的使用 SSC简介和下载 SSC构建协议栈文件和XML &#xff08…

爬虫数据解析-正则表达式

数据解析-正则表达式 正则表达式 正则编写规则简介 字符含义.匹配除换行符以外的任意字符|A|B表示&#xff1a;匹配正则表达式条件A或B^匹配字符串的开始(在集合[]里表示"非"&#xff09;的意思$匹配字符串的结束{n}重复n次{,n}重复小于n次{n,}重复n次或更多次{n,…

2023软件测试金三银四常见的软件测试面试题-【抓包和网络协议篇】

八、抓包与网络协议 8.1 抓包工具怎么用 我原来的公司对于抓包这块&#xff0c;在App的测试用得比较多。我们会使用fiddler抓取数据检查结果&#xff0c;定位问题&#xff0c;测试安全&#xff0c;制造弱网环境; 如&#xff1a;抓取数据通过查看请求数据&#xff0c;请求行&…

经验 // 指标异常了怎么办?

本文参考了数据万花筒的文章&#xff0c;结合我自己工作经验。希望给大家一些帮助。 指标异常排查&#xff0c;是数据分析师的工作重点之一&#xff0c;是各行各业数据分析师都绕不开的话题。 本文试图回答&#xff1a; 1、指标波动的影响因素有哪些&#xff1f; 2、如何快速…

Web3中文|泰勒·斯威夫特演唱会票务闹乌龙,NFT票务急需普及

2022年底&#xff0c;美国艺人Taylor Swift&#xff08;泰勒斯威夫特&#xff09;的2023年巡回演唱会Eras Tour门票开始出票。作为当今世界最受欢迎的流行歌手之一&#xff0c;四年多没举办大型巡演无疑积攒了大量的粉丝需求。但是在2022年11月15日开放预售的当天&#xff0c;售…

数据驱动下的物种保护,拯救生命的“特效药”

如果给出这样      一张猎豹的图片      我们能否通过图中有限的信息      判断它的年龄、健康状况      以及所属族群?      如果你是一名研究动物的专家,你可能会从其花纹和斑点中获取一定量的信息,但对于大多数人以及一线的动物保护者来说,它可能只是一…

imx6ull——I2C驱动

I2C基本介绍 SCL 为高电平&#xff0c;SDA 出现下降沿:起始位 SCL 位高电平&#xff0c;SDA出现上升沿:停止位 主机——从机地址&#xff08;ack&#xff09;——寄存器地址&#xff08;ack&#xff09;——数据&#xff08;ack&#xff09; 重点&#xff1a;先是写&#xff0c…

context.Context

context.Context前言一、为什么要context二、context有什么用三、基本数据结构3.1、context包的整体工作机制3.2 基本接口和结构体3.3 API函数3.4 辅助函数3.5 context用法3.6 使用 context 传递数据的争议总结参考资料前言 context是go语言的一个并发包&#xff0c;一个标准库…

平台总线开发(id和设备树匹配)

目录 一、ID匹配之框架代码 二、ID匹配之led驱动​​​​​​​ 三、设备树匹配 四、设备树匹配之led驱动 五、一个编写驱动用的宏 一、ID匹配之框架代码 id匹配&#xff08;可想象成八字匹配&#xff09;&#xff1a;一个驱动可以对应多个设备 ------优先级次低 注意事项…

河南农信社数字化转型实践方案

农信机构立足地方“三农”&#xff0c;普遍规模较小&#xff0c;高地域集中度在县域和农村地区&#xff0c;容易受到地方农村经济脆弱性的影响。 农信机构由于信贷项目要求多&#xff0c;单笔贷款业务批复的额度相对较小&#xff0c;在信用档案登记环节&#xff0c;造成业务量…

SQL Server主流版本生命周期管理

SQL Server 生命周期 每个版本的 SQL Server 都有至少 10 年的支持期限&#xff0c;其中包括五年的主要支持和五年的扩展支持&#xff1a; “主要支持” 包括功能、性能、可伸缩性和安全更新。“扩展支持” 仅包含安全更新。 “终止支持” &#xff08;有时也称为生命周期结束…

udp套接字编程(超详细带你逐步实现)

我自己在学习UDP服务器的时候&#xff0c;有着太多的不解&#xff0c;我不明白一个udp服务器是如何设计出来的。我在网上找了很多的资料&#xff0c;不过绝大多数都是把代码往哪里一放&#xff0c;具体的设计流程完全不提&#xff0c;这让我看了之后一头雾水。或许对于刚刚开始…

scikit-learn实现近邻算法分类的示例

scikit-learn库 scikit-learn已经封装好很多数据挖掘的算法 现介绍数据挖掘框架的搭建方法 转换器&#xff08;Transformer&#xff09;用于数据预处理&#xff0c;数据转换流水线&#xff08;Pipeline&#xff09;组合数据挖掘流程&#xff0c;方便再次使用&#xff08;封装…

SVN配置使用(钩子配置、updata忽略指定文件)

参考链接&#xff1a; svn(svnsync)实时同步备份及问题解答 SVN常用命令之update SVN钩子就是一个脚本&#xff0c;在SVN更新前、后、或者变化前后等等状态&#xff0c;触发的脚本。据此可以有多种用途&#xff0c;如&#xff1a;1、在版本提交前要求必须对更新进行说明&#…

20分钟6个示例4个动图教你学会Async Hooks

序幕 async_hooks模块提供了一个全新的功能世界,但作为 Node.js 爱好者,我最感兴趣的是,它可以让您轻松了解我们在应用程序中经常执行的一些任务的幕后情况。 在本文中,我将尝试借助async_hooks模块来演示和解释一个典型的异步资源的生命周期。 Async Hooks API 简介 as…

【源码解析】SpringBoot自动装配的实现原理

什么是SpringBoot的自动装配 SpringBoot在启动的时候会扫描外部jar包中的META-INF/spring.factories文件&#xff0c;将文件中配置的类信息按照条件装配到Spring容器中。 实现原理 核心注解SpringBootApplication Target({ElementType.TYPE}) Retention(RetentionPolicy.R…

时间序列分析 | BiLSTM双向长短期记忆神经网络时间序列预测(Matlab完整程序)

时间序列分析 | BiLSTM双向长短期记忆神经网络时间序列预测(Matlab完整程序) 目录 时间序列分析 | BiLSTM双向长短期记忆神经网络时间序列预测(Matlab完整程序)预测结果评价指标基本介绍完整程序参考资料预测结果 评价指标 训练集数据的R2为:0.99302 测试集数据的R2为&…

企业数字化(技术中台、数据中台、工业互联网平台)建设方案

【版权声明】本资料来源网络&#xff0c;知识分享&#xff0c;仅供个人学习&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间删除&#xff01;完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 1.1 技术架构 1.1.1 技术架构总…

pandas提取excel数据形成三元组,采用neo4j数据库构建小型知识图谱

前言 代码来自github项目 neo4j-python-pandas-py2neo-v3&#xff0c;项目作者为Skyelbin。我记录一下运行该项目的一些过程文字以及遇到的问题和解决办法。 一、提取excel中的数据转换为DataFrame三元组格式 from dataToNeo4jClass.DataToNeo4jClass import DataToNeo4j imp…