ruanjue / wtdbg2

Redbean: A fuzzy Bruijn graph approach to long noisy reads assembly
GNU General Public License v3.0
513 stars 94 forks source link

Segmentation fault #58

Closed bitcometz closed 5 years ago

bitcometz commented 5 years ago

Hello,

I used kbm2 to do the alignment and then got Segmentation fault quickly . But I used wtdbg2 with the same data and it was ok. So is there something wrong with kbm2?

1: ./20190107/wtdbg2/kbm2 -i ./reads.2.fa -fo test

-- total memory 131861660.0 kB -- available 121149056.0 kB -- 32 cores -- Starting program: /20190107/wtdbg2/kbm2 -i ./reads.2.fa -fo test -- pid 23732 -- date Mon Jan 7 16:55:47 2019

[Mon Jan 7 16:55:47 2019] loading sequences Segmentation fault

2: ./20190107/wtdbg2/wtdbg2 -i /reads.2.fa -fo test

-- total memory 131861660.0 kB -- available 121256172.0 kB -- 32 cores -- Starting program: ./20190107/wtdbg2/wtdbg2 -i ./reads.2.fa -fo test -- pid 23280 -- date Mon Jan 7 16:55:34 2019

[Mon Jan 7 16:55:34 2019] loading reads 40000

ruanjue commented 5 years ago

https://github.com/ruanjue/wtdbg2/commit/0fef0c24f1e949b0ab0acdcdb543ebad588573f7 fixed.

bitcometz commented 5 years ago

Thanks! But, it works well, but if I add -r 0.25, I still get Segmentation fault

bitcometz commented 5 years ago

And another problem:

kbm2 -K 200 -n 200 -x -6 -y -19 -X 6 -Y 6 -Z 0.63 -m 400 -p 0 -k 15 -S 2 -t 10 -i ./reads.1.fa -d ./reads.2.fa -fo ./reads.kbmap.1.2

And the end of file (./reads.kbmap.1.2), there are more than 1000 lines which have NULL values:

(null) + 0 0 14592 159086_31770 + 31744 18176 31744 822 13568 113 22 4Mi2M2mMIDi2Mm3M2mMiMm3M3m5MmM2mMI3MDIMDI3mM3mMmM (null) + 0 14848 23808 113636_17024 + 16896 3072 12288 735 8960 113 9 2MID2M2m2MmMmMm7Mm2MDMIDID3M3m2M (null) - 0 15360 23808 151540_18349 + 18176 9472 17408 649 7936 91 10 Mm2MIDm2MIDIDIMmMm2MDIMmM2m3MDimMm2MI (null) - 0 0 7168 200031_15791 + 15616 1536 8448 630 6912 90 7 5M2m2MIdmMIDIDIDI2MDIMmMmMi2MDM (null) + 0 7168 20736 164871_13975 + 13824 0 12800 1523 12800 268 14 MI2Mm2MDI2MDIi2mMm5MID2M2m3MIDMIDIDIDIDIDimMmMDIDIDIMDi2m3MmM (null) - 0 256 12800 200627_18603 + 18432 0 12288 1379 12288 209 10 2MIDID2MIDImMIDMIDMIDIMmMD2MID2MIMDIDIDIMDIDMmMim2M2mMD2MId2mMIDM (null) + 0 256 10240 167414_38677 + 38656 28160 38144 1162 9984 172 9 2MIDm3MIDIDIdmMIdMIDIm2MDiMm2Mm3MDIDIMDi5MDIDID (null) + 0 13568 20736 128718_10995 + 10752 256 7936 860 7168 140 4 3MmMd3MID2MmMID5MDIDIDI2MDIDIDmM (null) - 0 8704 15616 169605_11386 + 11264 0 6656 620 6656 104 10 8M3m2MIDIDIDMi4mMIdmMID (null) - 0 11520 20736 155307_32776 + 32768 10496 20480 551 9216 83 18 M2mMm2MDi2MdM2mMmM2m3Md2m4MmMmMdM2m2M

Thanks!

ruanjue commented 5 years ago

https://github.com/ruanjue/wtdbg2/commit/0661e580c7a663e9202c6bcd809e316839544575 Fixed the problem of printing read name. About the segfault when -r 0.25, I am not sure what happened.

bitcometz commented 5 years ago

Thanks! About the -r option, here are some examples:

$./kbm2 -h Program: kbm is a simple instance which implemented kmer-binmap it maps query sequence against reference by kmer matching matched kmer-pairs are bined (256bp) and counted in a matrix dynamic programming is used to search the best path Version: 2.3 (20181206) Author: Jue Ruan ruanjue@gmail.com Usage: kbm [start|list|stop] ....

$./kbm2 -Z ./kbm2: option requires an argument -- 'Z' Program: kbm is a simple instance which implemented kmer-binmap it maps query sequence against reference by kmer matching matched kmer-pairs are bined (256bp) and counted in a matrix dynamic programming is used to search the best path Version: 2.3 (20181206) Author: Jue Ruan ruanjue@gmail.com Usage: kbm [start|list|stop] ....

$./kbm2 -r Segmentation fault

Thanks!

ruanjue commented 5 years ago

Thanks, it was fixed now.