概述
分享是一种态度
作者 | 周运来
男,
一个长大了才会遇到的帅哥,
稳健,潇洒,大方,靠谱。
一段生信缘,一棵技能树,
一枚大型测序工厂的螺丝钉,
一个随机森林中提灯觅食的津门旅客。
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)
其实我们在去年十月份的时候就关注过这个技术: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 一般的序列结构:
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数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复