Получить взаимное лучшее совпадение в выходном файле взрыва

Я новичок, и я пытаюсь создать функцию, которая принимает два xml-файла и находит взаимные наилучшие совпадения (если определенный белок из specieA является наилучшим совпадением с другим белком в specieB, и наоборот, тогда они являются взаимно лучшим соответствием) на основе их общего балла. Я надеюсь, что кто-то может мне помочь, потому что я понятия не имею, с чего начать.

record1=NCBIXML.parse(open(filename1))
record2=NCBIXML.parse(open(filename2))

for record in record1:
    query_id1=record.query_id

    for alignment in record.alignments:
        total_score1=0

        for hsp in alignment.hsps:
            total_score1 += hsp.bits

1 ответ

Я сделал это, чтобы найти ортологичные гены:

  • Взрыв А против Б.
  • Разберите и сохраните лучший матч в таком виде, как:

    # "A1_prot" comes from the query and "B1_prot" from the subject
    matches = {"A1_prot": "B1_prot",
               "A2_prot": "B2_prot"}
    
  • Взрыв Б против А.

  • Разберите этот вывод при запросе предыдущего dict с результатами:

    # Now "A1_prot" comes from the subject and "B1_prot" is the query
    if matches["A1_prot"] == "B1_prot":
        orthologous.append(("A1_prot", "B1_prot"))
    
Другие вопросы по тегам