关于单细胞TPM、Count数据的处理

今天正好看了一个很优秀的帖子答读者问(6):单细胞TPM矩阵如何分析?,就着github写一点总结,方便以后自己处理TPM数据的时候用。

1.10X和smart-seq2的区别和联系

想要了解单细胞TPM的数据处理,对10X和smartseq2进行总结也很有必要。下面这个图出自张泽民 Direct Comparative Analyses of 10X Genomics Chromium and Smart-seq2的文章。可以直接的看到,10X基于droplet的方法进行测序,smartseq2基于96孔板,二者都属于二代测序,也就是边扩增边测序。

 其它文献也有总结:10X依赖chromium仪器,smartseq2依赖C1仪器

10X:以10X的3'端测序为例,磁珠上有很多短序列(它们的cellular barcode是一样的,UMI各不相同),在PolyT结合mRNA的3'端PolyA之后,尽管转录本有长有短,但因为测序序列长度有所限制,这些转录本分子会在靠近3'端的地方随机打断(只留下最靠边的序列),所以10X的又叫做3'测序,UMI-based,测序深度较低,每个细胞只有一部分基因可以被探测到,但UMI的计数被认为是基因表达水平的直接体现。

然后两边连上接头进行后续的测序步骤...

所以表达定量的多少和基因长度关系不大。另外,UMI的作用是消除PCR的扩增影响,只要是来源于一个转录本,不管扩增多少次,最后定量值只会加1。

传统二代测序/bulk测序:一个完整的转录本分子会被随机打断,转录本越长,片段会越多,而这些片段最终都会被测序。因为这个偏好,标准化的时候才需要考虑转录本长度的影响。

 smartseq2:基于96孔板,捕获full transcripts without UMI.结果和传统二代Bulk转录组的结果更为相似。把一个一个的细胞丢进孔里,在每一个孔里完成一个单独的pcr,测出来的东西全部都是这个细胞的,所以测序深度更深。由于pcr的原理,所以对高转录本会有额外的偏好。

 2.UMI,COUNT,TPM,FPKM...

TPM FPKM都是为了消除测序深度和基因长度影响的方法,区别仅仅是公式略有不同。

10X数据因为有UMI,不需要考虑基因长度的影响,但仍然需要考虑测序深度在不同细胞之间的差异,所以需要用函数LogNormalize(原理参考seurat-NormalizeData()源码解析 - 简书)进行处理,具体方法是用该基因的UMI/该细胞的全部UMI,再乘以10000,在按列LogNormalize后,又可以按行进行scale​(原理参考seurat-ScaleData()源码解析 - 简书)​,以去除极大值极小值基因对数据的影响。

以公众号推文的举例,想实现类TPM很简单,就可以把10X的数据转换为TPM

mat.tpm.like=as.data.frame(test.seu[["RNA"]]@counts) %>% apply(2,function(x){x/sum(x) * 10000})

github上https://github.com/satijalab/seurat/issues/668提到:

可以对TPM手动log化以后再做scaledata,而不再使用NormalizeData,因为二者的这个函数和TPM的计算原理是一致的,没必要二次使用。

github上https://github.com/satijalab/seurat/issues/747提到:

You have to replace your object@data slot with the desired gene expression matrix as follows: pbmc@data = log(x = norm + 1))我个人认为这里的norm就是对应得TPM,这句代码对应得就是所谓手动log化

part2再研究一下smartseq2和10X的数据整合,目标是可以灵活掌握这两种数据方式TPM,COUNT的使用和转化。

part3:上一个还没有研究清楚,但是今天看了10X的官网,自己以前都是称呼count,但实际上read count和UMI count是不一样的哦。10X的单细胞结果是UMI count

part4:2023.12.29更新。

首先明确一点,10X流程得到的结果并不需要对基因的长度进行矫正,所以也就不存在真正的“TPM”,我个人理解在10X流程中的矫正只存在“类TPM”矫正,那么不矫正基因长度的“类TPM”实际上就是“CPM”。这种“CPM”实际上就是Seurat常常在用NormalizeData()做的事。但还有一个不同,常规的“CPM”缩放因子应该是10^6,而NormalizeData()使用的是10^4,具体原因参考帖子。以及单纯的“CPM”矫正不带log处理,这个要视后面的需求而定

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
甲状腺癌(Thyroid cancer)是一种常见的恶性肿瘤,其发生与甲状腺内部细胞的突变累积有关。甲状腺癌的研究需要大量的数据来揭示其发生机制以及诊断治疗的新方法。TCGA(The Cancer Genome Atlas)是一个美国国立癌症研究所(National Cancer Institute)和国立人类基因组研究所(National Human Genome Research Institute)联合发起的项目,致力于通过高通量基因组测序等技术,提供肿瘤基因组的全面描述。 TPM(Transcripts Per Million)是一种常用于报告基因表达水平的单位。TPM数据是一种相对表达水平的量化方式,通过对测序 reads 进行归一化,可以有效地消除由于测序深度差异、基因长度差异等因素引起的表达量不一致的问题。 甲状腺癌TCGA的TPM数据是指利用TCGA项目获得的甲状腺癌患者的基因表达数据,并以TPM为单位进行归一化和报告。通过分析这些数据,研究人员可以了解甲状腺癌发生与发展过程中的基因表达变化,并研究与该肿瘤相关的分子机制。这些数据对于诊断和治疗甲状腺癌具有重要意义。 通过对甲状腺癌TCGA的TPM数据的研究,可以发现不同基因在甲状腺癌中的表达水平差异,进而找到可能与该肿瘤相关的关键基因。此外,研究人员还可以通过比较不同患者之间的基因表达差异,寻找可能用于临床诊断、预后判断和治疗的生物标志物。 甲状腺癌TCGA的TPM数据为研究人员提供了宝贵的参考资料,帮助他们深入了解甲状腺癌的分子机制,并为甲状腺癌的个体化治疗和精准医学提供重要依据。对于甲状腺癌的诊断和治疗的进一步研究,TPM数据将起到重要的推动和指导作用。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

18kkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值