Kodomo

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

Практикум 13

Задание 1

У Escherichia coli str. K-12 substr. MG1655 встречаются такие старт-кодоны: ATG, ATT, CTG, GTG, TTC, TTG

У Candidatus Gracilibacteria bacterium 28_42_T64 встречаются такие старт-кодоны: ACA, ATG, GTG, TCA, TCT, TTG

У Mycoplasma pneumoniae M29 встречаются такие старт-кодоны: AAA, ACA, ACT, ATA, ATC, ATG, ATT, CAA, CAC, CTA, CTC, CTG, GAA, GTG, GTT, TCC, TCT, TGA, TTA, TTC, TTG

   1 gil = input()
   2 d = {}
   3 i = 0
   4 with open("out.txt", mode = "w") as oo:
   5   with open (gil, mode = "r") as fasta:
   6     for l in fasta:
   7       if l.startswith(">"):
   8         _ = l
   9         i = 0
  10       else:
  11         if i != 1:
  12           l = l.strip()
  13           chaa = d.setdefault(l[0:3], 0)
  14           chaa = chaa + 1
  15           d[l[0:3]] = chaa
  16           i = i + 1
  17   s_d = dict(sorted(d.items()))
  18   for i in s_d:
  19     print(i, s_d[i], file = oo)

Задание 2

Похоже, что эти кодоны кодируют какую-то аминокислоту вместо стоп-кодона, так как там встречается описание: "transl_except:...". Эти аминокислоты входят в состав белков "formate dehydrogenase". E.coli использует формиат в качестве основного донора электронов во время анаэробного дыхания, когда нитрат используется в качестве акцептора электронов. Селеноцистеин. А у одной из последовательностей есть характеристика "pseudo=true", то есть он является псевдо-геном.

Похоже, что этой аминокислотой является селеноцистеин, который кодируется стоп-кодоном TGA, но транслируется в аминокислоту из-за особых последовательностей (Donovan, J., & Copeland, P. R. (2010).)

   1 gil = input()
   2 ireum = ""
   3 seq = ""
   4 i = 0
   5 siheom = 0
   6 with open("out.txt", mode = "w") as oo:
   7   with open(gil) as fasta:
   8     l = fasta.readline()
   9     l = l[1:len(l)]
  10     l = l.strip()
  11     ireum = l
  12     for l in fasta:
  13       if l.startswith(">"):
  14         while i < len(seq):
  15           if seq[i:i+3] == "TGA" or seq[i:i+3] == "TAA" or seq[i: i+3] == "TAG":
  16             siheom = siheom + 1
  17           i = i + 3
  18         if siheom > 1:
  19           print(ireum, file = oo)
  20           siheom = 0
  21         l = l[1:len(l)]
  22         l = l.strip()
  23         ireum = l
  24         siheom = 0
  25       else:
  26         l = l.strip()
  27         seq = seq + l
  28     while i < len(seq):
  29       if seq[i:i+3] == "TGA" or seq[i:i+3] == "TAA" or seq[i: i+3] == "TAG":
  30         siheom = siheom + 1
  31       i = i + 3
  32     if siheom > 1:
  33       print(ireum, file = oo)

Задание 3

Для первой бактерии

TGA: 1246

TAA: 2761

TAG: 306

Для второй бактерии

TGA: 1

TAA: 1000

TAG: 188

Для третьей бактерии

TGA: 0

TAA: 526

TAG: 220

У второй бактерии - TGA является не стоп-кодоном, а кодирующим кодоном, так как у этой бактерии альтернативный генетический код (https://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/index.cgi?chapter=cgencodes#SG25)

У третьей бактерии тоже альтернативный генетический код (https://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/index.cgi?chapter=cgencodes#SG4)

   1 gil = input()
   2 seq = ""
   3 tga = 0
   4 taa = 0
   5 tag = 0
   6 with open("out.txt", mode = "w") as oo:
   7   with open(gil) as fasta:
   8     for l in fasta:
   9       if l.startswith(">"):
  10         if seq[len(seq)-3:len(seq)] == "TGA":
  11           tga = tga + 1
  12         elif seq[len(seq)-3:len(seq)] == "TAA":
  13           taa = taa + 1
  14         elif seq[len(seq)-3:len(seq)] == "TAG":
  15           tag = tag + 1
  16         _ = l
  17       else:
  18         l = l.strip()
  19         seq = seq + l
  20     if seq[len(seq)-3:len(seq)] == "TGA":
  21       tga = tga + 1
  22     elif seq[len(seq)-3:len(seq)] == "TAA":
  23       taa = taa + 1
  24     elif seq[len(seq)-3:len(seq)] == "TAG":
  25       tag = tag + 1
  26     print("TGA ", tga, file = oo)
  27     print("TAA ", taa, file = oo)
  28     print("TAG ", tag, file = oo)

Задание 4

Для первой бактерии

TTA 18505

TTG 18301

CTT 14728

CTC 14952

CTA 5203

CTG 71305

Для второй бактерии

TTA 15107

TTG 8051

CTT 8034

CTC 4491

CTA 4878

CTG 4148

Для третьей бактерии

TTA 9204(+1)

TTG 6554

CTT 4613

CTC 2193

CTA 3484

CTG 3055

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

   1 gil = input()
   2 d = {}
   3 seq = ""
   4 i = 0
   5 with open("out.txt", mode = "w") as oo:
   6   with open (gil, mode = "r") as fasta:
   7     for l in fasta:
   8       if l.startswith(">"):
   9         _ = l
  10         seq = seq[0:len(seq)-3]
  11       else:
  12         l = l.strip()
  13         seq = seq + l
  14   while i < len(seq)-3:
  15     chaa = d.setdefault(seq[i:i+3], 0)
  16     chaa = chaa + 1
  17     d[seq[i:i+3]] = chaa
  18     i = i + 3
  19   i = 0
  20   seq = "AAAAACAAGAATACAACCACGACTAGAAGCAGGAGTATAATCATGATTCAACACCAGCATCCACCCCCGCCTCGACGCCGGCGTCTACTCCTGCTTGAAGACGAGGATGCAGCCGCGGCTGGAGGCGGGGGTGTAGTCGTGGTTTAATACTAGTATTCATCCTCGTCTTGATGCTGGTGTTTATTCTTGTTT"
  21   while i < len(seq)-2:
  22     d.setdefault(seq[i:i+3], 0)
  23     i = i + 1
  24   s_d = dict(sorted(d.items()))
  25   for i in s_d:
  26     print(i, s_d[i], file = oo)

Задание 5

Ссылка на график. Собственно график находится на втором листе, на первом листе - необходимые данные для постройки графика

https://docs.google.com/spreadsheets/d/1uO49xDTQHQcHtvONnhbIWiI0j9s7cLm2y7hVhDyRv7g/edit?usp=sharing

координаты минимума: 3870000. Это ориджин

координаты максимума: 1513000. Это место конца репликации

   1 gil = input()
   2 chang = int(input())
   3 dan = int(input())
   4 d = 0
   5 seq = ""
   6 cgcs = 0
   7 n = 3
   8 template = '{:.' + str(n) + 'f}'
   9 with open("out.txt", mode = "w") as oo:
  10   with open(gil) as fasta:
  11     _ = fasta.readline()
  12     for l in fasta:
  13       l = l.strip()
  14       seq = seq + l
  15     while d <= len(seq)-chang:
  16       ida = seq[d:d+chang]
  17       if (ida.count("G")+ida.count("C")) == 0:
  18         gcs = 0
  19       else:
  20         gcs = (ida.count("G")-ida.count("C"))/(ida.count("G")+ida.count("C"))
  21       cgcs = cgcs + gcs
  22       print(d, template.format(gcs), template.format(cgcs), sep="\t", file = oo)
  23       gcs = 0
  24       d = d + dan

Задание 6

Последовательность Шайна-Дальгарно для E.Coli: AGGAGG, полученные шестимеры похожи на него

Часто встречающиеся 6-меры:

'AAGGAG', 184

'TAAGGA', 157

'AAAGGA', 133

'AGGAGA', 133

'ATTCAT', 125

'CAGGAG', 119

'AGGAGT', 109

   1 gil1 = input()
   2 gil2 = input()
   3 seq = ''
   4 with open("yeo.txt", mode = "w") as yeo: 
   5   with open(gil1) as genbank:
   6     with open(gil2) as genome:
   7       _ = genome.readline()
   8       for i in genome:
   9         i = i.strip()
  10         seq = seq + i
  11       for l in genbank:
  12         l = l.strip()
  13         kh = l.split()
  14         if len(kh)>2:
  15           if "gene" == kh[2]:
  16             gh = int(kh[0])
  17             print(seq[gh-20:gh], file = yeo)

   1 d = {}
   2 chaa = 0
   3 with open("yeo.txt") as yeo:
   4   for l in yeo:
   5     l = l.strip()
   6     i = 0
   7     while i<16:
   8       chaa = d.setdefault(l[i:i+6], 0)
   9       chaa = chaa + 1
  10       d[l[i:i+6]] = chaa
  11       i = i + 1
  12   for h in d.items():
  13     if h[1] > 30:
  14       print(h)

Users/bugaldaj/pr12 (последним исправлял пользователь bugaldaj 2022-12-23 08:31:30)