Как оценить конкретную последовательность в blast_record - PullRequest
0 голосов
/ 15 июня 2019

Следующие коды будут распечатывать все последовательности в записи. Как мне оценить конкретный?

from Bio.Blast import NCBIWWW
from Bio.Blast import NCBIXML

fly=0
grape=0
with open('input.txt', 'r') as file:

    count = 1

    for i in file:
        print("Sequence {} :{}  Length: {}".format(count, i[:20], len(i))) 
        count += 1

    count -= 1
    print("There are %d sequences." % count)  # count = 10

    file.seek(0) # move position indicator to the start.

    for i in range(1,2):
        seq = file.readline()

        try:
            with open('dna_lab5_%d.xml' % i, 'r') as f:
                print("Using saved file")
        except FileNotFoundError:
            print("Performing online BLAST search")
            with open('dna_lab5_%d.xml' % i, 'w') as f:

                 handle = NCBIWWW.qblast("blastn", "nt", seq)
                 result = handle.read()
                 f.write(result)

        finally:
            with open('dna_lab5_%d.xml' % i,'r+') as f:

                records=NCBIXML.parse(f)

                for record in records:


                    for alignment in record.alignments:
                         for hsp in alignment.hsps:
                            print(alignment.title)
#                             if "melanogaster" in alignment[0].title:
#                                 fly+=1
#                             else:
#                                 grape+=1
#
# print (fly)

Я хочу первую строку последовательности, поэтому я попробовал records[0].alignments[0].hsps[0].title Я также пытался records.alignments[0].title Никто из них не работал. Могу ли я узнать, как правильно читать их?

Спасибо

...