Практикум 13
Задание 1
Escherichia Coli
Старт-кодон |
Количество вхождений |
Пример вхождения |
ATG |
3890 |
|
ATT |
4 |
полимераза 1 |
CTG |
2 |
ингибитор повторной репликации ДНК |
GTG |
338 |
domain-containing protein |
TTC |
1 |
псевдоген |
TTG |
80 |
белок 30s субъединицы рибосомы |
Candidatus gracilibacteria
Старт-кодон |
Количество вхождений |
Пример вхождения |
ACA |
1 |
псевдогены |
ATG |
1129 |
|
GTG |
41 |
белок 50s субъединицы рибосомы |
TCA |
1 |
псевдоген |
TCT |
1 |
псевдоген |
TTG |
23 |
белок 16s субъединицы |
Mycoplasma pneumoniae
Старт-кодон |
Количество вхождений |
Пример вхождения |
AAA |
1 |
псeвдоген |
ACT |
1 |
псевдоген |
ATA |
4 |
псевдоген |
ATC |
1 |
domain-containing protein |
ATG |
629 |
|
ATT |
8 |
гипотетический белок |
CAA |
2 |
domain-containing protein |
CTC |
2 |
псевдоген |
CTG |
1 |
MFS transporter |
GAA |
1 |
псевдоген |
GGA |
1 |
псевдоген |
GTG |
60 |
псевдоген |
GTT |
1 |
псевдоген |
TCT |
1 |
псевдоген |
TTA |
3 |
эндонуклеаза рестрикции |
TTG |
53 |
экзонуклеаза |
Обсуждение
Альтернативные старт-кодоны накапливаются в псевдогенах, работа которых является необязательной для жизнедеятельности, и в генах домашнего хозяйства, что может быть связано с регуляцией их трансляции.
Самый часто встречающийся альтернативный старт-кодон – GTG – содержит транзицию первого A на G, из-за чего старт-кодон может оставаться комплементарным.
Код к заданию
root=input() l=[] codcon={} seqname={} with open(root,mode="r") as inp: for lines in inp: lines = lines.strip() if '>' in lines: a = inp.readline().strip() cod = a[:3] if cod not in codcon: codcon[cod]=1 seqname[cod] =lines else: codcon[cod]+=1 with open('out.txt',mode='w') as output: for key,item in codcon.items(): l.append(f'{key} {item} \n {seqname[key]}\n') for ls in sorted(l): print(ls,file=output)
Задание 2
1. IS911A regulator
2. formate dehydrogenase N subunit alpha
3. formate dehydrogenase O subunit alpha
4. formate dehydrogenase H
Обсуждение
У E.coli было найдено 4 последовательности со стоп-кодоном не в конце. Первая последовательность – псевдоген.
3 другие кодируют белки формиатдегидрогеназы. Указано, что их трансляция идет по всей последовательности за исключением стоп-кодона. Это может быть связано с регуляцией трансляции посредством создания шпильки мРНК
Код к заданию
fle = input() bd={} wname=0 seq=[] scod=['TAA','TAG','TGA'] with open(fle,mode='r') as inp: for line in inp: if '>' in line: wname=line.strip().replace('>','') bd[wname]=[] else: bd[wname].append(line.strip()) for key,item in bd.items(): wstr=''.join(item) s=0 while s+3 <=len(wstr): if wstr[-6-s:-3-s] in scod: seq.append(key) break s+=3 with open('out.txt',mode='w') as out: for i in seq: print(i,'\t',file=out)
Задание 3
E.coli
TAA |
2761 |
TAG |
306 |
TGA |
1246 |
C.gracilibacteria
TAA |
1000 |
TAG |
188 |
TGA |
1 |
M.pneumoniae
TAA |
533 |
TAG |
221 |
TGA |
0 |
Обсуждение
У C.gracilibacteria TGA встретился 1 раз: это связано с тем, что он кодирует глицин https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3619370/
У M.pneumoniae ни разу не встретился: это связано с тем, что он кодирует триптофан https://www.ncbi.nlm.nih.gov/pmc/articles/PMC523564/
Код к заданию
fle = input() bd={} wname=0 l=[] scod={'TAA':0,'TAG':0,'TGA':0} with open(fle,mode='r') as inp: for line in inp: if '>' in line: wname=line.strip().replace('>','') bd[wname]=[] else: bd[wname].append(line.strip()) for key,item in bd.items(): wstr=''.join(item) if wstr[-3:] in scod: scod[wstr[-3:]]+=1 with open('out.txt',mode='w') as out: for cod,con in scod.items(): l.append(f'{cod}\t{con}') for el in sorted(l): print(el, file=out)
Задание 4
E.coli
TTA |
0.1294 |
TTG |
0.1280 |
CTT |
0.1030 |
CTC |
0.1046 |
CTA |
0.0364 |
CTG |
0.4987 |
C.gracilibacteria
TTA |
0.3375 |
TTG |
0.1801 |
CTT |
0.1802 |
CTC |
0.1005 |
CTA |
0.1088 |
CTG |
0.0928 |
M.pneumoniae
TTA |
0.3108 |
TTG |
0.1754 |
CTT |
0.2256 |
CTC |
0.0923 |
CTA |
0.1061 |
CTG |
0.0898 |
Обсуждение
Предпочтение одних кодонов другим у отдельных бактерий может быть связано с GC составом и наличием соответствующих тРНК. Различия между бактериями в выборе кодонов связано с различным GC составом
Код к заданию
root=input() l=[] newl=[] codperc={'TTA':0, 'TTG':0, 'CTT':0,'CTC':0, 'CTA':0, 'CTG':0} codcon={'TTA':0, 'TTG':0, 'CTT':0,'CTC':0, 'CTA':0, 'CTG':0} with open(root,mode="r") as inp: for ines in inp: lines = ines.strip() if '>' not in lines: l.append(lines) strl = ''.join(l) s=0 while s<= len(strl): for cod in codcon: if strl[s:s+3].find(cod)!= -1: codcon[cod]+=1 s+=3 for cod, count in codcon.items(): newl.append(f'{cod} {count/sum(codcon.values()):.04f}') with open('out.txt',mode='w') as output: for el in newl: print(el,file=output)