0

我正在尝试从文件中的 DNA 序列中发现以 ASCII 编码的文本。

下面是我的代码:

首先是打开FASTA文件,set是一个变量。

with open("/home/<username>/python/progseq") as mydnaseq:
    sequence = mydnaseq.read().replace('\n','')

第二位是将序列转换为二进制,并将字母 C 和 G/T 设为 1:

binarysequence = sequence.replace('A','0')

然后我拿了这个 loooooong 二进制序列,想把它变成 8 位:

for i in range(0,len(binarysequence),8):
    binarysequence [i:i+8]

然后创建了这样的输出:

    '00110100'
    '00110010'
    '01000110'
    '00011000'
    '0'

虽然我的输出要长得多,但我只包括了序列的最后四个。

想知道如何将其转换为字母。

4

1 回答 1

0

用例如a = '10010000',你可以做

b = chr(int(a, 2))

首先a根据二进制数转换为整数,然后将此整数解释为字符。请注意,许多这些 8 位整数不会产生可读字符!

一个具体的例子是

b = chr(int('01111000', 2))
print(b)

这导致'x'被打印。

于 2016-12-07T16:47:22.753 回答