美文网首页scanpySingle cell analysis
如何用python取单细胞h5ad的子集

如何用python取单细胞h5ad的子集

作者: 冰美沙拉 | 来源:发表于2022-06-26 20:33 被阅读0次

    由于下载的h5ad文件太大,如果转成Seurat对象总是报错内存不足,所以想按样本对h5ad对象进行拆分。
    在此之前,首先要下载好scanpy pyhon package

    #导入Python模块
    import numpy as np
    import pandas as pd
    import scanpy as sc
    #读入h5ad对象
    adata = sc.read_h5ad("xxx.h5ad")
    >>> adata
    AnnData object with n_obs × n_vars = 647366 × 24929
        obs: 'sample_id', 'n_genes', 'n_genes_by_counts', 'total_counts', 'total_counts_mt', 'pct_counts_mt', 'full_cluollection', 'Status_on_day_collection_summary'
        var: 'feature_types', 'raw_features'
        obsm: 'X_pca', 'X_pca_harmony', 'X_umap'
        layers: 'raw'
    ##按照样本拆分对象
    ob1=adata[adata.obs.sample_id=="sample1", :]
    ###存储文件
    ob1.write('ob1.h5ad')
    

    之前都是用R处理的单细胞文件,但是文件太大的时候R带不动了,可是不会python,故此记录一下这个简单的python取子集小步骤。
    还有一个遗留问题是如果要把每个样品都取出来的话如何在python里写循环实现,改天学习一下。

    相关文章

      网友评论

        本文标题:如何用python取单细胞h5ad的子集

        本文链接:https://www.haomeiwen.com/subject/bymgvrtx.html