Получить взаимное лучшее совпадение в выходном файле взрыва
Я новичок, и я пытаюсь создать функцию, которая принимает два 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"))