Yuliang Zhang

Paper-sharing 2018 第七期

2018-02-20


本期介绍一篇在 Bioinformatics 上发表的一篇类似综述的文章,主要介绍了深度学习技术在生物学序列分析中的一些应用,题目是An introduction to deep learning on biological sequence data: examples and solutions,正好寒假在学pytorch,顺便用pytorch重写了其中的一两个例子,这篇文章也有代码,不过是用了一个lasagne的框架,和keras差不多,自己就权当练手了。文章大概讲了三个例子,来简单看看,这篇干货少,还可能会掺杂一点我个人的想法。三个例子分别是:蛋白质亚细胞定位预测、蛋白质二级结构预测、预测可以结合 MHC class II 分子的多肽,我主要以第一个例子为例进行说明。

我选取了之前看到的一篇文章中的比较深的神经网络为例,这篇文章的神经网络要比综述中引用的那篇网络的结构复杂,因为这篇文章有神经网络的结构图,所以以它为例简单看看,其中LSTM的结构我不是很熟悉,就不说了,之后熟悉了再补充,结构如下图所示:

因为蛋白质序列的长度不同,首先要进行处理,一般的处理方法是对蛋白质序列进行one-hot coding,并且通过补0把长度不同的序列补充成为长度相同的序列,选取宽度与氨基酸种类相同,长度不同的卷积核在第一层进行特征提取,这一步可以理解为motif寻找,之后将提取的特征通过LSTM进行特征提取,进而进行预测,其中第一步卷积核提取的特征也可以作为寻找到的motif进行下一步的分析,具体的细节我估计会在今年晚一点时候再谈。

随着最近人工智能的火热,不少搞生物信息的人也跃跃欲试,我第一次接触到深度学习在生物学中的应用是在雁栖湖上课时候老师介绍的Deepbind,这是一篇12年发表在 NB 上的文章,之后就一直想怎么把这种方法应用到我的第一个课题中,第一个课题是一个非常偏序列分析的问题,我觉得用卷积神经网络很好,但是是一个回归问题,一直没有想到解决办法,知道去年在 Genome Research 上看到一篇非常类似的文章,即先设计序列,流失细胞分选确定突变体效率,再用卷积神经网络做回归,不过不是一个科学问题,看了人家的代码以后才霍然开朗,感叹自己学的还是太浅了,不会灵活应用,不过当时第一个课题已歇菜许久,也就没有机会试试了。自我感觉深度学习将来在生物学的领域可能会更有作为,学习一下也许是个不太亏本的买卖。