Предсказание вторичной структуры заданной тРНК и анализ НК-белкового комплекса¶
Задание 1. Предсказание вторичной структуры заданной тРНК¶
Упр.1. Предсказание вторичной структуры тРНК путем поиска инвертированных повторов Программа einverted из пакета EMBOSS позволяет найти инвертированные участки в нуклеотидных последовательностях. Найдите возможные комплементарные участки в последовательности исследуемой тРНК. Сравните с их описанием, полученным ранее с помощью find_pair. Результаты сравнения занесите в таблицу, приведенную ниже. Постарайтесь подобрать параметры для получения предсказания, наиболее близкого к реальной структуре.
Упр.2. Предсказание вторичной структуры тРНК по алгоритму Зукера с помощью ViennaRNA.
Пример запуска einverted, значения переменных среды остануться¶
%set_env PATH=/home/preps/golovin/miniconda3/bin:/home/preps/golovin/miniconda3/condabin:/usr/local/bin:/usr/bin:/home/preps/golovin/progs/x3dna-v2.4/bin
env: PATH=/home/preps/golovin/miniconda3/bin:/home/preps/golovin/miniconda3/condabin:/usr/local/bin:/usr/bin:/home/preps/golovin/progs/x3dna-v2.4/bin
! echo "GCUUUGC" > rna.seq
! einverted -sequence rna.seq -gap 12 -threshold 10 -match 3 -mismatch -3 -outfile outfile -outseq seqout
Find inverted repeats in nucleotide sequences Warning: No sequences written to output file 'seqout'
ViennaRNA¶
Добавим новое окружение в терминале
conda activate /home/preps/golovin/miniconda3/envs/na2
conda list
python3 -m ipykernel install --user --name na2 --display-name "Python NA"
перезагрузите страницу и выберете ядро сверху справа, NA
# предскажем несколько кандидатных структур
import RNA
seq = "GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC"
# create fold_compound data structure (required for all subsequently applied algorithms)
fc = RNA.fold_compound(seq)
# compute MFE and MFE structure
(mfe_struct, mfe) = fc.mfe()
# rescale Boltzmann factors for partition function computation
fc.exp_params_rescale(mfe)
# compute partition function
(pp, pf) = fc.pf()
# compute MEA structure
(MEA_struct, MEA) = fc.MEA()
# compute free energy of MEA structure
MEA_en = fc.eval_structure(MEA_struct)
# print everything like RNAfold -p --MEA
print("%s\n%s (%6.2f)" % (seq, mfe_struct, mfe))
print("%s [%6.2f]" % (pp, pf))
print("%s {%6.2f MEA=%.2f}" % (MEA_struct, MEA_en, MEA))
print(" frequency of mfe structure in ensemble %g; ensemble diversity %-6.2f" % (fc.pr_structure(mfe_struct), fc.mean_bp_distance()))
GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC
(((((((.......(((((((.((((.(((((((.((....)).)))..)))))))).)).)))))))))))).. (-31.50)
(((((((.......((((({{.((((.(((((((.((....)).)))..)))))))).}}.)))))))))))).. [-32.08]
(((((((.......(((((((.((((.(((((((.((....)).)))..)))))))).)).)))))))))))).. {-31.50 MEA=69.76}
frequency of mfe structure in ensemble 0.391844; ensemble diversity 5.58
Можно найти набор субоптимальных структур для оценки потенциального разнообразия¶
subopt_data = { 'counter' : 1, 'sequence' : seq }
def print_subopt_result(structure, energy, data):
if not structure == None:
print(">subopt %d" % data['counter'])
print("%s" % data['sequence'])
print("%s [%6.2f]" % (structure, energy))
# increase structure counter
data['counter'] = data['counter'] + 1
fc.subopt_cb(300,print_subopt_result,subopt_data)
>subopt 1 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC ((((((((((((.....)))))((.(.(((((.......))))).).))(((((.......)))))))))))).. [-29.20] >subopt 2 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((..((((.........)))).(((((.......))))).....(((((.......)))))))))))).. [-28.50] >subopt 3 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((........((((...((((.(((((((.((....)).)))..))))))))....)))).))))))).. [-28.90] >subopt 4 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((........((((((.((((.(((((((.((....)).)))..)))))))).)).)))).))))))).. [-29.10] >subopt 5 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((...((((.(((.(((.((....)).)))...)))))))....)))))))))))).. [-28.50] >subopt 6 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((...((((.((((.((.((....)).))...))))))))....)))))))))))).. [-28.50] >subopt 7 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((...((((.(((((((..........)))..))))))))....)))))))))))).. [-29.20] >subopt 8 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((...((((.(((((((.(......).)))..))))))))....)))))))))))).. [-29.60] >subopt 9 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((...((((.(((((((.((....)).)))..))))))))....)))))))))))).. [-31.30] >subopt 10 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((.(.((((.(((((((.((....)).)))..)))))))))...)))))))))))).. [-28.70] >subopt 11 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((.(.((((.(((((((.((....)).)))..)))))))).)..)))))))))))).. [-30.00] >subopt 12 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((.(.((((.(((((((.((....)).)))..))))))))..).)))))))))))).. [-28.90] >subopt 13 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((((.((((.(((((((.((....)).)))..))))))))))..)))))))))))).. [-29.30] >subopt 14 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......((((((..((((.(((((((.((....)).)))..))))))))..).)))))))))))).. [-30.10] >subopt 15 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((((.((((.(((.(((.((....)).)))...))))))).)).)))))))))))).. [-28.70] >subopt 16 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((((.((((.((((.((.((....)).))...)))))))).)).)))))))))))).. [-28.70] >subopt 17 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((((.((((.(((((((..........)))..)))))))).)).)))))))))))).. [-29.40] >subopt 18 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((((.((((.(((((((.(......).)))..)))))))).)).)))))))))))).. [-29.80] >subopt 19 GGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCCAC (((((((.......(((((((.((((.(((((((.((....)).)))..)))))))).)).)))))))))))).. [-31.50]
RNA.svg_rna_plot(seq, MEA_struct, ssfile='ggg.svg' )
from IPython.display import SVG
SVG('ggg.svg')
1
Если программа не работает используйте web вариант http://rna.tbi.univie.ac.at/cgi-bin/RNAfold.cgi
Реальная и предсказанная вторичная структура тРНК из файла XXXX.pdb¶
| Участок структуры (расшифровку названий см. http://kodomo.fbb.msu.ru/FBB/year_07/term3/tRNA.pdf на рис. 2 в статье О.О.Фаворовой) | Позиции в структуре (по результатам find_pair ) | Результаты предсказания с помощью einverted | Результаты предсказания по алгоритму Зукера |
|---|---|---|---|
| Акцепторный стебель | |||
| D-стебель | |||
| T-стебель | |||
| Антикодоновый стебель | |||
| Общее число канонических пар нуклеотидов |
Задание 2. Поиск ДНК-белковых контактов в заданной структуре¶
Упр.1.¶
Вспомнить, как с помощью команды define JMol задавать множества атомов.
- Определите множество атомов кислорода 2'-дезоксирибозы (set1).
- Определите множество атомов кислорода в остатке фосфорной кислоты (set2).
- Определите множество атомов азота в азотистых основаниях (set3).
- Создайте скрипт-файл с определениями этих множеств.
- Создайте скрипт-файл, вызов которого в JMol даст последовательное (с паузами!) изображение всей структуры, только ДНК в проволочной модели, той же модели, но с выделенными шариками множеством атомов set1, затем set2 и set3.
Упр.2.¶
- Описать ДНК-белковые контакты в заданной структуре. Сравнить количество контактов разной природы.
Будем считать полярными атомы кислорода и азота, а неполярными атомы углерода, фосфора и серы.
Назовем полярным контактом ситуацию, в которой расстояние между полярным атомом белка и полярным атомом ДНК меньше 3.5Å. Аналогично, неполярным контактом будем считать пару неполярных атомов на расстоянии меньше 4.5Å.
См. также подсказки..
Будем считать полярными атомы кислорода и азота, а неполярными атомы углерода, фосфора и серы.
- Определите число контактов и заполните следующую таблицу.
Таблица. Контакты разного типа в комплексе XXXX.pdb¶
| '''Контакты атомов белка с''' | '''Полярные''' | '''Неполярные''' | '''Всего''' |
|---|---|---|---|
| остатками 2'-дезоксирибозы | |||
| остатками фосфорной кислоты | |||
| остатками азотистых оснований со стороны большой бороздки | |||
| остатками азотистых оснований со стороны малой бороздки |
Сравните количество контактов разного типа, напишите краткое резюме в отчете.
Упр.3.¶
Получить популярную схему ДНК-белковых контактов с помощью программы nucplot [[../help3| См. подсказки.]].
Упр.4.¶
На полученной схеме выбрать
- аминокислотный остаток с наибольшим числом указанных на схеме контактов с ДНК;
- аминокислотный остаток, по-вашему мнению, наиболее важный для распознавания последовательности ДНК.
В отчете привести обоснование выбора, а также 2 картинки, полученные с помощью JMol. Картинки должны иллюстрировать контакты выбранных аминокислотных остатков с ДНК. Под картинками приведите подписи, поясняющие изображение.