Python脚本转换为SVM输入格式的肽序列

时间:2013-10-15 07:46:04

标签: python sequence

我有一个与蛋白质序列转换为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

感谢。

1 个答案:

答案 0 :(得分: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。

的二进制表示的字符串