我如何转换肽序列转换成二进制码
问题描述:
bin_dict = {
'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'
}
seq1="ACDE"
bin_string=''
svm_string=''
for letter in seq:
code = bin_dict[letter]
print code
出来把这个代码是走出这样我如何转换肽序列转换成二进制码
10000000000000000000
01000000000000000000
00100000000000000000
00010000000000000000
我的第一个问题已经解决了我所期望的方式输出,如@goncalopp建议我正试图重新引入我的Qtn以便更好地理解。
Fig 1.
步骤第一:SEQ = ACDE
第二步:通过INT的这个二进制码位置的 “1” 将被下面
10000000000000000000010000000000000000000010000000000000000000010000000000000000
| | | |
1:1 1:22 1:42 1:58
第三步所给出的计算:计算的位置
1:1 1:22 1:42 1:58
第四步:
Ultimate output should be a text file having code only 1:1 1:22 1:42 1:58 to represent the string ACDE
现在请建议我这是什么python代码。
答
试试这个:
print("".join([bin_dict[l] for l in seq1]))
本文将结合各个琴弦。
答
binstring = ''.join([bindict.get(l) for l in seq1])
应该先做。第二我会有另一个字典,并使用它。
既然你最终只需要1位,并且每个项目由20增长序列你也可能直接跳到到:
pos_dict = {'A':1, 'C':2, 'D':3, 'E':4, 'F':5, 'G':6, 'H':7, 'I':8,
'K':9, 'L':10, 'M':11, 'N':12, 'P':13, 'Q':14, 'R':15,
'S':16, 'T':17, 'V':18, 'W':19, 'Y':20 }
S = 1
for Seq in Seqences:
so_far = 0
for l in Seq:
print "%d:%d" % (S, so_far + pos_dict.get(l,-999)),
so_far += 20
另外,请写出每个职位只有一个问题。 –
对于你的第一个问题,你只需要在你的打印中加一个逗号:'打印代码,'。我不完全理解你的第二个问题。你只是想找到1的位置?您可能想要重述这个问题,因为大多数人都不知道肽序列是什么。 – goncalopp
@ goncalopp我编辑了我的帖子,请提出建议。 – JAZs