说在前面
Immugent在前段时间的一篇推文中:SciBet:一个软件解决单细胞注释所有烦恼介绍了张泽民老师课题组开发的单细胞注释软件:SciBet。本次,生信宝库继续推出精品,介绍一下同样是张泽民老师在2021年开发出的对单细胞数据集进行整合的软件:iMAP。
相应的文章发表在Genome Biology杂志上,篇名为“iMAP: integration of multiple single-cell datasets by adversarial paired transfer networks”。这是一款基于机器学习的算法,其实这对一直只使用R来进行单细胞数据分析的Immuget来说挑战还是蛮大的,还好有“方块Q”同学的帮助,这里做一个简短的致谢!
对不同的单细胞数据进行整合的算法目前有很多了,最出名的就是harmony,Liger了,同时Seurat包自带的就有很强功能的单细胞数据整合函数。但是,数据整合的学问其实很大,整合不足就带入了批次效应,整合太过就会损失本身的差异性,于是先前的同类软件大多办不到两全其美。鉴于这种情况,其实最适合的就是机器学习了,因为它是一个动态的,随时可以调整自身的工作流程。那么iMAP正是基于将深度学习运用于单细胞数据整合集大成的软件了,下面开始展示。
本期内容不同于之前的代码演示形式,主要是以Immugent自身使用这个软件的感想为主,相关具体的代码可以去这个软件的官网去学习。
主要内容
先放一张iMAP底层设计的有关机器学习的流程,虽然小编自己不咋能看懂,万一有看得懂的小伙伴呢!
iMAP其它一般的功能呢,和主流单细胞数据整合工具差不多,就类似于下面这些。
然而,小编最看好的就是下面这部分内容了,iMAP整合10x和Smart-seq2数据的优势。我们知道10x是目前主流的商业化单细胞测序平台,具有收集样本细胞量大的特点,但是因为只能捕获带polyA尾的基因,并不能检测到全部基因,而且测不到全长。另一个软件Smart-seq2恰恰和它互补,于是现在很多研究都是同时使用这两种算法进行检测,那么问题来了,如何整合这两种平台的数据呢?
其实Seurat和harmony都能做10x和Smart-seq2数据的整合,特别是harmony,整合的效果还挺好,但是,但是,整合后的数据达不到预想的效果。就是整合后数据的基因中位值还是1000多,既然这样还不如同时多测几个10x样本喽!
于是神器--iMAP出现了,正如下图所见,iMAP整合后的数据可以成功将10x检测到的基因数目提高3倍,这几乎达到Smart-seq2的水平,震惊!!
紧接着,小编自己进行了测试后发现,这种整合效果也并不是完美的,特别是设置的循环数少的情况下,下面是分别进行100次,200次,300次和500次循环后整合的效果展示:
可以看出循环次数越多整合的效果越好,但是次数越多同时意味着运算量更大,小编的服务器最多只能跑到200个循环,但是要是拿到比较理想的结果,循环次数应该最少不低于300次,阿门!此外,从检测到的基因个数层面,我们也可以发现基因的中位值并不会随着整合的次数增加而上升,所以在使用iMAP时要根据实际情况来综合评估要使用的循环数。
小结
从这个软件我们可以看出,虽然机器学习说不清道不明的(可能是自己不懂),但是好真能解决实际问题,特别是今年涌出了大量基于机器学习的各类软件,这不得不让Immugent也下定决心学习一波python了。
但是小编自己这些天接触python的感受,并不像大家之前说的,python程序运行更快,消耗的内存较少。只要是数据量大,那还是一样可以将服务器跑炸掉。。。
好啦,本次的分享到这就结束啦,欢迎有使用python分析单细胞数据基础的小伙伴通过后台与我们联系,我们一起学习呀!