深度学习在生物信息学上的应用

By | 2016年11月10日

目前,深度学习在语音图像处理方面应用得如火如荼。个人研究方向是生物信息学,目前想用深度学习来做疾病基因的识别,但是深度学习应用在生物信息学上的例子相比较来说,少之又少,更别说应用在疾病基因识别上了。

既然要做开拓性的工作,那么首先得了解一些应用在其它方向的例子。

1.为什么能将深度学习应用于生物信息学

在计算生物学中,我们往往需要刻画生物网络模型、预测基因之间的关系等等,但大多数时候我们并不知道其中的底层机制,我们有的只是基因测序数据、细胞图像等。

而机器学习就是这样一种方法,能使得我们从数据中找出其中的关系,而不需要预先知道它们的结构和含义。

qq%e5%9b%be%e7%89%8720161109111045

这其中,大多数可视为回归(输出是一个实数值)和分类(输出是类标签)问题,这一般是在有监督的训练之下。

而对于生物数据中的无监督机器学习,主要是为了发现数据x中的模式,并不需要输出标签y。这个时候常用的方法有聚类主成分分析异常检测等。

qq%e6%88%aa%e5%9b%be20161109111231

深度学习用于高通量生物学的可能性非常明显:

  1. 原则上,深度学习非常适合应用于大量的高维数据集(DNA序列、RNA measurements、流式细胞仪或自动显微镜),通过训练多层的复杂网络来捕获数据内部的结构。
  2. 学习网络可以发现高维特征,特征表示丰富,能捕获非线性的关系(如序列、相互作用的影响)。提高了传统模型的性能,增加可解释性,让我们更加了解生物数据的结构。
  3. 传统的机器学习算法不能直接在序列上进行操作,也就是说,不能直接将序列作为输入,而是需要基于先验知识(如单核苷酸变异的有无、k-mer的频率、motif的出现、已知的调控变量或结构元素等)将预先定义的特征从序列中提取出来再进行操作。

如今,大致有几类数据用深度学习来分析过,比如下图中:基因序列、生物医学图像、生物医学信号等,经过深度神经网络的学习,可以做一些研究,比如:

  • 蛋白质结构预测
  • 基因表达调控
  • 基因分割
  • 大脑编码
  • 异常分类

%e5%9b%be%e7%89%871

像一些具体的应用如下图:

  • B是将DNA序列中的ACGT进行01编码,经过深度神经网络,识别出基因剪接点
  • C是将人体的X-ray照片经过空间处理,经过CNN,识别指关节
  • D是将脑电信号,经过合适的sliding window处理,变成时间序列上的信号过程,再经过RNN,识别衰弱信号

%e5%9b%be%e7%89%872

 

2.具体应用

2.1 基因表达 gene expression

2.1.1 预测基因表达

  1. Karlic R, Chung HR, Lasserre J, Vlahovicek K, Vingron M (2010) Histone modification levels are predictive for gene expression. Proc Natl Acad Sci USA 107: 2926 – 2931
  2. Cheng C, Yan KK, Yip KY, Rozowsky J, Alexander R, Shou C, Gerstein M (2011) A statistical framework for modeling gene expression using chromatin features and application to modENCODE datasets. Genome Biol 12: R15
  3. Li J, Ching T, Huang S, Garmire LX (2015) Using epigenomics data to predict gene expression in lung cancer. BMC Bioinformatics 16(Suppl. 5): S10 【这篇文章使用的随机森林

 

2.2 蛋白质 Protein

2.2.1 蛋白质结构 Protein structure

在计算生物学中,神经网络最早应用于蛋白质结构的预测,1980s就有了,也是早期深度学习的影子。

  1. Di Lena, P., Nagata, K., and Baldi, P. (2012). Deep architectures for protein contact map prediction. Bioinformatics 28, 2449–2457. 【一个50层的深度学习模型,在CASP8数据集上预测Residue–residue contact,相比于传统方法提高了10%】
  2. Sønderby SK, Winther O (2014) Protein secondary structure prediction with long short term memory networks. arXiv:1412.7828

2.2.2 蛋白质紊乱

  1. Eickholt J, Cheng J (2013) DNdisorder: predicting protein disorder using boosting and deep networks. BMC Bioinformatics 14: 88

 

2.3 甲基化

2.3.1 预测DNA甲基化

  1. Angermueller C, Lee H, Reik W, Stegle O (2016) Accurate prediction of single‐cell DNA methylation states using deep learning. bioRxiv. doi: 10.1101/055715  【卷积神经网络
  2. Yiheng Wang, Tong Liu, Dong Xu, Huidong Shi (2016) Predicting DNA Methylation State of CpG Dinucleotide Using Genome Topological Features and Deep Networks. nature. doi: 10.1038/srep19598 【堆叠去噪自动编码器预测CpG岛的甲基化状态】

 

2.4 癌症

2.4.1 预测暴露在药物下的癌症细胞株的活性

SVM、随机森林 等训练

  1. Eduati F, Mangravite LM, Wang T, Tang H, Bare JC, Huang R, Norman T, Kellen M, Menden MP, Yang J, Zhan X, Zhong R, Xiao G, Xia M, Abdo N, Kosyk O, Collaboration N‐N‐UDT, Friend S, Dearry A, Simeonov A et al (2015) Prediction of human population responses to toxic compounds by a collaborative competition. Nat Biotechnol 33: 933–940
  2. Menden MP, Iorio F, Garnett M, McDermott U, Benes CH, Ballester PJ, Saez‐Rodriguez J (2013) Machine learning prediction of cancer cell sensitivity to drugs based on genomic and chemical properties. PLoS ONE 8: e61318

 

2.5 剪接点 splicing

  1. Leung MKK, Xiong HY, Lee LJ, Frey BJ (2014) Deep learning of the tissue‐regulated splicing code. Bioinformatics 30: i121–i129
  2. Wang K, Cao K, Hannenhalli S (2015) Chromatin and genomic determinants of alternative splicing. In Proceedings of the 6th ACM Conference on Bioinformatics, Computational Biology and Health Informatics, pp 345–354. New York: ACM
  3. Xiong HY, Alipanahi B, Lee LJ, Bretschneider H, Merico D, Yuen RKC, Hua Y, Gueroussov S, Najafabadi HS, Hughes TR, Morris Q, Barash Y, Krainer AR, Jojic N, Scherer SW, Blencowe BJ, Frey BJ (2015) The human splicing code reveals new insights into the genetic determinants of disease. Science 347: 1254806  【全连接前馈神经网络,预测单个外显子的剪接活动,使用从候选外显子及其邻接内含子中提取的1000个预定义的特征来训练模型】
  4. Xiong, H.Y., Alipanahi, B., Lee, L.J., Bretschneider, H., Merico, D., Yuen, R.K., Hua, Y., Gueroussov, S., Najafabadi, H.S., Hughes, T.R., et al. (2015). The human splicing code reveals new insights into the genetic determinants of disease. Science 347, 1254806. 【预测RNA spilcing上内含子或外显子单位点突变的影响,包括远离剪接点的位点突变】

 

2.6 DNA/RNA结合位点 DNA- and RNA-binding proteins [转录因子 TF]

  1. Alipanahi B, Delong A, Weirauch MT, Frey BJ (2015) Predicting the sequence specificities of DNA‐ and RNA‐binding proteins by deep learning. Nat Biotechnol 33: 831–838 【DeepBind算法,即用卷积神经网络预测DNA- and RNA-binding proteins 的序列特点】

 

2.7 调控

  1. Kelley DR, Snoek J, Rinn J (2016) Basset: learning the regulatory code of the accessible genome with deep convolutional neural networks. Genome Res doi:10.1101/gr.200535.115 【深度卷积神经网络

 

2.8 表观遗传

 

2.9 DNA序列

DNA序列可以直接作为网络的输入,而不需要进行复杂的前期处理。下图中的卷积神经网络找出三个相同DNA序列中的变异位点,以单个位点为中心,通过DNA序列窗口锁定序列。

qq%e6%88%aa%e5%9b%be20161109173203

下图中,将变异的序列再次作为输入,经过一个额外的卷积神经网络,预测一个序列的变异score,从而将正常序列从变异序列中区分出来。

qq%e6%88%aa%e5%9b%be20161109182136

我们还可以将某一层的卷积结果进行可视化,通过比对基因序列,最大化激活某一层的filter,创建一个序列motif。如下图:

qq%e6%88%aa%e5%9b%be20161109182853

根据前面的mutation score等信息,我们最终可以得到一个序列窗口的mutation map,如下图所示。行表示ATCG四种可能的替换碱基,列表示序列的顺序位置,顶上的字母表示wild-type序列,字母的高度表示变异的最大影响。也就是说,这些高一点的核苷酸更容易发生变异。

qq%e6%88%aa%e5%9b%be20161109183531

qq%e6%88%aa%e5%9b%be20161130105258

  1. Xu Min , Ning Chen , Ting Chen  and Rui Jiang. DeepEnhancer: Predicting Enhancers by Convolutional Neural Networks. 2016 【基于DNA的序列特点用CNN预测增强子,该模型的结构图如figure 1 所示】(这篇文章似乎还未发表)

 

2.10 非编码区变异 noncoding variants

  1. Zhou J, Troyanskaya OG (2015) Predicting effects of noncoding variants with deep learning‐based sequence model. Nat Methods 12: 931–934  【卷积神经网络

 

2.11 其它

  1. Dahl, G.E., Jaitly, N., and Salakhutdinov, R. (2014). Multi-task neural networks for QSAR predictions. arXiv, arXiv:1406.1231 【人工神经网络用于Quantitative Structure-Activity/Property Relationship (QSAR/QSPR) studies,同时预测多个化合物的活性

 

3.瓶颈与挑战

3.1 数据问题

3.1.1 数据的维度

特征提取器无法提取大规模的数据的特征。简单来说,深度神经网络将原始数据作为输入,通过依次组合前面层的输出,将它们转换成越来越抽象的特征表示,从而在这样一个“box”中压缩了极度复杂的函数。深度神经网络使用了分层的结构从原始数据中学习逐渐抽象的特征表示。所以说,如何表示原始数据很重要。

qq%e6%88%aa%e5%9b%be20161109111502

这方面也有一些改进:

  1. Bengio Y, Courville A, Vincent P (2013) Representation learning: a review and new perspectives. Pattern Anal Mach Intell IEEE Trans 35: 1798–1828
  2. LeCun Y, Bengio Y, Hinton G (2015) Deep learning. Nature 521: 436–444
  3. Schmidhuber J (2015) Deep learning in neural networks: an overview. Neural Netw 61: 85–117

3.1.2 数据的量

像前面提到的序列窗口( sequence windows )就可以或多或少解决数据量少的问题,一般应用在剪接位点、转录因子结合位点或表观遗传标记等问题上,

而对于医学图像分析问题,数据是很多,但人工贴上了标签的训练样本很难获得。这种情况下,我们就可以通过缩放、旋转或裁剪现有图像,使得训练集增加。这种方法还能提高鲁棒性。另外一个策略就是再次使用在其它图像识别任务中、在大的数据集中预训练过的网络,然后再在我们想要训练的数据集上微调参数。(能这样做的原因是不同的数据集共享重要的特征,如边或曲线)

 

参考文献:

  1. List of deep learning implementations in biology
  2. Christof Angermueller, Tanel Pärnamaa, Leopold Parts et al.”Deep learning for computational biology“,Molecular Systems Biology,29.07.2016
  3. Ladislav Rampasek and Anna Goldenberg, TensorFlow: Biology’s Gateway to Deep Learning?

发表评论

电子邮件地址不会被公开。 必填项已用*标注