我有一个与蛋白质序列转换为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
感谢。
答案 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。
的二进制表示的字符串