phac-nml / staramr

Scans genome contigs against the ResFinder, PlasmidFinder, and PointFinder databases.
Apache License 2.0
111 stars 25 forks source link

staramr db info error: [Errno 2] No such file or directory: 'mlst' #166

Closed FeMa94 closed 11 months ago

FeMa94 commented 1 year ago

Hi, I installed staramr by running

git clone https://github.com/phac-nml/staramr.git cd staramr

Then I setup the virtual environment virtualenv .venv source .venv/bin/activate

And I installed staramr using: pip install -e .

staramr I then tested the database installation by running 'staramr' and then 'staramr db info' , which resulted in the error below.

:~/staramr$ staramr db info 2023-03-02 11:08:22 ERROR: [Errno 2] No such file or directory: 'mlst' Traceback (most recent call last): File "/home/federica/anaconda3/bin/staramr", line 68, in args.run_command(args) File "/home/federica/anaconda3/lib/python3.9/site-packages/staramr/subcommand/Database.py", line 304, in run write_database_info(database_repos) File "/home/federica/anaconda3/lib/python3.9/site-packages/staramr/subcommand/Database.py", line 291, in write_database_info database_info['mlst_version'] = JobHandler.get_mlst_version(JobHandler) File "/home/federica/anaconda3/lib/python3.9/site-packages/staramr/blast/JobHandler.py", line 257, in get_mlst_version return self._get_mlst_version(self) # type: ignore File "/home/federica/anaconda3/lib/python3.9/site-packages/staramr/blast/JobHandler.py", line 202, in _get_mlst_version output = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True) File "/home/federica/anaconda3/lib/python3.9/subprocess.py", line 505, in run with Popen(*popenargs, **kwargs) as process: File "/home/federica/anaconda3/lib/python3.9/subprocess.py", line 951, in init self._execute_child(args, executable, preexec_fn, close_fds, File "/home/federica/anaconda3/lib/python3.9/subprocess.py", line 1821, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'mlst'

Staramr version 0.10.0.dev0, Python version 3.9. Any idea what may be the problem? Thanks in advance!

Federica

apetkau commented 1 year ago

Hello @FeMa94,

If you are installing staramr from the code repository (or directly from pip) you must still install the non-Python dependencies listed here (https://github.com/phac-nml/staramr#dependencies).

What I tend to do is first create a conda environment with the latest stable staramr (conda create --name staramr staramr and conda activate staramr). Then, you can install the latest version of the code with pip install -e .

FeMa94 commented 1 year ago

Thank you for the response.

I followed your advice, I checked and installed non-Python dependencies listed in the git-hub page but I still have the mlst error:

(base):~$ conda activate staramr (staramr):~$ staramr db info 2023-03-03 10:21:39 ERROR: [Errno 2] No such file or directory: 'mlst': 'mlst' Traceback (most recent call last): File "/home/federica/staramr/bin/staramr", line 68, in args.run_command(args) File "/home/federica/staramr/staramr/subcommand/Database.py", line 304, in run write_database_info(database_repos) File "/home/federica/staramr/staramr/subcommand/Database.py", line 291, in write_database_info database_info['mlst_version'] = JobHandler.get_mlst_version(JobHandler) File "/home/federica/staramr/staramr/blast/JobHandler.py", line 257, in get_mlst_version return self._get_mlst_version(self) # type: ignore File "/home/federica/staramr/staramr/blast/JobHandler.py", line 202, in _get_mlst_version output = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True) File "/home/federica/anaconda3/envs/staramr/lib/python3.7/subprocess.py", line 488, in run with Popen(*popenargs, **kwargs) as process: File "/home/federica/anaconda3/envs/staramr/lib/python3.7/subprocess.py", line 800, in init restore_signals, start_new_session) File "/home/federica/anaconda3/envs/staramr/lib/python3.7/subprocess.py", line 1551, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'mlst': 'mlst'

Any idea how to proceed? Thanks in advance!

apetkau commented 1 year ago

Sorry I must have missed this last week. It looks like the software mlst is still not properly installed. What happens when you run mlst --version? For me I get:

mlst --version
mlst 2.23.0
apetkau commented 11 months ago

Closing this issue. You can re-open if it is still ongoing.