Can someone explain how the score is calculated for Bio.Blast.Record.Description? For example, if Record.Description.num_alignments is >1, is Record.Description.score simply the sum of the alignment scores for the description's hit? Can alignments overlap? How does the score of a given alignment deal with the scores of overlapping HSPs in that alignment?

I'm getting the Blast.Record object via NCBIXML.parse(), and would like to rely on the description data as much as possible to remove the need for code that parses the Record.Alignments objects, but I'm a nervous including things when I don't know exactly how they were created.

Cheers! Tim


1 Answer 1


The results you'd get are the same as with any other NCBI BLAST+ tools, python does not compute it.

Biopython can run a blast query qblast on the internet or locally. To make it run locally you need to install blast tools on your machine and biopython will launch it as a subprocess. Here you can find the pertinent information: https://biopython.org/docs/dev/Tutorial/chapter_blast.html#running-blast-locally

Filtering data is as much a burden as it is important. Depending on your question you want to answer. Some people prefer a low e-value. The score is however affected by the length of the sequence since the number of matches is bigger, more details here: https://www.nlm.nih.gov/ncbi/workshops/2023-08_BLAST_evol/blast_score.html


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.