Дизайн произвольных вырожденных праймеров (с необязательными критериями)

Я хотел бы разработать ряд произвольных вырожденных праймеров (праймеров с вариабельными основаниями, например NGATWGCTSATNGC) для TAIL-PCR .

Я хотел бы иметь возможность указать следующие параметры для функции проектирования:

  • Температура отжига (идеально 44°C)
  • Вырожденность (сколько вариантов праймера AD существует (в идеале 128 или 256)
  • Частота связывания с геномом (мыши) (в идеале 1/3000) - хотя это может зависеть от вырождения и наоборот.
  • Несвязывающая область (конечно, я бы не хотел, чтобы какой-либо вариант праймера связывался с областью известной последовательности между моими конкретными праймерами и неизвестной областью, которую я хочу секвенировать)

Любые идеи о каких-либо инструментах, которые могут помочь мне с вышеуказанными шагами? Для дизайна праймеров я до сих пор использовал eprimer3 (с неизменно удовлетворительными результатами), но, похоже, он не поддерживает концепцию произвольных вырожденных праймеров.

В идеале, если бы у меня была функция, которая могла бы разобраться с первым из вышеперечисленных критериев, я мог бы использовать Biopython и BLAST для написания остальных скриптов самостоятельно. Хотя частота привязки займет часы, если не день или два, чтобы BLAST ее определил. Было бы очень полезно, если бы кто-нибудь уже написал что-то более сложное для этого.

Вы знаете последовательность, которую вы хотите? Я имею в виду, дегенеративные места помечены как Nостальные присутствующие. Я не знаю программы, которая это делает. Но я могу предложить вам рабочий процесс, который будет использовать простые скрипты и существующие инструменты биоинформатики.
вперед, предлагайте! Что касается вопроса, то нет, сама последовательность мне совершенно безразлична. что меня волнует, так это критерии, упомянутые выше. Любая последовательность, которая их выполняет, подойдет для моих целей.
Что касается 4-го пункта: я предполагаю, что точный праймер имеет ту же длину, что и вырожденные. Вам нужны праймеры с переменной длиной? Это будет сложнее.
Под «точным» праймером вы подразумеваете специфический праймер(ы) для TAILPCR? если да, то нет, они составляют ~ 20 п.н., праймеры AD должны быть около ~ 14 п.н. (хотя я думаю, что это может немного варьироваться, чтобы учесть частоту связывания и температуру отжига).

Ответы (1)

Если вы уже знаете основную последовательность, то есть фиксированные области в праймере; например, для известных нуклеотидов в последовательности - NGATWGCTSATNGCтогда вы можете реализовать свой алгоритм следующим образом:

  • Исправьте максимальную длину праймеров. Допустим, 20 нт.
  • Сгенерировать все комбинации праймеров (20 нуклеотидов): это довольно просто. У вас будет
    4 N × 2 (R+Y+S+W+K+M) × 3 (B+D+V+H) количество комбинаций, где каждый алфавит обозначает количество таких случаев. Проверьте этот сайт для кодов нуклеотидов.
  • Рассчитайте Tm пар праймер-шаблон. UNAfold имеет калькулятор Tm гибридизации нуклеотидов. Вы можете указать такие параметры, как концентрация соли и т. д. Существуют и другие подобные инструменты. Их можно запустить в командной строке.
  • Откажитесь от всех праймеров, у которых Tm ниже допустимого предела.
  • Для тех, которые превышают допустимую Tm, продолжайте сбрасывать базу с 3' до тех пор, пока Tm не достигнет диапазона.
  • Если длина праймера становится меньше 14 нуклеотидов, откажитесь от праймера.
  • Теперь со всеми этими выбранными праймерами проверьте такие параметры, как самогибридизация, зажим GC и т. д. (ДОПОЛНИТЕЛЬНО). Для этих целей можно использовать Primer3 , запустив его на primer_checkрежиме.
  • Загрузите nr/ntбазу данных BLAST.
  • Настройте параметры BLAST для поиска коротких нуклеотидов: уменьшите длину слова, увеличьте отсечку e-значения и т. д. (см. этот пост biostar и справку BLAST ).
  • ВНЕДРИТЕ свои праймеры в базу данных в plus-minusрежиме.
  • Беспокойтесь только о тех случаях, когда имеется значительное выравнивание на 3'-конце праймера, так как только они могут вызвать удлинение.

Эти инструкции можно автоматизировать с помощью любого языка или сценария оболочки.


Вопросы по написанию сценариев на этом сайте не по теме. Вы можете задать конкретные сомнения по поводу кодирования в stackoverflow.