У меня есть пары кодирующих последовательностей ДНК, которые я хочу выполнить попарно выравниванием кодонов с помощью Python , я «наполовину завершил» процесс.
До сих пор..
Biopython
package.EMBOSS Needle
программы.Я бы желал..
Вопрос
Я был бы признателен за предложения по программам/кодам (вызываемым из Python), которые могут переносить пробелы из пар выровненных пептидных последовательностей в кодоны соответствующих пар нуклеотидных последовательностей. Или программы/код, которые могут выполнять парное выравнивание кодонов с нуля.
Основной процесс будет (в псевдокоде, я недостаточно хорошо знаю python, я фанат Perl):
$seq1=ATGCCAGGCTGA
$seq2=ATGGGACCATAA;
for ($i=0;$i<length($seq1);$i++){
codons1[$i]=amino_acid
}
for ($i=0;$i<length($seq2);$i++){
codons2[$i]=amino_acid
}
На этом этапе у вас будет два массива, или хэша, или кортежа, или словаря, или чего-то еще, содержащего аминокислоту, которая соответствует каждой позиции кодона во входных последовательностях. Вы идете и делаете свой перевод и dS/dN, а затем можете использовать эти списки, чтобы сопоставить исходные нуклеотиды:
for ($i=0;$i<length($ProteinSseq1);$i++){
print codons1[$i]
}
Вам нужно будет адаптировать это, чтобы правильно работать с кодонами (i++ будет увеличиваться только на единицу, вам нужно извлечь триплеты), а затем читать пробелы, но все это проблемы программирования, которые не имеют ничего общего с биологической стороной вещей.
тердон
привет_там_энди
тердон
тердон
тердон
привет_там_энди
тердон
WYSIWYG
---
для пробела, обозначенного в последовательности пептида как-
. Способ сделать это в python:gcode={}
gcode['M']='ATG'
gcode['-']='---'
... и т. д. Затем разделите входную последовательность и найдите каждую букву в словаре.