Декодировать в Python

Я пытаюсь найти текст, закодированный в ASCII, найденный в последовательности ДНК из файла.

Ниже мой код:

Первый - открыть файл FASTA и установить переменную.

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

Этот второй бит должен перевести последовательность в двоичный файл и сделал это для букв C и G/T равными 1:

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

Затем я взял эту двоичную последовательность и захотел превратить ее в 8 бит:

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

Это тогда создало вывод как это:

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

Хотя у меня был намного более длинный вывод, я включил только последние четыре последовательности.

Хотел узнать, как преобразовать это в буквы.

1 ответ

Например, a = '10010000', ты можешь сделать

b = chr(int(a, 2))

сначала преобразовать a в целое число, основанное на двоичном числе, а затем интерпретировать это целое число как символ. Обратите внимание, что многие из этих 8-битных целых чисел не приведут к читаемым символам!

Конкретный пример

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

что приводит к 'x' печатается.

Другие вопросы по тегам