kingsfordgroup / sailfish

Rapid Mapping-based Isoform Quantification from RNA-Seq Reads
http://www.cs.cmu.edu/~ckingsf/software/sailfish
GNU General Public License v3.0
124 stars 45 forks source link

simple_test fails -- Couldn't read argument value from string 'sample_index' #111

Closed kellmnop closed 5 years ago

kellmnop commented 5 years ago

After building and installing sailfish 0.9.2 on Ubuntu 18.04.1, it fails the simple_test at the index step. Running the command manually gives the following error:

:~/.local$ sailfish index -t ~/.local/sailfish/sample_data/transcripts.fasta -o sample_index --force
Version Info: This is the most recent version of Sailfish
writing log to sample_index/logs/sailfish_index.log
RapMap Indexer
PARSE ERROR: Argument: -k (--klen)
             Couldn't read argument value from string 'sample_index'

Brief USAGE: 
   foo  [-n] [-k <positive integer less than 32>] -i <path> -t <path> [--]
        [--version] [-h]

For complete USAGE and HELP type: 
   foo --help

Explicitly passing the -k 31 argument gives an identical error.

SethosII commented 5 years ago

@kellmnop I'm facing the same issue with version 0.10.1. Have you found a fix?

kellmnop commented 5 years ago

No, I decided that using sailfish was not worth the trouble. However, I did find that the failure was due in some part to a requirement that -k is an even number.

rob-p commented 5 years ago

Hi @sethosll,

I would highly recommend that you consider using salmon instead. It supersedes sailfish in almost every way, and also has many more capabilities. Also, recent builds are available via both precompiled executables and bioconda, so it should be easy to get up and running.

SethosII commented 5 years ago

@rob-p We are already using salmon but for some legacy stuff we need sailfish. I'm able to compile it, but I wonder if the failing test is actually bad. The test works with the precompiled binaries so I guess the failing test is a problem, but I don't have a clue what is wrong.

rdauria commented 4 years ago

Was there any resolution to this?

kellmnop commented 4 years ago

Was there any resolution to this?

To use salmon, it seems.

GimenaA commented 2 years ago

I'm having the same error and I don't know how to fix it.

rob-p commented 2 years ago

Hi @GimenaA — unless there is a very specific reason you must you sailfish, we highly recommend you use salmon instead.

If there is a need (e.g. reproducibility of a prior analysis) that you need to use sailfish, can you share the exact command you are giving and how it is failing?

GimenaA commented 2 years ago

Hi @rob-p Thank you for your quick response!

This is the command I'm using: sailfish index -t /home/gimena/reference_files/TEomes/transposons_3.fasta -o /home/gimena/sailfish_index/sailfish_index_transposons_3 --kmerSize 31

I also tried typing with "-k 31" but it also fails.

This is the error I get: Version Info: This is the most recent version of Sailfish writing log to /home/gimena/sailfish_index/sailfish_index_transposons_3/logs/sailfish_index.log RapMap Indexer PARSE ERROR: Argument: -k (--klen) Couldn't read argument value from string '@�MC�'

Brief USAGE: foo [-n] [-k <positive integer less than 32>] -i -t [--] [--version] [-h]

For complete USAGE and HELP type: foo --help

Thanks Rob!

rob-p commented 2 years ago

Hi @GimenaA,

Is this compiled from source, or are you using the last released binary? I am trying to reproduce this using the binary, but that seems to work without issue.

GimenaA commented 2 years ago

Hi @rob-p, I tried to install it from source, but I was having this issue described here: https://github.com/kingsfordgroup/sailfish/issues/118. Someone in the Biostar forum said I could install sailfish from conda using: conda install -c bioconda sailfish, which is what I ended up doing and the installation seem to work. But then, I ran into the issue when trying to build the index.

Thank you for all you help. I appreciate it!

rob-p commented 2 years ago

Hi @GimenaA,

I can confirm the same issue with the version in conda. I am not sure what is wrong with the conda version. I can take a look at it in the future, but I can't get to it right away. However, the release page I linked to above (again here) has pre-compiled binaries for both linux and OSX. I can confirm that the pre-compiled binary here for linux works for me with exactly the same command where the conda build fails. Could you give this a try?

Thanks Rob

GimenaA commented 2 years ago

@rob-p, Thank you for trying this and letting me know you are experiencing the same issue with this installation. This was very helpful! I would love to try the installation with the pre-compiled binary that you suggested, but can I bother you with one more question? Can you please tell me if I'm missing a step or downloading the wrong source file in the steps I took when trying this installation before? The steps are copied below and also described here https://github.com/kingsfordgroup/sailfish/issues/118. Like I said before, I tried this installation a couple of weeks ago, but I couldn't make it work that's why I think I might be missing a step.

STEPS TAKEN:

  1. wget https://github.com/kingsfordgroup/sailfish/archive/refs/tags/v0.10.0.zip
  2. unzip v0.10.0.zip
  3. cd sailfish-0.10.0
  4. mkdir build
  5. cd build
  6. cmake -DFETCH_BOOST=TRUE ..
  7. make
  8. make install

I appreciate you help!

rob-p commented 2 years ago

Hi @GimenaA,

These steps look fine. I think the problem is that, during installation, an attempt is made to fetch the Intel TBB library (version 4.3). However, the link that is used in the CMakeLists.txt file to grab that source code is now defunct (Intel killed the link). This means that, for installation to work, we must either find where this (now rather old) version of the TBB library is hosted or the user must already have this library installed on their system to be detected by CMake. I think this is why building from source is not working.

This is not an issue with the pre-compiled binary because it doesn't have to fetch the source. This isn't a problem with salmon since we've upgraded to the newest version of TBB that is actively maintained and linked in the CMakeLists.txt (also, the bioconda install of salmon works).

--Rob

rob-p commented 2 years ago

Hi @GimenaA,

I've also just pushed some changes to the master branch that let me compile now from source with a reasonably recent compiler (gcc 9.4.0). You can try to clear your build directory and pull the latest from master to see if that builds for you now too.

Best, Rob

GimenaA commented 2 years ago

Thank you so much @rob-p!! I'll try it and let you know if it works.

Thanks for all your help.

Best, Gimena