ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
119 stars 30 forks source link

流程更新----python版本分析10X HD数据(单样本) #5804

Closed ixxmu closed 2 hours ago

ixxmu commented 2 hours ago

https://mp.weixin.qq.com/s/lwyt_MiqQGrLNslQm8y9hA

ixxmu commented 2 hours ago

流程更新----python版本分析10X HD数据(单样本) by 单细胞空间交响乐

作者,Evil Genius

我去,可以啊, 今年的第三次举报。

第一次举报在6月底刚上课不久,没有掀起什么风浪。

第二次举报在8月底课程上完,把我微信公众号的文章给举报了,然后大家就不能在这篇文章上报名了。

第三次举报就最近几天,昨天市场部的总监突变找我,把邮件拿出来给我看,说我被人举报了,把发邮件的邮箱号和ID查了查,不是公司的人,ID是外地的,邮箱号应该是临时的,问我最近得罪谁了?

这让我想起了2023年被医生还是医学生举报的情况,当时还稀里糊涂的,现在看起来,所有的事情都是有预谋的

主要2023年就被举报了一次,2024年,已经三次了,有时候我在想,是不是自己的火的太快了?让我躺平一会儿

我们再来分享一下课程内容吧,之前汇总过一次,文章在课程汇总

2024年全系列单细胞空间课程,略有改动,包括单细胞六课,空间22课,2节汇总课程,空间包括Visium、HD、Xenium。

2024年的单细胞空间外显子6课,主要讲突变分析(单细胞 + 外显子)的,链接在2024年外显子分析系列课程

2023年全系列空间课程表,也略有改动(基础分析 + 个性化分析)。

课程感觉怎么样,视频我都放开了,如果感觉可以,大家有条件下载下来保存一份,按照这个举报频率,下架不是没有可能,而且很快。

至于其中的资料,有条件支持一下正版,我们加上微信,拉个群,多分享一些分析经验和最新的研究进展,处理处理大家分析上遇到的问题,没条件也没关系,现在盗版很多了,买一份认真学习就可以了。

还是那句话,做项目,钱多钱少大家没办法决定,但是大家能决定的是,机遇(样本)来临,能抓住(能分析好),就可以了。

好了,我们,我们要开始更新我们的分析流程了,我们以10X的官方示例数据为例,python分析单样本的HD数据,多样本整合我们放到下一篇。

首先看一下数据结构,

其中最大的不同是,visium数据的空间坐标文件为tissue_positions_list.csv,而HD为了节省信息,采用的是tissue_positions.parquet,其中.parquet 文件是一种列式存储的二进制文件格式,常用于存储大规模数据集。它被设计为与 Apache Hadoop 和 Apache Spark 等大数据处理框架兼容,我们将tissue_positions.parquet转换成tissue_positions_list.csv格式即可实现python的自动读取,当然最好的方法就是大家跟我一样,直接封装,全流程直接转换运行。

转换后spatial下面的信息,多了一个csv文件,满足了我们的读取需求。

接下来走全流程,我们以16um的数据为例,至于应该用8um 还是 16um,要看大家的数据质量

import numpy as np
import pandas as pd

import anndata as ad
import scanpy as sc
import squidpy as sq

####读取数据
adata = sc.read_visium('/HD_data/breast_HD/binned_outputs/square_016um')
adata
AnnData object with n_obs × n_vars = 119082 × 18085
obs: 'in_tissue', 'array_row', 'array_col'
var: 'gene_ids', 'feature_types', 'genome'
uns: 'spatial'
obsm: 'spatial'

单样本119082个spot和18085个基因,看一下基础的信息。

sc.pp.normalize_total(adata, inplace=True)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata, flavor="seurat", n_top_genes=2000)
sc.pp.scale(adata)

sc.pp.pca(adata)
sc.pp.neighbors(adata)
sc.tl.umap(adata)
sc.tl.leiden(adata, key_added="clusters", flavor="igraph", directed=False, n_iterations=2,resolution = 0.5 )
sc.pl.spatial(adata, img_key="hires", color="clusters")

跑的过程如果服务器性能好的话是没有什么问题的,如果查一点,可能会断掉,不过比R版本已经好很多了,作为项目,单样本的基础分析到聚类就可以了,接下来就是个性化分析了。

接下来我们会分享一些python的多样本HD数据整合和结合图像识别的内容。

生活很好,有你更好