2015-10-04 2 views
0

Биологического РНК:Заменить список с помощью словаря

rna = AGCACGUAGCUGACUGACUGA 

protein_chart = {"UUU":"F", "UUC":"F", "UUA":"L", "UUG":"L", 
    "UCU":"S", "UCC":"s", "UCA":"S", "UCG":"S", 
    "UAU":"Y", "UAC":"Y", "UAA":"STOP", "UAG":"STOP", 
    "UGU":"C", "UGC":"C", "UGA":"STOP", "UGG":"W", 
    "CUU":"L", "CUC":"L", "CUA":"L", "CUG":"L", 
    "CCU":"P", "CCC":"P", "CCA":"P", "CCG":"P", 
    "CAU":"H", "CAC":"H", "CAA":"Q", "CAG":"Q", 
    "CGU":"R", "CGC":"R", "CGA":"R", "CGG":"R", 
    "AUU":"I", "AUC":"I", "AUA":"I", "AUG":"M", 
    "ACU":"T", "ACC":"T", "ACA":"T", "ACG":"T", 
    "AAU":"N", "AAC":"N", "AAA":"K", "AAG":"K", 
    "AGU":"S", "AGC":"S", "AGA":"R", "AGG":"R", 
    "GUU":"V", "GUC":"V", "GUA":"V", "GUG":"V", 
    "GCU":"A", "GCC":"A", "GCA":"A", "GCG":"A", 
    "GAU":"D", "GAC":"D", "GAA":"E", "GAG":"E", 
    "GGU":"G", "GGC":"G", "GGA":"G", "GGG":"G",} 

Я хочу разделить КАН на группы по 3 и заменить все эти элементы с их представительными компонентами из «protein_chart» словаря, но я не могу чтобы заставить его работать, используя другие примеры, которые я нашел.

Помощь?

+4

Где ваш код? –

+1

Пожалуйста, покажите свой код. Это действительно поможет нам начать поиск и устранение неполадок. Кроме того, убедитесь, что вы прочли это: http://stackoverflow.com/help/how-to-ask :) – idjaw

ответ

1

Вы можете сделать это с помощью присоединиться и нарезка:

print(''.join(protein_chart[x] for x in [rna[y:y+3] for y in range(0, len(rna), 3)])) 
1

Вы могли бы использовать:

# Split the rna vector into chunks of three 
rna = 'AGCACGUAGCUGACUGACUGA' 
n = 3 
rna_split = [rna[i:i+n] for i in range(0, len(rna), n)] 

# Go through dictionary looking for entries and printing them 
for dna_el in rna_split: 
    print(protein_chart[dna_el]) 
+0

Отличный ответ! Но сначала вы должны сделать 'rna'' string. –

Смежные вопросы