【让你五行代码发一篇文章】如何把DNA序列编码成深度学习的向量化输入——GP-GCN框架教程

背景

现在越来越多的工作利用深度学习来实现DNA序列的分类或者回归任务,但是如何把DNA序列编码成深度学习的向量化输入?换句话说,怎么把由A,C,G,T组成的DNA“字符串”转化成深度学习需要的向量(矩阵)格式?

目前常用的方法有one-hot encoding和 k k k-mer frequency vector。One-hot encoding是把A表示成[1,0,0,0], C表示成[0,1,0,0],G表示成[0,0,1,0],T表示成[0,0,0,1],这样一条长度为 L L L的DNA序列可以转成 4 ∗ L 4*L 4L的矩阵,但多数情况下参与训练的DNA序列长度都不一样,然而深度学习模型要求输入的矩阵大小一致,这时候如果长度差别不是很大,可以用cutting & padding的方法;如果长度差别很大,one-hot encoding就不太适合了。这时候可以采用 k k k-mer frequency vector来表示DNA序列,也就是把这条序列中所有的 k k k-mer的出现频率或者次数提取出来,组成一个向量作为输入,这种方法的很显然会丢失很多序列的信息,比如 k k k-mer之间的interaction。

这里要介绍的GP-GCN framework[1]就是为了解决这些问题。[1]这篇文章主要是拿病毒的序列作为例子来验证这个框架,实际上这个框架可以用于任何DNA序列。

GP-GCN framework原理

如果对原理不感兴趣,可以跳过这部分直接看软件教程哦~

  1. sequence to graph
    对于一条DNA序列 s s s,我们都可以把它转化成一个graph。graph的点对应 k k k-mer,边对应

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值