有小伙伴在交流群问了一下tSNE和UMAP的问题,就有人“友情回怼”了一下说要理解“降维聚类分群”原理就得看生物信息学算法了。
然后甩了一个很古老的在线书籍:https://compeau.cbd.cmu.edu/online-education/bioinformatics-algorithms-an-active-learning-approach/
Bioinformatics Algorithms: An Active Learning Approach is a joint project with Pavel Pevzner from the University of California San Diego. First published in 2014, this textbook is now in its third edition and has become a bestseller in the field of computational biology, achieving adoption by over 200 instructors in 45 countries.
如下所示:
每个章节都从一个生物学问题开始,然后自底向上教授解决这个问题所需的计算方法。
- 第1章:基因组中DNA复制从哪里开始?(算法热身)
- 第2章:哪些DNA模式扮演分子钟的角色?(随机算法)
- 第3章:我们如何组装基因组?(图算法)
- 第4章:我们如何测序抗生素?(暴力算法)
- 第5章:我们如何比较生物序列?(动态规划)
这本书通过将生物问题与计算方法相结合,为读者提供了一种主动学习生物信息学算法的途径。
老实说,我没有啃下去里面的算法,因为确实是太底层了,先不说里面是否有tSNE和UMAP的细节问题,里面的公式和示意图已经是试图很清晰的展现给我算法细节,但是它进不去我的脑子啊!!!
很清晰的展现给我算法细节
如果是学单细胞数据分析之前得掌握如上所示生物信息学算法,那就基本上劝退了99%的入门者。绝大部分生信工程师都是应用级,完全没必要深入学习底层算法了。
算法是否有人还在学习呢
前面提到了,绝大部分生信工程师都是应用级,完全没必要深入学习底层算法了。但是算法仍然是有人在开发的, 比如南开大学数学科学学院陈盛泉课题组:
- 2024年2月22日,南开大学数学科学学院陈盛泉课题组在Nature Communications上在线发表题为“scCASE: accurate and interpretable enhancement for single-cell chromatin accessibility sequencing data”。南开大学数学科学学院2023级硕士生汤凇鸣为论文第一作者,陈盛泉副教授为论文通讯作者。
- 2024年4月6日,陈盛泉课题组在Nature Communications上在线发表题为“scButterfly: a versatile single-cell cross-modality translation method via dual-aligned variational autoencoders”南开大学数学科学学院2019级本科生曹一川为论文第一作者,陈盛泉副教授为论文通讯作者。
- 2024年5月10日,陈盛泉课题组联合清华大学自动化系江瑞课题组在Nature Computational Science上在线发表题为“Discrete latent embedding of single-cell chromatin accessibility sequencing data for uncovering cell heterogeneity” 清华大学自动化系2019级直博生崔雪建为论文第一作者,清华大学江瑞教授和南开大学陈盛泉副教授为论文通讯作者。
感觉啊,现在的很多生物信息学前沿工作,都是数学系或者自动化相关的人弄的,反倒是生命科学缺席了。。。我也在群里号召大家讨论过这个问题:
- 可能更多需要一些统计学相关数理知识来对数据进行解析,这对普通学生物的较难。。。
- 生物学家负责解决实际问题,而数学相关专业的专家负责协助生命科学问题的数学模型实现,大家都各司其职,生物学家负责解读数据结论,而数学家更关注于数学方法的模拟,少了谁都不成
- 数学家们将已知的生命科学理论知识体系化,数学化,最后由生物学家们对数据赋予现实意义
- 比如说seurat的降维,聚类算法,我们不需要看懂他的源码,也不用详细了解他的算法,我们只要借助r语言就可以很轻松的完成一系列分析任务,赋予数据结构现实意义。。。
那么普通人学单细胞数据分析之前得掌握什么呢?
其实从零开始学单细胞数据分析是一个伪命题,没可能说最简单的r或者Python编程语言都不会就可以直接上手处理数据。目前网络上公开了海量的单细胞转录组降维聚类分群,但凡是有一点点编程基础,都可以很快follow那些代码出图,然后结合文章去理解每个图表结果来掌握单细胞转录组数据分析。
除了编程基础之外,那就是理解统计可视化的生物学含义了,单细胞转录组是普通转录组的升级,理论上之前我们转录组数据分析的常见思维方法都可以复用的,无论是转录组测序还是表达量芯片,都是有分组有差异分析有富集分析有基因集打分。所以,掌握一些传统转录组数据分析策略是会很有帮助的。