Commit Graph

33 Commits (main)

Author SHA1 Message Date
zzh 40544d02fe 在gz_read部分加了异步读取 2025-01-13 20:24:20 +08:00
zzh 364ee9756e 添加了共享内存支持,成功构建ert索引 2024-08-03 17:26:32 +08:00
zzh 8c2a90e3e2 修改了双线程解压读写fastq.gz的bug,修改了一些测试代码 2024-06-24 18:11:54 +08:00
zzh 20e072f6af 所有代码都合并了,还差一点建立索引的时候,一起都建立了 2024-04-02 07:42:37 +08:00
zzh dd03596997 加入了获取reads和extension数据的代码 2024-03-27 23:47:39 +08:00
zzh 1e3965cb7d 添加了可同时读写的pipeline,优化了时间统计 2024-03-24 04:40:09 +08:00
zzh d728ddbe2c 解决了bsw上边界同样的问题,解决了seed3的一个bug 2024-03-23 03:23:05 +08:00
zzh 856a0e0c01 改成了batch模式,对na12878有效果 2024-03-09 11:39:40 +08:00
zzh 7d085962a2 开始改成sbwa那种batch模式 2024-03-07 18:23:21 +08:00
zzh 6e1dd08fb6 将seed和extend部分修改成了batch模式,好像没啥效果 2024-02-23 01:09:08 +08:00
zzh 4bd0fd4f91 做了一些代码清理,目前结果应该是完全一致的 2024-02-22 01:26:57 +08:00
zzh fc2e0d9b0b 实现了seed过程的所有加速想法,seed部分实现了3倍左右加速比 2024-02-20 01:12:02 +08:00
zzh 5d8ace386f seed1和seed2结果都正确 2024-02-13 13:37:07 +08:00
zzh d41b8da061 kmer长度变为14,结果正确 2024-02-12 20:54:57 +08:00
zzh 463f7da138 将smem1函数用fmt结构实现了,结果基本正确 2024-02-07 22:08:51 +08:00
zzh bf678f4dae 实现了用33bit表示sa,间隔为4,释放内存的时候会崩溃 2023-12-27 10:42:12 +08:00
zzh c981585fd2 添加了运行时间计算代码,用来分析性能 2023-12-25 13:58:15 +08:00
Heng Li d422bdbed9 debug flag to measure memory 2021-02-22 23:26:03 -05:00
Heng Li 02a9add042 added MIT license to some non-GPL source files 2020-07-01 23:02:01 -04:00
Heng Li 1e611b235c r810: add err_puts()
puts() adds '\n', but fputs() does not.
2014-08-26 11:07:24 -04:00
Rob Davies 96e445d9e4 Reduce dependency on utils.h - new malloc wrapping scheme.
Remove xmalloc, xcalloc, xrealloc and xstrdup from utils.h and revert calls
to the normal malloc, calloc, realloc, strdup.  Add new files malloc_wrap.[ch]
with the wrapper functions.  malloc_wrap.h #defines malloc etc. to the
wrapper, but only if USE_MALLOC_WRAPPERS has been defined.

Put #include "malloc_wrap.h" in any file that uses *alloc or strdup.  This
is also in a #ifdef USE_MALLOC_WRAPPERS ... #endif block to make using the
wrappers optional.  Add -DUSE_MALLOC_WRAPPERS into the makefile so they
should normally get added.

This is an improvement on the previous method as we now don't need to
worry about stray function calls that were not changed to the wrapped version
and the code will still work even if the wrapping is disabled.

Other possible methods of doing this are using malloc_hook (glibc-specific),
adding -include malloc_wrap.h to the gcc command-line (somewhat
gcc-specific) or making our own malloc function and using dlopen (scary).
This way is probably the most portable.
2013-05-02 15:12:01 +01:00
Rob Davies 3d33ab063e Merge branch 'master' into master_fixes
Merged to master version b621d3a

Conflicts:
	Makefile
	bntseq.c
	bwa.c
	bwase.c
	bwaseqio.c
	bwtaln.c
	bwtindex.c
	bwtio.c
	bwtmisc.c
	bwtsw2_aux.c
	cs2nt.c
	fastmap.c
	khash.h
	kseq.h
	ksw.c
	kvec.h
	simple_dp.c
	utils.c
	utils.h
2013-03-01 09:37:46 +00:00
Heng Li e613195e17 moved some common code to bwa.{c,h} 2013-02-23 15:30:46 -05:00
Heng Li 2fc469d0c9 code backup 2013-02-12 12:09:36 -05:00
Heng Li 95d18449b3 merge bseq.{h,c} to utils.{h,c}
I do not like many small files.
2013-02-12 10:36:15 -05:00
Heng Li e5ab59db53 Multiple changes:
1. Removed bwa.{h,c}. I am not going to finish them anyway.
2. Updated to the latest khash.h, which should be faster.
3. Define 64-bit vector and 128-bit integer/vector in utils.h.
2013-02-12 09:50:28 -05:00
Rob Davies 4f4e998d7f Added wrappers for fputc and fputs; more efficient sequence printing
Added wrappers err_fputc and err_fputs to catch failures in fput and fputs.
Macros err_putchar and err_puts call the new wrappers and can be used in
place of putchar and puts.

To avoid having to make millions of function calls when printing out
sequences, the code to print them in bwa_print_sam1 using putchar has
been replaced by a new version in bwa_print_seq that puts the sequence
into a buffer and then outputs the lot with err_fwrite.  In testing, the
new code was slightly faster than the old version, with the added benefit
that it will stop promptly if IO problems are detected.
2013-01-09 14:43:36 +00:00
Rob Davies 55f1b36534 New wrapper for gzclose; added err_fflush calls and made it call fsync too.
Added a new utils.c wrapper err_gzclose and changed gzclose calls to use it.

Put in some more err_fflush calls before files being written are closed.

Made err_fflush call fsync.  This is useful for remote filesystems where
errors may not be reported on fflush or fclose as problems at the server
end may only be detected after they have returned.  If bwa is being used
only to write to local filesystems, calling fsync is not really necessary.
To disable it, comment out #define FSYNC_ON_FLUSH in utils.c.
2013-01-03 16:57:37 +00:00
Rob Davies 752ce69b78 Added more wrappers for functions that make system calls
Added the following wrappers that check the results of system calls
and exit non-zero if something went wrong.  This is so bwa can be more
robust against system failures (e.g. IO errors from remote storage, or
running out of memory).  The existing and new wrappers have also been
modified so that they no longer try to dump core on failure.  In most cases
the resulting core files are not useful (especially if bwa was compiled
with optimization turned on) so just pollute whatever directories they
got written to.

Wrappers for memory allocation functions:

xcalloc
xmalloc
xrealloc
xstrdup

New wrappers for IO functions:

err_fread_noeof   (also dies on EOF)
err_gzread
err_fseek
err_rewind
err_ftell
2012-12-16 10:05:32 +00:00
Heng Li 8060693411 multithreading works again 2011-11-12 16:50:58 -05:00
Heng Li 243e735431 applied patches from Alec Wysoker 2011-05-04 09:46:50 -04:00
Heng Li 5e30884730 Update to the latest modfication 0.5.9rc1-2. Update ChangeLog 2011-01-13 20:54:10 -05:00
Heng Li 007c3eb75d Imported from my local bwa repository, the master repository. 2011-01-13 20:52:12 -05:00