Мне нужно выполнить задание для университетского задания, и мне нужно понять некоторые вещи, прежде чем понять, как это сделать.
Задача следующая:
Найдите совпадения известных белков (ДНК-PolyI,II,III) с определенной последовательностью ДНК E.Coli.
Я скачал в формате FASTA белковую последовательность DNA-Poly3 DNA-Poly1 E.coli (штамм К-12) и всю последовательность ДНК E.Coli.
Я немного изучил онлайн и, используя гем BioRuby и язык программирования Ruby, написал программу, которая переводит ДНК в последовательность белка. Затем я попытался сопоставить известную последовательность ДНК-Poly3, но она не совпала. Снова немного поискав в сети, я узнал об ORF и 6 возможных способах чтения каждого кадра. Выбирается более длинная, с точки зрения кодонов, конформация ORF, но нет возможности с уверенностью сказать, что белок был создан с использованием этой рамки.
Затем я читал о коробках ТАТА, но я не могу их использовать, так как они есть только у эукариот и архей.
Итак, как мне действовать, чтобы решить эту проблему: как я могу доказать , что ДНК-Poly3 производится определенной областью (геном) в последовательности ДНК?
Спасибо за ваше время,
пс. Идеи и подсказки очень приветствуются, так как для меня это только вершина айсберга, и я очень хочу изучать биоинформатику :-)
РЕДАКТИРОВАТЬ : это обновление для информации, запрошенной в соответствующем ответе.
Файлы, которые я использовал, следующие:
➜ Bioinfo ruby dogma.rb
----------------
DNA Length: 4639675
gi|48994873|gb|U00096.2| Escherichia coli str. K-12 substr. MG1655, complete genome
----------------
DNA Poly-1 sample: 928
gi|16131704|ref|NP_418300.1| fused DNA polymerase I 5'->3' polymerase/3'->5' exonuclease/5'->3' exonuclease [Escherichia coli str. K-12 substr. MG1655]
Вы можете скачать их здесь: E.Coli DNA и E.Coli DNA-Poly1 .
ПРИМЕЧАНИЕ . Белок моего образца представляет собой ДНК-полимеразу I (а не 3).
ВАЖНАЯ РЕДАКТИРОВКА: В вашем конкретном случае, если вы работаете с бактериальными генами, сплайсинг не является проблемой, поскольку у бактерий нет интронов. Я оставляю информацию здесь, так как она может быть полезна кому-то еще. Тем не менее, я рекомендую вам сосредоточиться на UTR, поскольку они, вероятно, вызывают у вас проблемы.
Есть три вещи, которые могут вызвать у вас проблемы. Кратко коснусь каждого. Я буду говорить обо всех генах, имейте в виду, что у бактерий нет интронов, поэтому любое обсуждение сплайсинга и/или интронов и экзонов не имеет прямого отношения к вашей проблеме.
Нетранслируемые области (UTR) — это последовательности в начале и в конце гена, которые не транслируются в белок. UTR - это области, которые являются частью исходной геномной последовательности, они также являются частью зрелой мРНК (действительно, UTR иногда модифицируются в результате сплайсинга, это экзоны, а не интроны) , но они не транслируются в белок. Для иллюстрации взгляните на это упрощенное представление молекулы мРНК:
Только зеленые экзоны превратятся в конечный белок. Интроны сплайсируются, а UTR не транслируются.
Поэтому, если вы транслируете весь ген, вы не получите правильный белок.
Гены читаются словами из трех букв (кодоны). Последовательность ATGTGTACCTGA имеет шесть возможных рамок считывания (по три на каждой цепи), которые можно прочитать и перевести следующим образом:
5 футов 3 фута Кадр 1
ATG TGT ACC TGA
M C T Stop
5 футов 3 фута Рама 2
a TGT GTA CCT ga
C V P
5 футов 3 фута Рама 3
at GTG TAC CTG a
V Y L
3'5' Кадр 1
TCA GGT ACA CAT
S G T H
3'5' Кадр 2
t CAG GTA CAC at
Q V H
3'5' Кадр 3
tc AGG TAC ACA t
R Y T
ДНК двухцепочечная. Последовательность одной нити комплементарна последовательности другой, поэтому, если у вас есть одна нить, вы можете сделать вывод о последовательности комплементарной ей. Гены могут быть найдены на любой цепи, они биологически эквивалентны. Однако проекты секвенирования выбирают одну из двух цепочек (случайным образом) и называют ее плюсовой (+) цепочкой, а затем сохраняют все последовательности, относящиеся к этой нити. Это означает, что иногда геномная последовательность, которую вы загружаете из базы данных, может дополнять искомую фактическую последовательность.
Однажды я услышал, как кто-то сказал на конференции, что
Биологи скорее поделятся зубной щеткой, чем именем гена.
Хотя это может быть немного преувеличено, соглашения об именах различаются между исследовательскими сообществами, видами и базами данных. Итак, вы уверены , что загрузили правильный ген? Откуда вы это взяли? Как вы это определили? Содержит ли последовательность также выше/ниже регуляторные области, промоторы, энхансеры и т.п.? Если вы опубликуете точную последовательность, которую вы пытаетесь использовать, я могу дать вам более конкретную помощь.
Например, первые 20 совпадений при поиске E. coli DNA Polymerase 3
в базе данных нуклеотидов ncbi представляют собой последовательности дробовика всего генома. Они не соответствуют последовательности генов, которую вы ищете. Это огромные фрагменты генома (или даже всего генома), которые будут содержать ваш ген и многие другие. Посмотрите в разделе «Инструменты» ниже предложения по извлечению вашего гена из всего генома.
Другой возможной проблемой является сплайсинг . Давайте начнем с основ, процесс производства эукариотического (у бактерий нет интронов) белка из геномной последовательности показан на изображении ниже (слегка изменено отсюда ):
Транскрипция начинается с сайта начала транскрипции (TSS), но не вся транскрибируемая последовательность транслируется в белок. Во-первых, интроны вырезаются из мРНК с образованием зрелой мРНК (другие вещи, такие как кэпирование и добавление поли-А, также имеют место, но здесь не имеют значения). Итак, зрелая мРНК содержит экзоны кодирующего гена. Это означает, что линейная трансляция последовательности гена не будет соответствовать полученному белку. Вам нужно будет принять во внимание сплайсинг.
Также имейте в виду, что сплайсинг изменит рамку считывания .
Теперь, если последовательность ATGT
была сплайсирована, например, AT/gt
(большинство событий сплайсинга вырезаются/соединяются в сайтах GT/AG) и соединяется с последовательностью agATTATT
, результирующая (сплайсированная) последовательность будет (процесс сплайсинга удалит gt
из первой последовательности и ag
второй):
ATATTATT
Как видите, рамка считывания теперь изменилась. Там, где раньше в первой рамке считывания у нас был кодон ATG
, кодон инициации канонической трансляции, теперь у нас есть ATA
коды изолейцина (I). Надеюсь, это понятно, главное, что сплайсинг может изменить рамку считывания.
Хорошо, это был фон. Теперь вам нужно использовать существующие программы, которые моделируют сайты сплайсинга и могут правильно выровнять последовательность белка с геномной ДНК. Мои личные фавориты - реабилитационные и генетические . В дистрибутиве Linux на основе Debian вы можете установить их с помощью этой команды:
sudo apt-get install exonerate wise
Затем, чтобы выровнять белок с его геном, выполните:
exonerate -m protein2genome -n 1 prot.fa dna.fa > out.txt
или же
genewise -pep -pretty -gff -cdna prot.fa dna.fa > out.txt
По моему опыту, exonerate (намного) быстрее, но Genewise немного точнее. Я обычно использую exonerate, если имею дело с целым геномом, и генетически, если у меня есть только несколько килобаз последовательности. Оба очень хороши, и оба смогут привести белок в соответствие с его исходным геномом.
Я не буду объяснять все эти варианты, потому что это выходит за рамки этого сайта. Взгляните на их документацию (которая довольно хороша и понятна), и если у вас все еще есть проблемы, вы можете задать вопрос на нашем дочернем сайте, Bioinformatics Stackexchange.
Кроме того, вы можете связать свое веб-приложение со службой BLAT браузера генома ucsc. Щелкните здесь, чтобы просмотреть результаты выравнивания белка RPB1 субъединицы РНК-полимеразы II, управляемой ДНК человека .
-trev
флаг.+
цепочкой, а затем экстраполируют последовательность -
нити. Если у вас есть вопрос по этому поводу, пожалуйста, задайте новый вопрос , чтобы вы могли четко объяснить его и получить полный ответ.Что бы это ни стоило - я воспроизвел то, что вы пытаетесь сделать, используя скрипт Python. Это не элегантно, но я просто хотел проверить для вас, что это возможно, и что совпадение действительно есть.
псевдокод
взять последовательность генома
составить обратную комплементарную последовательность
для каждой из двух последовательностей ДНК, для каждой из трех рамок считывания:
перевести ДНК в единую цепочку аминокислот со знаком «*» на стоп-кодоне
разбить строку по символам "*", назвать эти слова
найти первый остаток Met в каждом слове, строка от этого Met до конца слова является ORF
если ORF> 99 (произвольное отсечение), поместите его в большой список ORF.
теперь есть список всех ORF во всех 6 рамках считывания
найдите в этом списке совпадение с последовательностью polI (на самом деле я только что искал первую строку в последовательности fasta).
Попадание идентично всей последовательности polI в выравнивании CLUSTAL.
Обратите внимание, что этот алгоритм не обнаруживает ORF, которые пересекают точку разрыва в линейной последовательности, представляющей кольцевой геном кишечной палочки . Также предполагается, что все инициирующие кодоны - ATG/Met, но я, кажется, припоминаю, что некоторые инициирующие кодоны E.coli - GTG/Val.
Вместо того, чтобы делать все это с нуля, если бы у вас был собственный экземпляр BLAST, вы бы создали взрывоопасную базу данных вашей последовательности e.coli и сделали tblastn с вашей предполагаемой последовательностью белка полимеразы в качестве запроса.
Это позволит найти наилучшую совпадающую последовательность в геноме и будет работать, даже если существует значительное количество различий между белком, который вы ему дали, и тем, во что на самом деле транслируется ваша последовательность ДНК.
тердон
atmosx
тердон
atmosx
atmosx
Бобтеджо
atmosx
тердон
atmosx
exonerate -Q protein -T dna -E -m protein2genome:bestfit dna-polyI.e-coli.fasta e-coli-K12.fasta
и жду когда закончит. Мое оборудование — MacBook Air i5 1,7 ГГц с SSD.тердон
exonerate -m p2g dna-polyI.e-coli.fasta e-coli-K12.fasta
на моем ноутбуке это заняло около 2 секунд, и первый результат — это то, что вы хотите.