I think I may have a (not enough) memory issue, but I wanted to check with the google group before deciding that that is the real problem. I'm trying to build an index using GRCh38. I'd like to think this should be an easy task, but I've actually run into problems on each of three machines I've tried it on. First I had a problem with a homebrew install on a mac desktop. The error I had didn't tell me much, it would just quit partway through the index command. I left that alone since there are numerous ways that could go wrong and I didn't have the hours to figure out what the issue was.
I have access to a server running CentOS 7. I tried to build sailfish there from source, but there was a problem with sailfish not being able to find a specific gcc library (it's installed and up to date, and the dev library too. in fact, every package that provides the library in question is installed...). Another thing that's often time consuming to fix, so I left it for later.
Last resort: I tried using the current Debian binary on an up-to-date Ubuntu desktop. These systems have a lot in common and it's often the case that programs built for one will work in the other. Worked fine until the index command was nearly done running. I came back to my screen today to find this:
dune:~/circ_RNA/data/db$ sailfish index -t GCA_000001405.15_GRCh38_full_analysis_set.fna -o sailfish_index/
...
[info] Building 64-bit suffix array (length of generalized text is 3209458384 )
Building suffix array . . . success
saving to disk . . . done
Elapsed time: 3390.84s
done
Elapsed time: 9389.65s
processed 305000000 positionssailfish: /home/vagrant/sailfish/external/install/include/sparsehash/internal/densehashtable.h:782: void google::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::clear_to_size(google::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::size_type) [with Value = std::pair<const long unsigned int, rapmap::utils::SAInterval<long int> >; Key = long unsigned int; HashFcn = rapmap::utils::KmerKeyHasher; ExtractKey = google::dense_hash_map<long unsigned int, rapmap::utils::SAInterval<long int>, rapmap::utils::KmerKeyHasher, std::equal_to<long unsigned int>, google::libc_allocator_with_realloc<std::pair<const long unsigned int, rapmap::utils::SAInterval<long int> > > >::SelectKey; SetKey = google::dense_hash_map<long unsigned int, rapmap::utils::SAInterval<long int>, rapmap::utils::KmerKeyHasher, std::equal_to<long unsigned int>, google::libc_allocator_with_realloc<std::pair<const long unsigned int, rapmap::utils::SAInterval<long int> > > >::SetKey; EqualKey = std::equal_to<long unsigned int>; Alloc = google::libc_allocator_with_realloc<std::pair<const long unsigned int, rapmap::utils::SAInterval<long int> > >; google::dense_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::size_type = long unsigned int]: Assertion `table' failed.
Aborted (core dumped)
My clue that it's a problem with lack of memory is that there is some kind of allocation going on right before the program aborts. I tried searching the archives here for a similar issue but I didn't find anything, so I'm guessing this is specific to my machine. Hopefully the devs or a more experienced user can help?