第一周
本周我主要完成了空间转录组聚类论文 FPS-MGCN 的精读,并对照它的开源代码手写了图卷积、注意力融合、ZINB 解码、傅里叶特征映射等核心代码模块。目前我已经理解了方法的核心思路,也明确了下一步复现需要补全的内容。
本周完成
- 精读论文《Boundary-Aware Clustering of Spatial Transcriptomics Data Via Fourier Feature Mapping and Dynamic Self-Supervision》;
- 对照官方开源代码,手写了图卷积层
GraphConvolution、注意力融合层Attention、双层GCN、ZINB 解码器EINBdecoder、多视图主模型FPS_MGCN以及傅里叶特征映射fourier_transform等核心代码模块;
学习内容
FPS-MGCN 论文精读
学习思路
首先,全面梳理论文中涉及到的核心概念,对每个概念的定义,有一个初步的形象化理解。 然后,对于其中的关键概念,借助 AI 收集整理文献,充分理解其相关领域研究。 最后,尝试建立不同概念之间的连接,发掘其共性与不同。
手写核心代码
对照开源代码手写了核心代码模块,包括:
core/layers.py:图卷积层GraphConvolution与注意力融合层Attention;core/models.py:双层GCN、ZINB 解码器EINBdecoder与多视图主模型FPS_MGCN(空间图、特征图、傅里叶三个分支经注意力融合);utils.py:傅里叶特征映射fourier_transform——官方仓库缺失,参照论文公式复现;
较为生疏的语法补充进笔记: PyTorch常用语法速查
问题与反思
伊始接触生物信息领域,很多概念不太清楚,所以在概念的梳理和理解上花费了一点时间。但相应的我觉得学习得非常充实、非常扎实。同时也很感慨 AI 工具的强大,现在可以用很便捷的方式迅速了解入门一个领域的相关知识,或者说非常快速地生成一篇文献综述出来。
在代码方面,我只手写了核心模块。像数据集预处理、损失函数等部分暂时没做,一方面是这篇文章的 GitHub 仓库里没有直接提供数据集,还需要另外去网上下载,而且代码也不是特别全。另一方面,目前想先快速入门生物信息知识,所以代码上只复现了几个重要模块,其他部分暂不深入,等后续模块熟悉后,再逐步掌握。
最后是知识点的掌握方面。虽然学习时有意识地去尝试输出内容、总结观点,但发现自己对知识点的掌握还是不太熟悉。比如昨天向老师汇报时,文献已经读了一段时间,但一下子又复述不出来。归结起来,我觉得还是输出方面少一些,以及没有及时复习。以后要加强对知识点的输出,多把知识点口述出来、自己复述一遍,效果可能会更好。