0

我有一个与将蛋白质序列转换为 SVM 输入格式相关的查询。最近我发现了一个教程,它显示了将蛋白质序列转换为稀疏二进制表示(例如下面给出)请帮助我,比如如何在 python 脚本的帮助下将我的 7mer 序列转换为这种格式。

Amino Acide                Binary code 
A                   10000000000000000000
C                   01000000000000000000
D                   00100000000000000000
E                   00010000000000000000
F                   00001000000000000000
G                   00000100000000000000
H                   00000010000000000000
I                   00000001000000000000
K                   00000000100000000000
L                   00000000010000000000
M                   00000000001000000000
N                   00000000000100000000
P                   00000000000010000000
Q                   00000000000001000000
R                   00000000000000100000
S                   00000000000000010000
T                   00000000000000001000
V                   00000000000000000100
W                   00000000000000000010
Y                   00000000000000000001

以 2mer 肽为例

Peptide            Sparse binary encoding of peptide        SVM input

AD            1000000000000000000000100000000000000000    +1 1:1 23:1
YC            0000000000000000000101000000000000000000    -1 20:1 22:1

它应该为相应的肽生成一个 SVM 输入的 out.txt 文件。如下所示。

+1 1:1 23:1
-1 20:1 22:1

谢谢。

4

1 回答 1

1
bin_dict = {
'A':'10000000000000000000',
'C':'01000000000000000000',
'D':'01000000000000000000',
'E':'00010000000000000000',
'F':'00001000000000000000',
'G':'00000100000000000000',
'H':'00000010000000000000',
'I':'00000001000000000000',
'K':'00000000100000000000',
'L':'00000000010000000000',
'M':'00000000001000000000',
'N':'00000000000100000000',
'P':'00000000000010000000',
'Q':'00000000000001000000',
'R':'00000000000000100000',
'S':'00000000000000010000',
'T':'00000000000000001000',
'V':'00000000000000000100',
'W':'00000000000000000010',
'Y':'00000000000000000001'
}

seq="ACDE"
bin_string=''
svm_string=''
for letter in seq:
    bin_string+=bin_dict[letter]

这将生成具有 seq 二进制表示的字符串。

于 2013-10-15T08:25:03.340 回答