Hello,
I am running PBcR to assembly a H. sapiens mitochrondrion, but computeCoverageStat fails with a 'Floating point exception'. A chunk of the log follows. Any clues on how to fix/avoid this problem?
Thanks,
Best,
----------------------------------------START Wed Sep 2 03:37:46 2015
$WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat \
-g $WGS/wgs-8.3rc2/Linux-amd64/bin/PacBioTest/asm.gkpStore \
-t $WGS/wgs-8.3rc2/Linux-amd64/bin/PacBioTest/asm.tigStore 5 \
-s 0 \
-o $WGS/wgs-8.3rc2/Linux-amd64/bin/PacBioTest/5-consensus-coverage-stat/asm \
$WGS/wgs-8.3rc2/Linux-amd64/bin/PacBioTest/5-consensus-coverage-stat/computeCoverageStat.err 2>&1
----------------------------------------END Wed Sep 2 03:37:46 2015 (0 seconds)
ERROR: Failed with signal FPE (8)
================================================================================
runCA failed.
Stack trace:
at $WGS/wgs-8.3rc2/Linux-amd64/bin/runCA line 1628.
main::caFailure('Unitig coverage stat computation failed', '$WGS/wgs-8.3rc2/Linux-amd64/bin/Pa...') called at $WGS/wgs-8.3rc2/Linux-amd64/bin/runCA line 4891
main::postUnitiggerConsensus() called at $WGS/wgs-8.3rc2/Linux-amd64/bin/runCA line 6259
Last few lines of the relevant log file ($WGS/wgs-8.3rc2/Linux-amd64/bin/PacBioTest/5-consensus-coverage-stat/computeCoverageStat.err.FAILED):
Failed with 'Floating point exception'
Backtrace (mangled):
$WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat(_Z17AS_UTL_catchCrashiP9siginfo_tPv+0x2a)[0x42c28a]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7fb15ac8e340]
$WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat(_Z20getGlobalArrivalRateP15MultiAlignStoreP8_IO_FILEmb+0x5d6)[0x40a8a6]
$WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat(main+0x580)[0x407b70]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fb15a8daec5]
$WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat[0x40843d]
Backtrace (demangled):
[0] $WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat::AS_UTL_catchCrash(int, siginfo_t, void) + 0x2a [0x42c28a]
[1] /lib/x86_64-linux-gnu/libpthread.so.0::(null) + 0x10340 [0x7fb15ac8e340]
[2] $WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat::getGlobalArrivalRate(MultiAlignStore, _IO_FILE, unsigned long, bool) + 0x5d6 [0x40a8a6]
[3] $WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat::(null) + 0x580 [0x407b70]
[4] /lib/x86_64-linux-gnu/libc.so.6::(null) + 0xf5 [0x7fb15a8daec5]
[5] $WGS/wgs-8.3rc2/Linux-amd64/bin/computeCoverageStat() [0x40843d]
GDB:
Floating point exception (core dumped)
Failure message:
Unitig coverage stat computation failed
----------------------------------------END Wed Sep 2 03:37:46 2015 (23 seconds)
Failed to execute $WGS/wgs-8.3rc2/Linux-amd64/bin/runCA -s $WGS/wgs-8.3rc2/Linux-amd64/bin/PacBioTest//tempPacBioTest.spec -p asm -d PacBioTest ovlRefBlockLength=100000000000 ovlRefBlockSize=0 useGrid=0 scriptOnGrid=0 unitigger=bogart ovlErrorRate=0.03 utgErrorRate=0.025 cgwErrorRate=0.1 cnsErrorRate=0.1 utgGraphErrorLimit=0 utgGraphErrorRate=0.025 utgMergeErrorLimit=0 utgMergeErrorRate=0.025 frgCorrBatchSize=100000 doOverlapBasedTrimming=1 obtErrorRate=0.03 obtErrorLimit=4.5 frgMinLen=3000 ovlMinLen=100 "batOptions=-RS -NS -CS" consensus=pbutgcns merSize=22 cnsMaxCoverage=1 cnsReuseUnitigs=1 gridEnginePropagateHold="pBcR_asm" PacBioTest.longest25.frg
Command exited with non-zero status 1
Hi-
Looking at the code, there are a few places where a divide-by-zero could occur, but (I think) those would only happen if you got no assembly.
Are there any logs - or any non-empty files at all - in the 5-consensus-coverage-stat directory? Those could give a clue as to where it is failing, and maybe why.
What does 'tigStore -g asm.gkpStore -t asm.tigstore 2 -U -d sizes' report? That will be the size of the unitigs in your assembly. (Give it '-s <genome-size-in-bases>' to get the N50 sizes correctly computed, otherwise, it just sums the bases present.) Is the report for '-t asm.tigStore 5' (opposed to '2') radically different? These are the 'final' unitigs, after some minor cleanup and maybe splitting.</genome-size-in-bases>
Thanks Brian for your reply.
The files in this directory are empty:
Except computeCoverageStat.err.FAILED which contains the backtraces shown in the previous post.
The tigStore commands returned:
Thus, there are no unitigs.
Any suggestions on how to obtain an assembly in this case?
I'm trying to obtain an assembly to circularize a mt genome, as shown in Hunt et al. - bioRxiv 2015 - Circlator: automated circularization of genome assemblies[...]. I have ~5.000X average coverage for a mt genome, and used PBcR with options -maxCoverage 1000 -length 500 -partitions 200 -genomeSize 16569 as described in this work (page 10).
Thanks.
Last edit: Carlos Cano 2015-09-06
Interesting. I'll try to reproduce here. Are you using their 'additional file 3', or did you generate new data following the recipe on page 10?
How did you end up with 5000x coverage? Their 'corrected_reads.fasta' (for Human) results in two 20k unitigs with 200x coverage.
When we assemble big genomes with pacbio, we typically only assemble the longest 25-50x coverage of the reads. Sample down to 100x.
I'm somewhat interested in why there aren't any unitigs generated, but I kind-of already know what happened. Can you share the input reads and/or the gkpStore and ovlStore (and the bogart file from runCA-logs/)?
Hello
I hope it is fine if I join this thread. I am encountering the same error but outside of the circulator.
I attempted to run the PBcR pipeline on a dataset which is contaminated with another organism which has a much lower coverage though. I therefore wanted to use more data then 25X and attempted to run as in your wiki the error correction and assembly seperately.
all files in the "/5-consensus-coverage-stat" folder are empty.
Similarly there are no unitigs:
This is very surprising as I obtained an assembly when using the entire PBcR pipeline in one step using only the 25X coverage.
My workflow:
1.
2nd.
3rd
Is there otherwise as well the possibility to provide the longestlength option in the spec file?