This is a test version of Biostars. For the public version, visit https://www.biostars.org.
To Do Blast Alignment Of Two Proteins By Biopython

I am new to biopython and I am not sure if it is a stupid question.

I would like to perform the same task as the one can be done on the web based blast. I am trying to align two protein by providing their GIs and receive the e-value. But I can only find examples to blast one protein in the biopython tutorial.

How can I align two protein using the qblast function?

I have tried the command

result_handle = NCBIWWW.qblast("blastp", "pat", "330186","118881")

But it returns me a lot of alignments and a lot of e-values.

I also found that it takes a few minutes for my computer to complete the query, where if I use the web based blast only takes a few seconds.

Is my query anything wrong?

blast biopython python

1 answer

I assume you are using [?]COBALT[?]?

Unfortunately, I don't think NCBI provides a programmatically accessed interface for COBALT. The qblast function you are using queries the NCBI QBlast server which is just a new feature they have implemented for Blast allowing different output formats without having to re-run the blast.

Alternatively:

  1. You can query NCBI Entrez data bases using BioPython to get your protein sequences by accession: http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc95
  2. Download ClustalW: http://www.ebi.ac.uk/Tools/phylogeny/clustalw2_phylogeny/help/faq.html#21
  3. Align your protein sequences with BioPython's interface to ClustalW: http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc74
  4. Parse the clustalW results using BioPython's alignIO: http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc66

QBLAST is a very old web API, that pre-dates BLAST+

Log in to answer this question.