Xinglab / espresso

Other
57 stars 4 forks source link

HMMER version #10

Closed dthorburn closed 1 year ago

dthorburn commented 1 year ago

The dependencies list indicates hmmer >= 3.3.1 is required. However, that appears to not be true.

$ nhmmer -h | head -2
# nhmmer :: search a DNA model, alignment, or sequence against a DNA database
# HMMER 3.3.2 (Nov 2020); http://hmmer.org/

Please make sure nhmmer 3.3.1 is installed and included in $PATH! at /path/to/ESPRESSO_C.pl line 135.

Which leads me to lines 122-139 of ESPRESSO_C.pl where it appears hmmer version 3.3.1 is hard coded to be the only accepted version:

    my @nhmmer_versions = qx(nhmmer -h | head -2);
    my $tag_nhmmer = 0;
    if (@nhmmer_versions == 2) {
        my @line = split /\s+/, $nhmmer_versions[1];
        my @version_tiny = split /[.]/, $line[2];
        $tag_nhmmer = 1 if $version_tiny[0] == 3 and $version_tiny[1] == 3 and $version_tiny[2] == 1;
    }
    push @die_reason, "Please make sure nhmmer 3.3.1 is installed and included in \$PATH!" if $nhmmer_versions[1]=='HMMER' and $tag_nhmmer == 0;

It's an easy fix (at least I hope so), but I thought I should point out the inconsistency in the docs and execution.

EricKutschera commented 1 year ago

Yes, the check and the docs are inconsistent. I did a small test with hmmer 3.3.2 and it seems fine. The release notes for 3.3.2 don't mention any breaking changes: https://github.com/EddyRivasLab/hmmer/blob/master/release-notes/RELEASE-3.3.2.md

For now you can comment out the line with push @die_reason https://github.com/Xinglab/espresso/blob/main/src/ESPRESSO_C.pl#L129 (as mentioned in a similar issue https://github.com/Xinglab/espresso/issues/7)

I'm planning to update the code for the dependency checks soon

EricKutschera commented 1 year ago

ESPRESSO v1.3.1 allows nhmmer >= 3.3.1