По базе REBASE была найдена бактерия Synechococcus species PCC 73109. У данной бактерии только два участка R II, для которых был предсказан сайт рестрикции GGWCC.
import pandas as pd
from Bio import SeqIO
data = pd.read_csv('II.tsv', sep = '\t')
После загрузки таблицы с данными по всем рестриктазам второго типа, были отобраны такие сайты рестрикции, длина которых больше двух.
sites = set(data[data['Recognition site'].apply(len)>2]['Recognition site'])
with open('sites.txt', 'w') as file:
print(' '.join(sites), file = file)
Далее была получена оценка представленности сайтов в геноме при помощи команды:
cbcalc genome.fasta -s sites.txt -o out.tsv
Далее были отобраны только те сайты, оценка представленности которых была меньше 0.8. Всего было обнаружено 44 недопредставленных сайта, среди которых есть искомый сайт GGWCC c низким значением представленности 0.174 (22 индекс).
restr = pd.read_csv('out.tsv', sep = '\t')
restr[restr['O/E ratio (BCK)'] <= 0.8].reset_index(drop = True)
Sequence ID | Site | Observed | Expected (MM) | O/E ratio (MM) | Expected (PBM) | O/E ratio (PBM) | Expected (BCK) | O/E ratio (BCK) | Total | |
---|---|---|---|---|---|---|---|---|---|---|
0 | genome | GTGCAC | 115 | 245.04 | 0.469 | 226.51 | 0.508 | 209.00 | 0.550 | 2636335 |
1 | genome | GACGTC | 180 | 278.47 | 0.646 | 279.00 | 0.645 | 262.60 | 0.685 | 2636335 |
2 | genome | GGATCC | 420 | 665.32 | 0.631 | 579.63 | 0.725 | 565.30 | 0.743 | 2636335 |
3 | genome | TTATAA | 172 | 197.58 | 0.871 | 255.47 | 0.673 | 231.11 | 0.744 | 2636335 |
4 | genome | GRGCYC | 653 | 2383.39 | 0.274 | 1419.60 | 0.460 | 903.11 | 0.723 | 2636335 |
5 | genome | CGGWCCG | 7 | 14.58 | 0.480 | 46.99 | 0.149 | 14.80 | 0.473 | 2633514 |
6 | genome | CAGCTG | 119 | 409.83 | 0.290 | 518.75 | 0.229 | 332.58 | 0.358 | 2636335 |
7 | genome | GCGGCCGC | 24 | 27.50 | 0.873 | 28.01 | 0.857 | 32.26 | 0.744 | 2630693 |
8 | genome | GGTACC | 434 | 628.27 | 0.691 | 440.17 | 0.986 | 586.43 | 0.740 | 2636335 |
9 | genome | CYCGRG | 647 | 2316.86 | 0.279 | 1769.33 | 0.366 | 1096.08 | 0.590 | 2636335 |
10 | genome | CTGCAG | 212 | 505.93 | 0.419 | 510.86 | 0.415 | 397.82 | 0.533 | 2636335 |
11 | genome | GACNNNGTC | 264 | 345.67 | 0.764 | 406.45 | 0.650 | 345.44 | 0.764 | 2627872 |
12 | genome | CCGCGG | 85 | 420.56 | 0.202 | 546.03 | 0.156 | 364.52 | 0.233 | 2636335 |
13 | genome | GGCCNNNNNGGCC | 31 | 57.63 | 0.538 | 51.47 | 0.602 | 40.94 | 0.757 | 2616588 |
14 | genome | CGTACG | 45 | 126.29 | 0.356 | 104.56 | 0.430 | 68.70 | 0.655 | 2636335 |
15 | genome | GCTNAGC | 208 | 380.35 | 0.547 | 339.66 | 0.612 | 273.08 | 0.762 | 2633514 |
16 | genome | ACTAGT | 38 | 87.56 | 0.434 | 137.43 | 0.277 | 91.49 | 0.415 | 2636335 |
17 | genome | GCGCGC | 224 | 355.68 | 0.630 | 309.88 | 0.723 | 285.34 | 0.785 | 2636335 |
18 | genome | CTCGAG | 45 | 487.37 | 0.092 | 265.11 | 0.170 | 141.20 | 0.319 | 2636335 |
19 | genome | AGGCCT | 320 | 545.47 | 0.587 | 487.30 | 0.657 | 402.15 | 0.796 | 2636335 |
20 | genome | ACGCGT | 58 | 122.87 | 0.472 | 156.16 | 0.371 | 113.46 | 0.511 | 2636335 |
21 | genome | AGTACT | 111 | 226.30 | 0.491 | 227.82 | 0.487 | 168.32 | 0.659 | 2636335 |
22 | genome | GGWCC | 337 | 3376.64 | 0.100 | 2941.31 | 0.115 | 1935.56 | 0.174 | 2639156 |
23 | genome | ACATGT | 61 | 114.42 | 0.533 | 148.41 | 0.411 | 104.20 | 0.585 | 2636335 |
24 | genome | CGATCG | 4999 | 3217.47 | 1.554 | 3325.08 | 1.503 | 6795.94 | 0.736 | 2636335 |
25 | genome | RCATGY | 319 | 595.76 | 0.535 | 784.37 | 0.407 | 537.29 | 0.594 | 2636335 |
26 | genome | TACGTA | 41 | 70.68 | 0.580 | 87.99 | 0.466 | 70.70 | 0.580 | 2636335 |
27 | genome | GCCGGC | 278 | 511.16 | 0.544 | 680.88 | 0.408 | 585.51 | 0.475 | 2636335 |
28 | genome | GTATAC | 40 | 72.74 | 0.550 | 103.62 | 0.386 | 63.25 | 0.632 | 2636335 |
29 | genome | ACRYGT | 242 | 363.12 | 0.666 | 519.90 | 0.465 | 355.12 | 0.681 | 2636335 |
30 | genome | GGGCCC | 135 | 913.49 | 0.148 | 379.36 | 0.356 | 294.87 | 0.458 | 2636335 |
31 | genome | RCCGGY | 1152 | 1913.77 | 0.602 | 2436.84 | 0.473 | 1767.52 | 0.652 | 2636335 |
32 | genome | ATGCAT | 132 | 200.89 | 0.657 | 241.30 | 0.547 | 165.87 | 0.796 | 2636335 |
33 | genome | CACNNNGTG | 147 | 263.53 | 0.558 | 269.27 | 0.546 | 213.58 | 0.688 | 2627872 |
34 | genome | CGGCCG | 204 | 659.89 | 0.309 | 545.14 | 0.374 | 348.06 | 0.586 | 2636335 |
35 | genome | GRCGYC | 1444 | 2336.87 | 0.618 | 2105.89 | 0.686 | 1818.36 | 0.794 | 2636335 |
36 | genome | GGCGCC | 195 | 776.35 | 0.251 | 703.17 | 0.277 | 497.31 | 0.392 | 2636335 |
37 | genome | RGGNCCY | 746 | 997.04 | 0.748 | 1359.28 | 0.549 | 991.47 | 0.752 | 2633514 |
38 | genome | CACGTG | 93 | 87.08 | 1.068 | 166.35 | 0.559 | 159.91 | 0.582 | 2636335 |
39 | genome | TTCGAA | 82 | 522.50 | 0.157 | 413.24 | 0.198 | 284.64 | 0.288 | 2636335 |
40 | genome | ACCGGT | 253 | 446.54 | 0.567 | 527.88 | 0.479 | 437.62 | 0.578 | 2636335 |
41 | genome | TCCGGA | 528 | 915.33 | 0.577 | 611.12 | 0.864 | 672.91 | 0.785 | 2636335 |
42 | genome | GCATGC | 95 | 187.75 | 0.506 | 220.89 | 0.430 | 178.19 | 0.533 | 2636335 |
43 | genome | GTCGAC | 38 | 347.87 | 0.109 | 322.28 | 0.118 | 184.56 | 0.206 | 2636335 |
После этого был произведен поиск в геноме гомологов рестриктаз, которые работают по недопредставленным сайтам, при помощи blast. Сначала были получены индефикаторы всех рестриктаз, по которым далее были получены последовательности (n=14674) с нужными именами из файла с последовательностями всех рестриктаз.
merged = pd.merge(data, restr, how = 'right', left_on = 'Recognition site', right_on = 'Site')
all_restr = SeqIO.parse('all_restr.fasta', 'fasta')
records = []
for record in all_restr:
if record.id in list(merged.iloc[:, 0]):
records.append(SeqIO.SeqRecord(seq = record.seq, id = record.id, description = ''))
SeqIO.write(records, 'records.fasta', 'fasta')
14674
Была создана база данных на основе генома бактерии, по которой при помощи алгоритма tblast был произведен поиск гомологов последовательностей отобранных рестриктаз. Выдача. Всего в выдаче около 300 000 строк. Для большинства рестриктаз не нашлось гомологов в геноме, однако для некоторых, всё-таки, нашлись, к примеру для MspMK1ORFGP.
makeblastdb -in genome.fasta -dbtype nucl
tblastn -query records.fasta -db genome.fasta -evalue 0.0001 -out blast.txt
Идентификатор белка: P05813
После 3й итерации результат сошёлся и на 4й и 5й итерациях не изменился. Это свидетельствует о высоком родстве белка к кристалинам.
Номер итерации | Число находок выше порога (0.005) | Идентификатор худшей находки выше порога | E-value этой находки | Идентификатор лучшей находки ниже порога | E-value этой находки |
---|---|---|---|---|---|
1 | 102 | P46058.1 | 3E-12 | - | - |
2 | 104 | P02966.1 | 3E-04 | - | - |
3 | 105 | P19865.1 | 5E-08 | - | - |
4 | 105 | P19865.1 | 4E-08 | - | - |
5 | 105 | P19865.1 | 4E-08 | - | - |