Python脚本ot以SVM输入格式转换肽序列

Python脚本ot以SVM输入格式转换肽序列,python,sequence,Python,Sequence,我有一个关于将蛋白质序列转换为SVM输入格式的查询。最近,我发现了一个教程,其中展示了将蛋白质序列转换为稀疏二进制表示(例如,下面给出的)的过程。请帮助我,比如如何在python脚本的帮助下将我的7mer序列转换为这种格式 Amino Acide Binary code A 10000000000000000000 C 01000000000000000000 D

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

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]

这将生成序列二进制表示的字符串。

您的输入是什么?肽字符串(“AGCD”)或二进制代码。构建“SVM输入”的规则是什么?深入了解计算过程将非常有用。我的输入是600个7-9个肽序列,这些肽序列应转换为稀疏二进制编码以准备训练集。在SVM中,我们通常使用两种类型的数据集正和负,例如,如果我有10个正数据和10个负数据,那么我必须分别使用正正弦和负正弦。例如,在上面的示例中,AD代表正正弦,而YC是负数据集,所以我们使用了各自的正弦。您如何知道哪个数据集是正的,哪个是负的?您还需要成对写入SVM数据吗?我知道正数据集和负数据集,因为我从数据库中提取了这些数据并存储在单独的文件中,但要对这些数据进行分类,我需要将其输出保存在一个带有正正弦和负正弦的txt文件中,以生成SVM模型。这将有助于SVM分类器枚举一个适合这些目的的模型我改变了答案生成二进制表示字符串,由于我仍然不能100%理解你到底想做什么,如果你真的想解决这个问题,请提供你的邮件ID,我会给你详细的解释,我已经写在这里张贴,但不幸的是,这个博客的charectore限制阻止我这样做。否则谢谢你的支持。