marbl / Mash

Fast genome and metagenome distance estimation using MinHash
mash.readthedocs.org
Other
393 stars 90 forks source link

Error in mash sketch #150

Open ddjamalova opened 4 years ago

ddjamalova commented 4 years ago

I use Mash as one of the dependencies of PanACoTA. I got the following error while sketching: error: mash sketch -o Acetobacter_orleanensis/mash_files/all-genomes-Acetobacter_orleanensis -p 1 -l Acetobacter_orleanensis/mash_files/list-to-sketch-Acetobacter_orleanensis.txt -s 1e4 does not exist I used the following command: PanACoTA prepare -t 104099 -s "Acetobacter orleanensis"

But file 'list-to-sketch-Acetobacter_orleanensis.txt' exists and located in the right directory.

sujeetpowar commented 11 months ago

Hey, did you find any solution for this issue? I am having the same problem right now.

macklor commented 11 months ago

I had the same problem, this is what worked for me (macOS): Try: mash --version to see if your mash is accessible, in my case it wasn't, I was getting an error related to no command found Ensure that your mash is downloaded in the correct environment and accessible when you run PanACoTA. Once I had the downloading in the correct environment sorted I was getting an error code related to '/usr/lib/libgsl.25.dylib' (no such file, not in dyld cache) when running mash --version I then listed my gsl brew list gsl in which I noted that all gsl version were 2.7.1, and mash is trying to access 2.5 Then I ranconda install -c conda-forge gsl=2.5 Once this was finished I ran mash --version again, this time getting the version number rather than an error. Following this I was able to execute PanACoTA with no issues.

Hopefully this is helpful, my first time trying to provide a solution, so please let know if I could format something better.

jeffkimbrel commented 1 month ago

Unfortunately, this fix isn't working for me. I attempted to install mash 2.3 from bioconda (on an M1 Max Mac), and it installed with no errors. But running mash --version gives a similar error above where it can't find version 2.5 of gsl (error is Library not loaded: @rpath/libgsl.25.dylib).

Attempting the fix above (installing gsl 2.5) gives a conda incompatibility error stating mash requires gsl 2.6 or greater:

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package mash-2.3-h194473e_0 requires gsl >=2.6,<2.7.0a0, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ gsl 2.5**  is requested and can be installed;
└─ mash 2.3**  is not installable because there are no viable options
   ├─ mash 2.3 would require
   │  └─ gsl >=2.6,<2.7.0a0 , which conflicts with any installable versions previously reported;
   └─ mash 2.3 would require
      └─ gsl >=2.7,<2.8.0a0 , which conflicts with any installable versions previously reported.

And indeed the bioconda site says the recipe actually requires >=2.7,<2.8.0a0. So, it does appear to have a mismatch between what mash actually wants (gsl 2.5) and what the condo recipe requirements are (2.7 or higher).