This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Bio::Searchio For Hmmer3 Output (Best Domain E-Value And I-Evalue)

I'm using Bio::SearchIO to parse HMMER3 output.

I am able get the significance of each sequence (which is located in the table on top of the output) with $hit->significance. I can also get the c-Evalue by using $hsp->significance. However, the more informative number would be the i-Evalue (from the domain table) or best 1 domain Evalue (from the top table).

Is there a method to get either of the two e-values? I could not find anything in the documentation.

bioperl hmmer

1 answer

After looking at the code, I don't think you can get the i-Evalue from Bio::SearchIO::hmmer3. It is parsed from the table but it is never set and I don't see a method to get that value. You may want to ask the bioperl listserv to make sure because the authors will be able to provide a definitive answer.

If you really want both and don't have time for a code fix, what I would do is just write a script to parse it myself. Here is an example:

use strict;
use warnings;

while (<>) {
    chomp;
    next if /^\#/;
    my ($target_name, $accession, $query_name, $accession_q, $E_value_full, 
        $score_full, $bias_full, $E_value_best, $score_best, $bias_best, 
        $exp, $reg, $clu, $ov, $env, $dom, $rev, $inc, $description_of_target) = split; 

    # do something with $E_value_full and $E_value_best ...

}

Thanks! In the end I did write my own script; I would prefer to use the perl package for the sake of code consistency.

Log in to answer this question.