我是靠谱客的博主 斯文手链,最近开发中收集的这篇文章主要介绍seurat提取表达矩阵_Seurat教程 || 分析Cell Hashing数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

分享是一种态度

20493d0e4798241dc325ef95f6fa71bd.gif

作者 |  周运来

男,

一个长大了才会遇到的帅哥,

稳健,潇洒,大方,靠谱。

一段生信缘,一棵技能树,

一枚大型测序工厂的螺丝钉,

一个随机森林中提灯觅食的津门旅客。

Cell Hashing是与NYGC的技术创新小组合作开发的,它使用低聚标记(oligo-tagged)抗体来标记表面蛋白,在每个单细胞上放置一个“样本条形码(sample barcode)”,使得不同的样本可以被多路复用并在单个实验中运行。更多信息,可以参阅Cell Hashing with barcoded antibodies enables multiplexing and doublet detection for single cell genomics。(https://genomebiology.biomedcentral.com/articles/10.1186/s13059-018-1603-1)

06bcd942e3f1dc0a6608d0ba8c8c87dd.png

其实我们在去年十月份的时候就关注过这个技术:Cell Hashing||单细胞多模态分析(https://www.jianshu.com/p/6ae3cc09d335)。案牍劳形,一直也没有再写它的文章了。今天我们依然跟着Seurat的官网来看看这个是如何分析的。请注意,如果需要看教程,请看官网。一则受个人的能力所限,一则官网才是更新快和及时的。

这里将简要演示如何在Seurat中处理由Cell Hashing 生成的数据。应用于两个数据集,我们可以成功地将细胞分离到它们的原始样本,并识别出交叉样本双峰(cross-sample doublets)。

多路复用函数HTODemux()实现了以下过程:

  • 我们对标准化的HTO值执行K -medoid聚类,它最初将细胞分离为K(# of samples )+1聚类。
  • 我们计算了HTO的一个“负”分布。对于每个HTO,我们使用平均值最低的群作为背景组。
  • 对于每个HTO,我们对负的聚类拟合一个负的二项分布。我们使用这个分布的0.99分位数作为阈值。
  • 根据这些阈值,每个细胞被划分为阳性或阴性的HTO。
  • 对于一个以上hto呈阳性的细胞被标注为双峰。

数据集描述

  • 数据代来自个不同献血者的外周血单核细胞(PBMCs)。
  • 每个供体的细胞都使用CD45作为哈希抗体进行唯一标记。
  • 随后在10X Chromium v2系统的单一lane上运行。
  • 你可以在这里(https://www.dropbox.com/sh/ntc33ium7cg1za1/AAD_8XIDmu4F7lJ-5sp-rGFYa?dl=0)下载RNA和HTO的计数矩阵,或者从GEO(https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE108313)下载FASTQ文件

原教程用的是他们处理好的rds文件,而这个我并没有成功下载,就从GEO中下载了表达谱,自己来构建Seurat的对象,所以会有所不同。这里要注意HTO数据一般和RNA的数据是对应的,对于RNA的我们很熟悉了,但是HTO的数据可能并不熟悉,这就要求我们看看 CITE-seq-Count(https://github.com/Hoohm/CITE-seq-Count) 的数据处理过程及其输出格式。

CITE-Seq 一般的序列结构:

e3fd90072bc7a68976757f25e871c356.png

For CITE-seq-Count, the output looks like this:

OUTFOLDER/
-- umi_count/
-- -- matrix.mtx.gz
-- -- features.tsv.gz
-- -- barcodes.tsv.gz
-- read_count/
-- -- matrix.mtx.gz
-- -- features.tsv.gz
-- -- barcodes.tsv.gz
-- unmapped.csv
-- run_report.yaml

好了我们了解了这个格式其实和10X的基本是一致的,这样我们就不用担心了,先读hto数据来看看。请注意,我们下载的是表达谱。

library(Seurat)
library(readr)

hto"GSM2895283_Hashtag-HTO-count.csv.gz")
Parsed with column specification:
cols(
  .default = col_double(),
  X1 = col_character()
)
See spec(...) for full column specifications.
|=================================================================| 100%    2 MB

hto[1:4,1:4]
# A tibble: 4 x 4
  X1                  GGCGACTAGAGGACGG CATCAAGGTCTTGTCC AAACCTGAGTGATCGG
                                                    
1 BatchA-AGGACCATCCAA               30                4               12
2 BatchB-ACATGTTACCGT               16               39               15
3 BatchC-AGCTTACTATCC               26                0               19
4 BatchD-TCGATAATGCGA             2698               22                2
> yhto 
rownames(yhto) # 整理行名
yhto[1:4,1:4]
                    GGCGACTAGAGGACGG CATCAAGGTCTTGTCC AAACCTGAGTGATCGG
BatchA-AGGACCATCCAA               30                4               12
BatchB-ACATGTTACCGT               16               39               15
BatchC-AGCTTACTATCC               26                0               19
BatchD-TCGATAATGCGA             2698               22                2
                    TGAGGGAGTACTTAGC
BatchA-AGGACCATCCAA               26
BatchB-ACATGTTACCGT               20
BatchC-AGCTTACTATCC               13
BatchD-TCGATAATGCGA               24
rownames(yhto)# BatchA-AGGACCATCCAA,BatchB-ACATGTTACCGT,BatchC-AGCTTACTATCC,#  BatchD-TCGATAATGCGA,BatchE-GAGGCTGAGCTA,BatchF-GTGTGACGTATT,#  BatchG-ACTGTCTAACGG,BatchH-TATCACATCGGT# 还有特殊的三行:# bad_struct;no_match;total_reads

最后

以上就是斯文手链为你收集整理的seurat提取表达矩阵_Seurat教程 || 分析Cell Hashing数据的全部内容,希望文章能够帮你解决seurat提取表达矩阵_Seurat教程 || 分析Cell Hashing数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部