空间转录组基础数据解读+学习方法

2024-06-02 19:36

本文主要是介绍空间转录组基础数据解读+学习方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

详情请参考这个视频:空间转录组(spatial transcriptome)数据分析基础教程_哔哩哔哩_bilibili

1.首先是filtered_feature_bc_matrix文件

两个里面的内容本质一样,都是空间转录组 表达矩阵的信息

2.具体的所有东西可以在10x的网站里学,看参数

具体的网址:Cell Ranger Gene Expression Outputs - Official 10x Genomics Support

可以在这个里面进行学习。

3.具体讲一下spatial的数据还有adata中的uns中的spatial数据和obsm中的spatial数据吧!

本质是一样的,但是明显可以看到adata中的spatial数据比spatial文件夹中的数据少?因为质控等一些原因

spatial 中有 4 千多的数据,但是在 filtered_feature_bc_matrix.h5 中的 obs 中只有 3 千多的数据,可能是因为在数据处理过程中进行了质量控制和过滤,去除了低质量细胞、空白滴、非目标区域的细胞等。这是单细胞 RNA 测序和空间转录组学数据处理中常见的步骤,目的是提高数据的可靠性和准确性。

根据要求调整

import scanpy as sc# 加载原始spatial数据
input_dir = ("E:/Lung/Lung/A1/outs")
adata = sc.read_visium(path=input_dir, count_file='raw_feature_bc_matrix.h5')
# adata_spatial = sc.read_visium("path_to_visium_data")# 加载过滤后的数据
adata_filtered = sc.read_visium(path=input_dir, count_file='filtered_feature_bc_matrix.h5')# 打印原始和过滤后数据的细胞数量
print(f"Total spots in spatial data: {adata.shape[0]}")
print(f"Total cells in filtered data: {adata_filtered.shape[0]}")

输出结果是这样的所以你猜为什么要叫filtered的文件夹?

4.一直很想知道.h5文件夹下到底是些个什么妖魔鬼怪?

官方文件下里面有这个几个压缩包,再点进去看:

barcodes就是ATCG之类的UMIspot的代号

feature就是一些基础的特征:类似于如下的基因表达

matrix是基因表达的稀疏矩阵

形式大概如下:

%%MatrixMarket matrix coordinate integer general
% A gene expression matrix
4 3 5
1 1 10
1 3 20
2 2 30
4 1 40
4 3 50

什么意思?

假设我们有一个基因表达矩阵,其中基因和样本的表达量如下:

Gene \ SampleSample1Sample2Sample3
Gene110020
Gene20300
Gene3000
Gene440050

  • 表示矩阵有 4 行(基因数)、3 列(样本数)、5 个非零元素。
    • 1 1 10 表示第 1 行第 1 列的值为 10(Gene1 在 Sample1 中的表达量)。
    • 1 3 20 表示第 1 行第 3 列的值为 20(Gene1 在 Sample3 中的表达量)。
    • 2 2 30 表示第 2 行第 2 列的值为 30(Gene2 在 Sample2 中的表达量)。
    • 4 1 40 表示第 4 行第 1 列的值为 40(Gene4 在 Sample1 中的表达量)。
    • 4 3 50 表示第 4 行第 3 列的值为 50(Gene4 在 Sample3 中的表达量)。
  • 这种文件格式非常适合存储稀疏矩阵,其中大部分元素为零,只有少量非零元素,如基因表达矩阵、社会网络、推荐系统等中的数据。

这篇关于空间转录组基础数据解读+学习方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024896

相关文章

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St