It seems that specifying --debug --sanity causes bowtie-build to hang, or it least it does for every example I just tried, including simple examples. This seems to be the case in both the master and bug_fixes branches.
$ cat test.fa
>0
TCACGTTGGACGTGTTAGCAACATGCAG
$ ./bowtie-build --debug --sanity test.fa .tmp
Settings:
Output files: ".tmp.*.ebwt"
Line rate: 6 (line is 64 bytes)
Lines per side: 1 (side is 64 bytes)
Offset rate: 5 (one in 32)
FTable chars: 10
Strings: unpacked
Max bucket size: default
Max bucket size, sqrt multiplier: default
Max bucket size, len divisor: 4
Difference-cover sample period: 1024
Endianness: little
Actual local endianness: little
Sanity checking: enabled
Assertions: enabled
Random seed: 0
Sizeofs: void*:8, int:4, long:8, size_t:8
Input files DNA, FASTA:
test.fa
Reading reference sizes
Time reading reference sizes: 00:00:00
Calculating joined length
Writing header
Reserving space for joined string
Joining reference sequences
Time to join reference sequences: 00:00:00
bmax according to bmaxDivN setting: 7
Using parameters --bmax 6 --dcv 1024
Doing ahead-of-time memory usage test
Passed! Constructing with these parameters: --bmax 6 --dcv 1024
Constructing suffix-array element generator
Building DifferenceCoverSample
Building sPrime
Building sPrimeOrder
V-Sorting samples
V-Sorting samples time: 00:00:00
Allocating rank array
Ranking v-sort output
Ranking v-sort output time: 00:00:00
Invoking Larsson-Sadakane on ranks
Invoking Larsson-Sadakane on ranks time: 00:00:00
Sanity-checking and returning
Doing sanity check
Building samples
Reserving space for 12 sample suffixes
Generating random suffixes
QSorting 12 sample offsets, eliminating duplicates
Multikey QSorting 9 samples
(Using difference cover)
Multikey QSorting samples time: 00:00:00
QSorting sample offsets, eliminating duplicates time: 00:00:00
Calculating bucket sizes
Splitting and merging
Splitting and merging time: 00:00:00
Split 1, merged 4; iterating...
Splitting and merging
Splitting and merging time: 00:00:00
Avg bucket size: 3.14286 (target: 5)
Converting suffix-array elements to index image
Allocating ftab, absorbFtab
Entering Ebwt loop
Getting block 1 of 7
Reserving size (6) for bucket 1
Calculating Z arrays for bucket 1
Entering block accumulator loop for bucket 1:
bucket 1: 10%
bucket 1: 20%
bucket 1: 30%
bucket 1: 40%
bucket 1: 50%
bucket 1: 60%
bucket 1: 70%
bucket 1: 80%
bucket 1: 90%
bucket 1: 100%
Sorting block of length 3 for bucket 1
(Using difference cover)
Sorting block time: 00:00:00
Returning block of 4 for bucket 1
Getting block 2 of 7
Reserving size (6) for bucket 2
Calculating Z arrays for bucket 2
Entering block accumulator loop for bucket 2:
bucket 2: 10%
bucket 2: 20%
bucket 2: 30%
bucket 2: 40%
bucket 2: 50%
bucket 2: 60%
bucket 2: 70%
bucket 2: 80%
bucket 2: 90%
bucket 2: 100%
Sorting block of length 5 for bucket 2
(Using difference cover)
Sorting block time: 00:00:00
Returning block of 6 for bucket 2
Getting block 3 of 7
Reserving size (6) for bucket 3
Calculating Z arrays for bucket 3
Entering block accumulator loop for bucket 3:
bucket 3: 10%
bucket 3: 20%
bucket 3: 30%
bucket 3: 40%
bucket 3: 50%
bucket 3: 60%
bucket 3: 70%
bucket 3: 80%
bucket 3: 90%
bucket 3: 100%
Sorting block of length 3 for bucket 3
(Using difference cover)
Sorting block time: 00:00:00
Returning block of 4 for bucket 3
Getting block 4 of 7
Reserving size (6) for bucket 4
Calculating Z arrays for bucket 4
Entering block accumulator loop for bucket 4:
bucket 4: 10%
bucket 4: 20%
bucket 4: 30%
bucket 4: 40%
bucket 4: 50%
bucket 4: 60%
bucket 4: 70%
bucket 4: 80%
bucket 4: 90%
bucket 4: 100%
Sorting block of length 2 for bucket 4
(Using difference cover)
Sorting block time: 00:00:00
Returning block of 3 for bucket 4
Getting block 5 of 7
Reserving size (6) for bucket 5
Calculating Z arrays for bucket 5
Entering block accumulator loop for bucket 5:
bucket 5: 10%
bucket 5: 20%
bucket 5: 30%
bucket 5: 40%
bucket 5: 50%
bucket 5: 60%
bucket 5: 70%
bucket 5: 80%
bucket 5: 90%
bucket 5: 100%
Sorting block of length 3 for bucket 5
(Using difference cover)
Sorting block time: 00:00:00
Returning block of 4 for bucket 5
Getting block 6 of 7
Reserving size (6) for bucket 6
Calculating Z arrays for bucket 6
Entering block accumulator loop for bucket 6:
bucket 6: 10%
bucket 6: 20%
bucket 6: 30%
bucket 6: 40%
bucket 6: 50%
bucket 6: 60%
bucket 6: 70%
bucket 6: 80%
bucket 6: 90%
bucket 6: 100%
Sorting block of length 2 for bucket 6
(Using difference cover)
Sorting block time: 00:00:00
Returning block of 3 for bucket 6
Getting block 7 of 7
Reserving size (6) for bucket 7
Calculating Z arrays for bucket 7
Entering block accumulator loop for bucket 7:
bucket 7: 10%
bucket 7: 20%
bucket 7: 30%
bucket 7: 40%
bucket 7: 50%
bucket 7: 60%
bucket 7: 70%
bucket 7: 80%
bucket 7: 90%
bucket 7: 100%
Sorting block of length 4 for bucket 7
(Using difference cover)
Sorting block time: 00:00:00
Returning block of 5 for bucket 7
Exited Ebwt loop
fchr[A]: 0
fchr[C]: 7
fchr[G]: 13
fchr[T]: 21
fchr[$]: 28
Exiting Ebwt::buildToDisk()
Returning from initFromVector
Wrote 4194603 bytes to primary EBWT file: .tmp.1.ebwt
Index is corrupt: File size for .tmp.1.ebwt should have been 4194603 but is actually 0.
Wrote -1 bytes to secondary EBWT file: .tmp.2.ebwt
Please check if there is a problem with the disk or if disk is full.
Total time for call to driver() for forward index: 00:00:00
Command: bowtie-build --wrapper basic-0 --sanity test.fa .tmp
It seems that specifying
--debug --sanity
causesbowtie-build
to hang, or it least it does for every example I just tried, including simple examples. This seems to be the case in both themaster
andbug_fixes
branches.(hang)