Декодировать в 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'
печатается.