So, to conclude the tophat errors for future reference from my experience
Error 1
Above mentioned error, can be solved using a parameter --keep-tmp. Thanks to Arun
Error 2
Searching for junctions via segment mapping
[FAILED] Error: segment-based junction search failed with err =127 The exact error cause can be seen in the segment.juncs file present in the tmp dir under your output dir but for me the probable cause was multithread problem. Tophat/Cufflinks are not MPI (Message Parsing protocol) programs, so they can't be distributed to more than one node. So, submitting to a single node with whatever cpu's it has max limit is the max it has solves it. Another reason, is exporting the LD lib path using `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/share/apps/lib/` in your qsub or cluster execution script.
Also, there are logs stored in your tmp dir, so check for the last command in the run.log which is big and try running it on the console and you'll see where the error is. Same error happens with err=-9
Error 3
Searching for junctions via segment mapping
[FAILED]
Error: segment-based junction search failed with err =-6
Most likely reason is you run out of memory
Error 4
Bowtie problems, If you update Tophat to latest version i.e.2, be sure to update bowtie 1 to bowtie 2 which is called by default by tophat. If its not there, you'll get error and for using bowtie2, you should also fetch the bowtie2 indexes which are different than bowtie1.
Another error, occurs if your annotation file (genes.gtf) and the your bowtie index are from different sources (NCBI vs UCSC vs Ensembl), because they have a difference in how the chromosomes are named. Also, be sure your fastq is proper fastq else you get an execution error
Error 5
As the user RT reported,
[2014-01-14 00:24:01] Searching for junctions via segment mapping
[FAILED]
Error: segment-based junction search failed with err =127
/shared/apps/tophat/2.0.10/bin/segment_juncs: error while loading shared libraries: libboost_thread.so.1.51.0: cannot open shared object file: No such file or directory
This is because of absence or old version of Boost C++ libraries.
Copying steps from the website
••Building TopHat from source**
In order to build TopHat2 you must have the following installed on your system:
- the Boost C++ libraries (we recommend version 1.47 or higher so you can use it for building Cufflinks as well)
Note: Starting with version 2.0.13 TopHat no longer requires the user to have the SAMtools library (libbam.a), headers or even the samtools program installed, as TopHat2 comes pre-packaged with a stable version of SAMtools which is known to work well with TopHat. Also, TopHat uses the SeqAn library that comes with the TopHat2 source code distribution. It is not necessary for the SeqAn library to be installed separately in order to run TopHat.
Building Boost
- Download a recent Boost source tarball, unpack it and cd to the newly unpacked Boost source directory.
- Prepare the build:
./bootstrap.sh
- Build Boost. Note that you can specify where to install Boost with the
--prefix option, which specifies the base path (prefix) where sub-directories ./include/ and ./lib/ will host the Boost headers and library files respectively. The default Boost installation directory prefix is /usr/local. Take note of this installation directory (if you specify your own) because you will need to provide it to the --with-boost option of TopHat's ./configure script. Run the build and install command: ./bjam --prefix=<YOUR_BOOST_INSTALL_DIRECTORY> link=static runtime-link=static stage install
I hope it helps someone.
Cheers
My run with tophat (v2.0.0 with bowtie2) coincides exactly with what your output shows, except that after
reporting output tracks, its saysrun complete ... seconds elapsed. So, I don't think there is any issue with tophat run until there. Which OS are you working in? Did you try copying your fasta to bowtie-index folder (with same name as bowtie-index)...?Also try running with the
--keep-tmpoption (just a thought as your error seems to be from the tmp directory created by tophat).Amazing Arun --keep-tmp solves it :)
I'm glad that fixed it! :)
Had the same issue and tophat didn't generate the accepted_hits.bam.. So I am running now with the --keep-tmp option! fingers crossed!
I am experiencing pretty much exactly this error. However, adding
--keep-tmpdid not solve the problem.I am running tophat on a campus cluster machine with shared filesystem, and I wonder if the tmp files are getting removed for some reason related to that.
My command line:
Output:
Version: tophat2.1.0.
Interestingly, most of the files that I process complete just fine. About 1/6 of them have the above error. When I rerun them, they generally get the error again, although once or twice on the third try they succeeded. So maybe something to do with running out of memory, somehow?
Any suggestions would be appreciated!
Jessica
Yeah, its possible. Can you try to run it on a local machine.
I am unable to help in this regard as I am not sure what is the exact problem.
I can't run it on a local machine until probably next week, but I'll try it and report back.
I did run it on the cluster with 8 instead of 12 processors. Result: all the files that had caused errors succeeded (yay). I concluded that I had solved the problem and moved on to the next set of files, using 8 processors each. Result: new error (though clearly similar):
So, again, an error about a missing file.
I'll report back when I have a chance to try these on a local machine.