Skip to content

Better handling of mmseqs errors #111

@mmolari

Description

@mmolari

This issue is relative to the rust branch, which is not yet in production, but writing it down here to keep track of it.

On the rust branch, mmseqs alignment is currently executed by this function.
In case mmseqs command is not available in the user's path, the error message is not very immediate:

Error: 
   0: When traversing guide tree
   1: When merging graphs
   2: During self-merge iteration 0
   3: When trying to align sequences using mmseqs
   4: Running ["mmseqs" "easy-search" "/tmp/.tmpqRok4E/input.fa" "/tmp/.tmpqRok4E/input.fa" "/tmp/.tmpqRok4E/output.paf" "/tmp/.tmpqRok4E/tmp" "--threads" "1" "--max-seq-len" "10000" "-a" "--search-type" "3" "--format-output" "query,qlen,qstart,qend,empty,target,tlen,tstart,tend,nident,alnlen,bits,cigar,fident,raw" 1>"/dev/null"] failed: No such file or directory (os error 2) at packages/pangraph/src/align/mmseqs/align_with_mmseqs.rs:37

Location:
   packages/pangraph/src/align/mmseqs/align_with_mmseqs.rs:48

We could:

  • add a single preliminary check when mmseqs kernel is selected, for the availability of mmseqs command in $PATH
  • improve the handling of possible errors, similar to what done in subprocess

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions