利用机器学习预测人类增强子
1. 引入深度学习模型
在之前的尝试中,我们可能得到了与之前相似的分数,这表明仅使用逻辑回归模型从序列中预测增强子是不够的,我们需要一个更深层次的模型。接下来,我们将尝试使用深度学习模型进行预测。
2. 独热编码与简单卷积神经网络(CNN)
独热编码是表示DNA序列最简单的方法之一。它将DNA序列表示为一个L × 4的矩阵,其中L是DNA序列的长度,4是核苷酸的数量。具体来说,对于每个位置的核苷酸,在对应的核苷酸列中置为1,其他列置为0。
以下是将fasta记录转换为独热矩阵的函数实现:
import os
from Bio import SeqIO
import numpy as np
import time
from tqdm import tqdm
import random
# Convert fasta into ML input data
def seq2onehot(in_fa, random_choice=False, rand_n=None):
print(f'Reading {os.path.basename(in_fa)} into dictionary and removing N\'s')
multi_fa = SeqIO.to_dict(SeqIO.parse(in_fa, 'fasta'))
clean_multi_fa = {}
for k, v in tqdm(multi_fa.items()):
if 'N' not in str(v.seq).upper():
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



