Question: Parsing Standalone Blast XML Output with Biopython on Linux
0
gravatar for maximilian.mayerhofer
16 months ago by
maximilian.mayerhofer20 wrote:

Hello,

I want to parse my blast XML results and extract a few things and put them into a new multifasta file as following:

. >[alignment.title][hsp.expect][align_length][hsp.sbjct]

from Bio.Blast import NCBIXML
results=open('./results.xml', 'r' )
records=NCBIXML.parse(results)

save_file = open("./presults.fasta", "w")

for blast_record in records:
        for alignment in blast_record.alignments:
                for hsp in alignment.hsps:
                        save_file.write('>%s\n' % (alignment.title, hsp.expect, align_length, hsp.sbjct))
save_file.close()

But thats the error I get.

  File "parsing.py", line 10, in <module>
    save_file.write('>%s\n' % (alignment.title, hsp.expect, hsp.sbjct))
TypeError: not all arguments converted during string formatting

It is important that I get the complete subject sequences out of this.

Best regards

blast biopython parse xml • 660 views
ADD COMMENTlink modified 16 months ago by Pierre Lindenbaum120k • written 16 months ago by maximilian.mayerhofer20
2
gravatar for Pierre Lindenbaum
16 months ago by
France/Nantes/Institut du Thorax - INSERM UMR1087
Pierre Lindenbaum120k wrote:

in

save_file.write('>%s\n')

there is only one palceholder '%s' while there are 4 arguments.

https://www.safaribooksonline.com/library/view/python-cookbook-2nd/0596007973/ch04s21.html

ADD COMMENTlink written 16 months ago by Pierre Lindenbaum120k
1

Ok, I see that. But how do I get this to work?

EDIT:nevermind. I got it.

ADD REPLYlink modified 16 months ago • written 16 months ago by maximilian.mayerhofer20
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1467 users visited in the last hour