专栏名称: 生信技能树
生物信息学学习资料分析,常见数据格式及公共数据库资料分享。常见分析软件及流程,基因检测及癌症相关动态。
目录
相关文章推荐
南方能源观察  ·  新能源全面入市新政出炉 ·  昨天  
能源电力说  ·  发改委、能源局印发:抽水蓄能重磅文件! ·  3 天前  
南方能源观察  ·  2024年广东新能源产业集群营收破万亿,达1 ... ·  4 天前  
Quora文选英语  ·  老外说up to no ... ·  4 天前  
51好读  ›  专栏  ›  生信技能树

你永远不知道公共数据集给你埋什么坑

生信技能树  · 公众号  ·  · 2024-08-05 16:11

正文

不同格式的单细胞表达量矩阵文件读取的分门别类的代码我们都分享了好多次,最后都是要成为 Seurat 对象。详见: 读取不同格式的单细胞转录组数据及遇到问题的解决办法 ,简单的汇总一下就是:

  1. h5格式的单细胞文件读取
  • 使用 Seurat 包中的 Read10X_h5 函数。
  • 10X格式的单细胞文件读取
    • 10X格式通常包含 matrix.mtx.gz genes.tsv.gz (或 features.tsv.gz )和 barcodes.tsv.gz 三个文件。
    • 使用 Seurat 包中的 Read10X 函数。
  • txt.gz格式文件读取
    • 使用 data.table 包中的 fread 函数。
  • csv格式文件读取
    • 同样使用 data.table 包中的 fread 函数。

    遇到的问题及解决办法:

    • 非标准10X数据集 :有时GEO数据库上传的数据可能不符合标准格式,需要进行预处理。

    • 去除第一行和第一列 :如果第一行或第一列包含非数据内容,需要去除以避免读取错误。

      • 解决办法:使用R的数据处理函数,如 read.table 时指定 quote = "" row.names = 1 ,或者手动去除不需要的行列。
    • 特征(feature)列问题 :如果特征列不符合预期,可能需要指定 gene.column 参数。

    • **使用 read.table **:有评论建议使用 read.table 函数,并通过设置参数 quote = "" row.names = 1 来避免切割文件。

    其它:比如 .loom 文件可以使用 Seurat 包中的 Read10X_loom 函数或者 loomR 包来读取。

    一个让人脑子有坑的公共数据集

    正常情况下,任意公共数据集,都是只需要把表达量矩阵文件读入到r编程语言里面的成为了一个合格的Seurat对象,后续的降维聚类分群等常规单细胞转录组数据分析基本上可以套用我们的标准代码即可,

    但是最近交流群有小伙伴反馈了一个新鲜出炉的文章:《Single-cell profiling reveals altered immune landscape and impaired NK cell function in gastric cancer liver metastasis》它的数据集是GSE246662,在GEO界面可以看到作者给出来的是如下所示的文件 :

       21M 11  1  2023 GSM7874169_HL1.csv.gz
       22M 11  1  2023 GSM7874170_HL2.csv.gz
       16M 11  1  2023 GSM7874171_HL3.csv.gz
       13M 11  1  2023 GSM7874172_GC1.csv.gz
       22M 11  1  2023 GSM7874173_GC2.csv.gz
       33M 11  1  2023 GSM7874174_GC3.csv.gz
       17M 11  1  2023 GSM7874175_LM1.csv.gz
       27M 11  1  2023 GSM7874176_LM2.csv.gz
       25M 11  1  2023 GSM7874177_LM3.csv.gz

    如果是每个文件当做是同样的格式批量读取,就会出现如下所示的奇怪的降维聚类分群图:







    请到「今天看啥」查看全文