Kodomo

Пользователь

Практимум 13


Задание 1: частоты старт-кодонов


Код к заданию

dee = {}
filename = input()
searchfor = input()
with open(filename, 'r') as fasta:
  lst = fasta.readlines()
  for line in lst:
    line = line.strip()
    if line.startswith('>'):
      name = line
      dee[name] = ''
    else: dee[name] += line
for key in dee.keys():
  if dee[key].startswith(searchfor):
    print(key)

Что необходимо для инициации трансляции и транскрипции

Для инициации транскрипции у прокариот промотр должен обладать следующими свойствами:

- наличие Прибнов-бокса(-10) и -35-последовательности

- точка начала транскhипции - пурин

- различные upstream-элементы, способные дополнительными взаимодействиями "усилять" промотор

На инициацию прокариотической трансляции влияют

- последовательность Шайна-Дальгарно (SD)

- старт-кодон

- расстояние между SD и start

- вовлечённость SD и start во вторичные структуры


E. coli

ATG

3890

основной старт-кодон

ATT

4

A - тоже пурин

CTG

2

C - не пурин, но отличие от ATG всё равно всего на 1 нуклеотид

GTG

338

G - тоже пурин

TTC

1

белок профага

TTG

80

T - не пурин, но отличие от ATG всё равно всего на 1 нуклеотид

G. bacterium

ACA

1

Пвсевдоген

ATG

1129

основной старт-кодон

GTG

41

Самый популярный из альтернативных, также начинается с пурина

TCA

1

Серин - треониновая киназа (псевдоген)

TCT

1

С-субъединица ATФ-синтазы (псевдоген)

TTG

23

Начинается не с пурина, но отличие всего на 1 нуклеотид

M. pneumoniae

AAA

1

Рестриктаза, начало тоже с пурина

ACA

1

Адгезин P1 (псевдоген)

ACT

1

ATA

3

CAA

1

CAC

1

CTC

3

TCC

2

TCT

1

TGA

1

ATC

1

гипотетический белок

ATG

627

основной старт-кодон

ATT

7

гипотетические белки

CTA

1

белок cytahedrence (псевдоген)

GTT

1

CTG

2

Tранспортный белок

GAA

1

Начинается с пурина

GTG

60

Второй по распространённости, начинается с пурина

TTA

1

Рестриктаза

TTC

1

Псевдоген белка с DUF-16-доменом

TTG

49

Начало не с пурина, но отличие от ATG только на один нуклеотид

Из табличных данных мы видим, что значительную часть разнообразия "альтернативных" старт-кодонов составляют триплеты, уже не выполняющие таковую функцию - это накопившие мутации старт-кодоны псевдогенов.

У всех трёх бактерий триплеты GTG и TTG являются двумя наиболее частыми альтернативными старт-кодонами. Исходя из рассуждений, приведённых выше, вероятно, что в инициации транскрипции соответствующих им генов принимают участие дополнительные upstream-элементы ("сильный контекст"), аналогичное объяснение возможно и для инициации трансляции.

Кроме того, очень минорные старт-кодоны вновь встретились у последовательностей, кодирующих эндонуклеазы рестрикции, что, возможно, обусловлено особенностями их регуляции.


Задание 2. Стоп-кодоны посреди последовательности


Код к заданию

def stopfinder():
    for i in range(0, len(seq) - 3, 3):
        if seq[i:i + 3] in stopl:
            print(name)
            print([i:i + 3])
            flag = False
            break

stopl = ['TAA', 'TAG', 'TGA']
seq = ''

flname = input()
with open(flname, 'r') as fasta:
    with open('out.txt', 'w') as out:
        for line in fasta:
            line = line.strip()
            if line.startswith('>'):
                stopfinder()
                name = ' '.join(line[1:].split(' '))
                seq = ''
            else:
                seq += line
        else:
            stopfinder()

Среди CDS E. Coli нашлось 4, имеющих стоп-кодон не в конце. Фрагмент регуляторного белка IS911A имеет стоп-кодон в середине, поскольку является псевдогеном. 3 оставшихся белка - это альфа-субъединица формиат-дегидрогеназы N, альфа-субъединица формиат-дегидрогеназы O и формиат-дегидрогеназа H. В описании их последовательностей указано, что их трансляция идёт на протяжении всей мРНК, исключая находящийся посреди последовательности стоп-кодон TGA, одинаковый для всех трёх белков. Возможно выдвинуть предположение о том, что этот триплет не узнаётся благодаря особой вторичной структуре мРНК вокруг него. И в самом деле (Watson, J. D., Baker, T. A., Gann, A., Bell, S. P., Levine, M., & Losick, R. M. (2004). Molecular biology of the gene), эта вторичная структура существует и является селеноцистеиновой шпилькой - при её образовании происходит не терминация трансляции, а приходит специальная мРНК с антикодоном, комплементарным стоп-кодону, несущая селеноцистеин, который в этом "раунде" трансляции включается в пептид (после чего всё продолжается в "штатном") режиме.


Задание 3. Пропавшие стоп-кодоны


Код к заданию:

def biad():
    if seq in codbi:
        codbi[seq] += 1
    else:
        codbi[seq] = 1
flname = input()
codbi = {}
with open(flname, 'r') as fasta:
    fasta.readline()
    seq = ''
    for line in fasta:
        line = line.strip()
        if line.startswith('>'):
            biad()
            seq = ''
        else:
            seq = (seq+line)[-3::]
    else:
        biad()
for i in codbi.keys():
    print(i, codbi[i])

Стоп-кодоны E. Coli

ATA

1

GAA

1

TAA

2761

TAG

306

TGA

1246

G. bacterium

AAA

1

ACA

1

CTT

1

GAA

1

TAA

1000

TAG

188

TCT

2

TGA

1

TTA

1

Мы видим, что в качестве стоп-кодона TGA встретился только один раз! Поэтому возможно выдвинуть предположение, что, на самом деле, у G. Bacterium он кодирует какую-либо аминокислоту. Эта догадка подтверждается исследованием, в котором было показано, что у данного вида TGA кодирует глицин.

M. pneumoniae

AAA

1

AAT

1

ACT

1

ATA

1

CCC

1

CGG

1

CTA

1

GAT

1

GGC

1

GGG

5

GGT

3

TAA

526

TAC

1

TAG

220

TAT

1

TTA

1

В случае M. pneumoniae TGA не встречается в качестве стоп-кодона ни разу. Рассуждение, аналогичное предыдущему, вновь оказывается верным: TGA у этой бактерии кодирует триптофан, прямо как в митохондриях.


Задание 4. Кодоны лейцина


Код к заданию:

atgc = list('ACGT')
list_of_lists = [atgc]
for l in range(1, 3):
    list_of_lists.append(str(l))
for i in range(1, 3):
    list_of_lists[i] = []
    for mer in list_of_lists[i-1]:
        for elem in atgc:
            list_of_lists[i].append(mer+elem)
list_of_lists[2].sort()

trilst = {}
for liter in list_of_lists[2]: #Can we do it faster using numpy?
    trilst[liter] = 0

seq = ''
flname = input()
with open(flname, 'r') as fasta:
    for line in fasta:
        line = line.strip()
        if line.startswith('>'):
            continue
        else: seq += line
    for i in range(0, len(seq), 3):
        trilst[seq[i:i+3]] += 1
    trilst['TAA'] = trilst['TAG'] = trilst['TGA'] = 0
for key in trilst.keys():
        if key == 'TTA' or key == 'TTG' or key == 'CTT' or key == 'CTA' or key == 'CTG' or key == 'CTC':
            print(key, trilst[key])

Codon

E. Coli

G. Bacterium

M. pneumoniae

CTA

0.0364

0.1088

0.1201

CTC

0.1046

0.1005

0.0752

CTG

0.4987

0.0928

0.1047

CTT

0.1030

0.1802

0.1585

TTA

0.1294

0.3375

0.3169

TTG

0.1280

0.1801

0.2246

В приведённой таблице описаны относительные частоты лейциновых кодонов (число кодонов с заданной последовательностью/число всех кодонов). Различия между частотами кодонов одной бактерии, вероятно, наиболее сильно связаны с регуляцией экспрессии генов. Например, на предпочтительность того или иного кодона может влиять формирование вторичной и третичной структур РНК и роль этих структур в процессе трансляции, относительное количество тРНК для одной аминокислоты с разными антикодонами, способность тРНК к вобблингу. Однако вклад в эти частоты могут вносить и биохимические возможности организма по синтезу/поглощению пуринов и пиримидинов, температура окружающей среды и проч.

Различия между частотами кодонов между разными бактериями можно объяснить разным GC-составом геномов этих бактерий (видно из таблицы).


Задание 5


Код - в Colab

GC-skew достигает максимума в 47,69 в районе 1500300 позиции на хромосоме, минимума в -28,75 около координаты 3870000. Эти точки - ter (точка терминации репликации) и её ori (ориджин) соответственно.


Задание 6


Код - в Colab

Прогон алгоритма на плазмидах и хромосоме Rhodococcus fascians показал, что в 20 нуклеотидах от start-кодона наиболее частыми шестимерами являются те, что состоят из A и G, взятых примерно в равных пропорциях (приведём 5 наиболее популярных для хромосомы):

Шестимер

Сколько раз встретился

GAGGAG

386

CGAGGA

332

AGGAGC

304

AGAGGA

304

GAGGAC

298

Ввиду того, что данная последовательность располагается недалеко от старт-кодона, она может являться частью сайта посадки рибосомы на мРНК (RBS, ribosome-binding site). Как мы знаем (Watson, J. D., Baker, T. A., Gann, A., Bell, S. P., Levine, M., & Losick, R. M. (2004). Molecular biology of the gene), важной частью RBS является последовательность Шайна-Дальгарно(SD), консенсус которой очень похож на наш результат.

Поскольку анти-SD-последовательность располагается на 16S-рРНК, было интересно найти встречаемость шестимеров в её последовательностях (вновь топ-5):

Шестимер

Сколько раз встретился

GACTGT

4

ACTGTT

4

CTGTTG

4

CAGGTC

3

AGGTCT

3

(цифры небольшие, т. к. у родококка всего 10 генов 16S-рРНК, не очень большая выборка:)) Мы видим, что почти для всех нуклеоидов 16S-рРНКовых шестимеров, при расположении шестимера в направлении 3'-5', возможно образование канонических/неканонических пар с шестимерами наших мРНК.

Users/a.k.rybakov/pr13 (последним исправлял пользователь a.k.rybakov 2022-12-20 20:32:18)