Python单细胞测序分析教程 - 2| 下载测序数据并处理为scanpy可读取的格式

本教程介绍了在GEO数据库中下载单细胞数据集的方法,并进一步处理为scanpy可读取的格式。

第一步:GEO数据库下载单细胞数据

  1. NCBI:https://www.ncbi.nlm.nih.gov/
  2. GEO:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE125970
图1、需要下载的文件为Supplementary file的三个文件

需要下载的文件为Supplementary file的三个文件,点击Download的http即开始下载,建议复制下载链接在迅雷或者Free Download Manager里下载,速度会快很多。

  1. 查看数据格式
    图2、下载并解压的数据

    (1)GSE125970_cell_info.txt


    图3、GSE125970_cell_info.txt

该文件以Tab分隔符分隔了3列细胞的Meta信息,第一列为自定义的barcodes名(UniqueCell_ID),第二列为样本ID(Sample_ID),第三列为这篇文章对每个细胞进行细胞类型注释的注释结果(CellType)。
(2)GSE125970_raw_UMIcounts.txt
该文件是一个以Seruat格式保存的gene-barcodes原始表达矩阵。使用Python的Pandas读取矩阵(这里使用jupyter notebook进行编程):

raw_UMIcounts = pd.read_table("./other_dataset/GSE125970/GSE125970_raw_UMIcounts.txt/GSE125970_raw_UMIcounts.txt", header=0, index_col=0)
raw_UMIcounts.head(10)
图4、GSE125970_raw_UMIcounts.txt

接下来,使用Pandas的转置,将行列转置,以符合Scanpy的读取格式,并保存为CSV格式文件。第三个文件是标准化和尺度归一化后的表达谱数据,我们暂时用不到。至此,本教程第一步的数据下载已经完成。

raw_UMIcounts = pd.DataFrame(raw_UMIcounts.values.T, index=raw_UMIcounts.columns, columns=raw_UMIcounts.index)
raw_UMIcounts.to_csv("./other_dataset/GSE125970/GSE125970_raw_UMIcounts.txt/GSE125970_raw_UMIcounts.csv")
图5、转置之后的矩阵

第二步:scanpy读取数据,并保存为h5ad文件备用

scanpy读取单细胞测序数据的方式有很多种,主要是读取.mtx文件,读取h5ad文件,以上两种方法在官方文档的教程里已经有了详细的介绍,本教程不再赘述,仅介绍读取.csv文件的方法。

  1. 使用scanpy.read_csv读取csv文件
filename = "./other_dataset/GSE125970/GSE125970_raw_UMIcounts.txt/GSE125970_raw_UMIcounts.csv"
GSE125970_adata = sc.read_csv(filename, first_column_names=True)
GSE125970_adata
Outputs: AnnData object with n_obs × n_vars = 14537 × 19525
  1. 储存为h5ad文件(h5ad文件读取时比其他方式快很多,而且总的占用内存少)
GSE125970_adata.write('./other_dataset/GSE125970/GSE125970_raw_adata.h5ad')
  1. 重新读取h5ad文件
GSE125970_adata = sc.read('./other_dataset/GSE125970/GSE125970_raw_adata.h5ad')

本教程结束。

你可能感兴趣的:(Python单细胞测序分析教程 - 2| 下载测序数据并处理为scanpy可读取的格式)