Функция для создания парных комбинаций всех последовательностей из типа файла выравнивания в PYTHON - PullRequest
0 голосов
/ 05 мая 2020

, поэтому я недавно начал проект по выравниванию последовательностей и использовал автономную программу MAFFT для выравнивания некоторых последовательностей BRCA1 (через командную строку).

Мне нужно создать функция, которая будет создавать все попарные комбинации из файлов aln, которые я создал с помощью MAFFT. Однако мне сказали, что жесткое кодирование выравниваний не является хорошей практикой, например, first_alignment=align[0], second_alignment=align[1].

Я проанализировал файлы aln, используя этот код:

from Bio import AlignIO

align = AlignIO.read(aln_1, "clustal")
print(align)

align = AlignIO.read(aln_2, "clustal")
print(align)

See this picture for output of AlignIO

Теперь мне нужна функция для создания всех возможные попарные комбинации, чтобы я мог сравнивать последовательности и искать переходы / трансверсии, отступы / замены, SNP или любое биологическое значение.

Был бы признателен за помощь!

Спасибо.

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете l oop через каждое выравнивание, как показано на официальном bio python сайте:

for record in alignment :
    print(record.seq + " " + record.id)

Чтобы получить обе записи, вы можете добавить внутренний l oop как:

align1 = AlignIO.read(aln_1, "clustal")
align2 = AlignIO.read(aln_2, "clustal")

for record1 in alignment1 :
    for record2 in alignment2:
        # do comparison here

Для комбинации парный модуль , я думаю, есть то, что вы ищете.

Пример со страницы:

from Bio import pairwise2
alignments = pairwise2.align.globalxx("ACCGT", "ACG")

Вы можете настроить это и передать в качестве аргументов для gloablxx две записи (внутри двойного l oop), например:

alignments = pairwise2.align.globalxx(record1, record2)

Надеюсь, это то, что вы ищете! :)

...