scanpy读取10x单细胞数据

做单细胞或空间组课题时经常会需要导入文献中的单细胞数据作为参考,市面上最常见的格式又以10x genomics为主要代表,通常包括barcodes.tsv.gz、features.tsv.gz(或者genes.tsv.gz)、matrix.mtx.gz三种格式文件。

在面对数据读取问题时,R语言Seurat包有Read10X函数,Python中scanpy包则对应scanpy.read_10x_mtx()函数。官网的导入教程scanpy.read_10x_mtx — scanpy但在具体使用时,这两个函数对于单细胞格式和命名要求都很高。在scanpy中尝试将所有文件去除前缀后仍然找不到文件后,索性决定单独读取各个要素,生成AnnData格式的数据文件即可。

首先是导入包和数据路径

import os
import pandas as pd
from scipy.io import mmread
import anndata
#10x文件存放的路径
path='/data/work/scRNA_load/2020.05.Dev_cell/'
genes=None
cell=None
mtx=None
for name in os.listdir(path):
    file= os.path.join(path, name)
    if 'barcodes.tsv' in name:
        cell = pd.read_csv(file, header=None)
    elif 'genes.tsv' in name:

你可能感兴趣的:(单细胞数据处理,python)