小编Sun*_*kar的帖子

如何使用 R 或 python 为 DNA 序列生成一种热编码

我想为一系列 DNA 序列生成一个热编码矩阵。我尝试通过以下链接解决我的问题: 如何为 DNA 序列生成一种热编码?但有些解决方案仅针对单个 DNA 序列给出,而不是针对一系列 DNA 序列。

例如

def one_hot_encode(seq):
    mapping = dict(zip("ACGT", range(4)))    
    seq2 = [mapping[i] for i in seq]
    return np.eye(4)[seq2]

one_hot_encode("AACGT")
Run Code Online (Sandbox Code Playgroud)

在上面给出的代码中,如果我运行one_hot_encode("AACGT","GGTAC","CGTAC")它将失败,我也想生成矩阵作为输出。

目前,我正在 R 中工作,下面是我在 R 数据框中的 DNA 序列(单列文件)

ACTTTA
TTGATG
CTTACG
GTACGT
Run Code Online (Sandbox Code Playgroud)

预期产出

1   0   0   0   0   1   0   0   0   0   0   1   0   0   0   1   0   0   0   1   1   0   0   0
0   0   0   1   0   0   0   1   0   0   1   0   1 …
Run Code Online (Sandbox Code Playgroud)

python r matrix one-hot-encoding

1
推荐指数
1
解决办法
683
查看次数

标签 统计

matrix ×1

one-hot-encoding ×1

python ×1

r ×1