]> git.donarmstrong.com Git - bamtools.git/log
bamtools.git
10 years agoadd debian files debian
Don Armstrong [Thu, 3 Apr 2014 21:34:22 +0000 (14:34 -0700)]
add debian files

10 years agoupdate cmake fixup
Don Armstrong [Thu, 3 Apr 2014 20:57:05 +0000 (13:57 -0700)]
update cmake fixup

10 years agomerge master 2.3.0
Don Armstrong [Thu, 3 Apr 2014 03:16:08 +0000 (20:16 -0700)]
merge master 2.3.0

10 years agoadd cmake_fixup
Don Armstrong [Thu, 3 Apr 2014 03:15:20 +0000 (20:15 -0700)]
add cmake_fixup

11 years agoFixed: regression in convert tool - SAM tags contained unreadable chars for int8...
Derek Barnett [Mon, 12 Nov 2012 04:11:57 +0000 (23:11 -0500)]
Fixed: regression in convert tool - SAM tags contained unreadable chars for int8/uint8 types

11 years agoMerge branch 'master' of https://github.com/pezmaster31/bamtools
Derek Barnett [Thu, 18 Oct 2012 16:28:01 +0000 (12:28 -0400)]
Merge branch 'master' of https://github.com/pezmaster31/bamtools

11 years agoVersion 2.2
Derek Barnett [Thu, 18 Oct 2012 16:24:20 +0000 (12:24 -0400)]
Version 2.2
 * Added support for running in NodeJS (fixed: piping issues)

11 years agoFixed: convert tool - improper unsigned char handling in tags
derek [Tue, 25 Sep 2012 17:02:54 +0000 (13:02 -0400)]
Fixed: convert tool - improper unsigned char handling in tags

11 years agoFixed: improper mode check in local I/O device
derek [Fri, 27 Jul 2012 14:44:51 +0000 (10:44 -0400)]
Fixed: improper mode check in local I/O device

11 years agoBug fix: error in index file creation when sorted BAM has empty
derek [Sat, 26 May 2012 01:43:32 +0000 (21:43 -0400)]
Bug fix: error in index file creation when sorted BAM has empty
references at end of file, followed by unaligned reads

12 years agoBrought Doxyfile's version number up to date
derek [Wed, 4 Apr 2012 22:34:50 +0000 (18:34 -0400)]
Brought Doxyfile's version number up to date

12 years agoMerge branch 'master' of github.com:pezmaster31/bamtools
derek [Wed, 4 Apr 2012 22:29:17 +0000 (18:29 -0400)]
Merge branch 'master' of github.com:pezmaster31/bamtools

12 years agoAdded proper handling for empty or ignored ("*") alignment fields:
derek [Wed, 4 Apr 2012 22:28:23 +0000 (18:28 -0400)]
Added proper handling for empty or ignored ("*") alignment fields:
QueryBases & Qualities

12 years agoMerge pull request #41 from tobiasmarschall/master
Derek Barnett [Wed, 4 Apr 2012 18:47:01 +0000 (11:47 -0700)]
Merge pull request #41 from tobiasmarschall/master

Include header sys/filio.h when compiling on SunOS.

12 years agoFixed: invalidated by-name sort order in some cases
derek [Wed, 4 Apr 2012 17:17:21 +0000 (13:17 -0400)]
Fixed: invalidated by-name sort order in some cases
 * due to (unintentional) member variable stored as reference

12 years agoInclude header sys/filio.h for SunOS. Otherwise TcpSocketEngine_unix_p.cpp does not...
Tobias Marschall [Tue, 27 Mar 2012 16:28:02 +0000 (18:28 +0200)]
Include header sys/filio.h for SunOS. Otherwise TcpSocketEngine_unix_p.cpp does not compile because FIONREAD is not found.

12 years agoFixed: sorting order lost during merge step of sort tool, if input BAM
derek [Tue, 27 Mar 2012 16:03:54 +0000 (12:03 -0400)]
Fixed: sorting order lost during merge step of sort tool, if input BAM
lacked SAM header
 * Due to lack of SO tag in temp files. This tag is set just fine on
input BAMs containing SAM headers. However, when an input file lacked
one, especially the (required) VN number, the entire @HD line was
dropped.
 * Forcing the current SAM version number, if none exists, on sort
output.

12 years agoMerge pull request #40 from tobiasmarschall/master
Derek Barnett [Mon, 26 Mar 2012 18:30:14 +0000 (11:30 -0700)]
Merge pull request #40 from tobiasmarschall/master

Fixed: uninitialized buffer in BamReaderPrivate::LoadNextAlignment

12 years agoMerge pull request #39 from leecbaker/master
Derek Barnett [Mon, 26 Mar 2012 18:05:12 +0000 (11:05 -0700)]
Merge pull request #39 from leecbaker/master

Fixed: comments are lost from header when copying a SamHeader

12 years agoFix uninitialized buffer in BamReaderPrivate::LoadNextAlignment
Tobias Marschall [Fri, 23 Mar 2012 10:04:33 +0000 (11:04 +0100)]
Fix uninitialized buffer in BamReaderPrivate::LoadNextAlignment

12 years agoFix: Comment lines in header get lost when copying a SamHeader object.
Lee Baker [Sun, 18 Mar 2012 07:00:47 +0000 (20:00 +1300)]
Fix: Comment lines in header get lost when copying a SamHeader object.

12 years agoFASTA reader - performance improvement for single-base fetching
derek [Fri, 9 Mar 2012 05:34:14 +0000 (00:34 -0500)]
FASTA reader - performance improvement for single-base fetching

12 years agoPileupEngine performance improvement for high coverage
derek [Fri, 9 Mar 2012 05:27:41 +0000 (00:27 -0500)]
PileupEngine performance improvement for high coverage

12 years agoPileupEngine bugfix
derek [Fri, 9 Mar 2012 05:05:24 +0000 (00:05 -0500)]
PileupEngine bugfix

12 years agoProvided initialization values for previously unspecified (potentially
derek [Thu, 23 Feb 2012 02:49:18 +0000 (21:49 -0500)]
Provided initialization values for previously unspecified (potentially
garbage) integer fields in default-constructed BamAlignments

12 years agoFixed: error in BamWriter metadata output on big-endian systems
derek [Mon, 13 Feb 2012 17:16:38 +0000 (12:16 -0500)]
Fixed: error in BamWriter metadata output on big-endian systems

12 years agoFixed regression: missing EOF empty block on BgzfStream::Close()
derek [Tue, 17 Jan 2012 16:47:13 +0000 (11:47 -0500)]
Fixed regression: missing EOF empty block on BgzfStream::Close()

12 years agoFixed: const-related typo in last commit
derek [Sat, 14 Jan 2012 03:43:45 +0000 (22:43 -0500)]
Fixed: const-related typo in last commit

12 years agoRemoved use of std::map::at() in HttpHeader, not a standard STL method
derek [Fri, 13 Jan 2012 17:06:22 +0000 (12:06 -0500)]
Removed use of std::map::at() in HttpHeader, not a standard STL method

12 years agoFixed: bad_alloc in socket buffer on some machines
derek [Thu, 5 Jan 2012 19:55:19 +0000 (14:55 -0500)]
Fixed: bad_alloc in socket buffer on some machines

12 years agoNonstandard, user-defined tags now allowed in SAM header text
derek [Thu, 8 Dec 2011 08:26:16 +0000 (03:26 -0500)]
Nonstandard, user-defined tags now allowed in SAM header text

12 years agoAdded support for custom reference prefix in split tool
derek [Thu, 8 Dec 2011 08:24:31 +0000 (03:24 -0500)]
Added support for custom reference prefix in split tool

12 years agoFixed: split tool crash when trying to split unmapped reads by reference
derek [Thu, 8 Dec 2011 08:14:17 +0000 (03:14 -0500)]
Fixed: split tool crash when trying to split unmapped reads by reference

12 years agoFixed: premature EOF issues & updated Windows implementation
derek [Thu, 8 Dec 2011 07:59:37 +0000 (02:59 -0500)]
Fixed: premature EOF issues & updated Windows implementation

12 years agoRolled back test suite code from master until it's ready for full merge
derek [Thu, 8 Dec 2011 05:35:02 +0000 (00:35 -0500)]
Rolled back test suite code from master until it's ready for full merge

12 years agoFixed EOF issues on *nix platforms
derek [Thu, 8 Dec 2011 05:26:10 +0000 (00:26 -0500)]
Fixed EOF issues on *nix platforms

12 years agoReorganized test suite source tree
derek [Tue, 29 Nov 2011 02:59:09 +0000 (21:59 -0500)]
Reorganized test suite source tree

12 years agoPost-merge cleanup
derek [Tue, 29 Nov 2011 00:09:58 +0000 (19:09 -0500)]
Post-merge cleanup

12 years agomerge with remoteio branch
derek [Mon, 28 Nov 2011 23:55:31 +0000 (18:55 -0500)]
merge with remoteio branch

12 years agoUpdated CMakeLists.txt files
derek [Mon, 28 Nov 2011 23:48:59 +0000 (18:48 -0500)]
Updated CMakeLists.txt files

12 years agoInitial test suite commit
derek [Mon, 28 Nov 2011 23:48:12 +0000 (18:48 -0500)]
Initial test suite commit

12 years agoBasic Windows implementation
derek [Thu, 17 Nov 2011 02:02:26 +0000 (21:02 -0500)]
Basic Windows implementation

12 years agoRemoved spurious assert
derek [Tue, 15 Nov 2011 03:20:54 +0000 (22:20 -0500)]
Removed spurious assert

12 years agoUpdated file headers (filename, license, description, etc)
derek [Thu, 10 Nov 2011 18:39:14 +0000 (13:39 -0500)]
Updated file headers (filename, license, description, etc)

12 years agoAdded generic I/O device to BamIndex side of things
derek [Thu, 10 Nov 2011 04:58:20 +0000 (23:58 -0500)]
Added generic I/O device to BamIndex side of things
 * Remote BAM access (now w/ random access) seems to be working with the
simple test cases so far
 * Major TODO: not yet implemented for Windows

12 years agoAdded FTP support (text-tested, not BAM)
derek [Wed, 9 Nov 2011 22:34:48 +0000 (17:34 -0500)]
Added FTP support (text-tested, not BAM)

12 years agoImplemented basic TCP support layer
derek [Mon, 7 Nov 2011 17:50:10 +0000 (12:50 -0500)]
Implemented basic TCP support layer
 * buffered I/O
 * design should support future expansion of protocols, proxies, etc
 * so far, HTTP range requests working well (on plain HTML text tests,
not yet BAM-tested)

12 years agoOrganized api/internal into subdirs
derek [Tue, 25 Oct 2011 16:33:54 +0000 (12:33 -0400)]
Organized api/internal into subdirs

12 years agoRemoved some debugging 'error string' messages that snuck into last
derek [Mon, 17 Oct 2011 19:55:12 +0000 (15:55 -0400)]
Removed some debugging 'error string' messages that snuck into last
commit

12 years agoRegression fixed: error in BamAlignment tag access methods
derek [Mon, 17 Oct 2011 03:30:34 +0000 (23:30 -0400)]
Regression fixed: error in BamAlignment tag access methods

12 years agoRemoved data duplication in last update to Sam*Dictionaries
derek [Sun, 16 Oct 2011 05:48:00 +0000 (01:48 -0400)]
Removed data duplication in last update to Sam*Dictionaries

12 years agoFixed regression: improper @SQ line ordering in SamHeader output
derek [Fri, 14 Oct 2011 16:42:15 +0000 (12:42 -0400)]
Fixed regression: improper @SQ line ordering in SamHeader output

12 years agoRegression fixed: wasn't properly merging from multiple BAMs
derek [Fri, 14 Oct 2011 05:14:30 +0000 (01:14 -0400)]
Regression fixed: wasn't properly merging from multiple BAMs

12 years agoMinor cleanup in FilterTool
derek [Fri, 14 Oct 2011 05:13:30 +0000 (01:13 -0400)]
Minor cleanup in FilterTool

12 years agoAdded GetSoftClips() method to BamAlignment
derek [Thu, 13 Oct 2011 14:03:22 +0000 (10:03 -0400)]
Added GetSoftClips() method to BamAlignment

12 years agoMajor speedup in SamSequenceDictionary & SamReadGroupDictionary classes
derek [Wed, 12 Oct 2011 20:30:59 +0000 (16:30 -0400)]
Major speedup in SamSequenceDictionary & SamReadGroupDictionary classes
 * Please note that this does introduce a minor source-incompatibility,
only affecting those working directly with the provided Sam*Iterator
typedefs. The short answer is that the iterator now references a
std::pair instead of the 'plain old' data. Use the pair's "second" field
to access the desired SamSequence or SamReadGroup.
 * Doxygen docs have been updated to reflect this and provide a bit more
explanation/examples (in docs folder run 'doxygen Doxyfile' to get the
updated API pages).

12 years agoCleanup in SortTool
derek [Tue, 11 Oct 2011 20:52:51 +0000 (16:52 -0400)]
Cleanup in SortTool
 * Now using the new BamTools::Algorithms::Sort function objects
 * Special handling of unmapped alignments should no longer be necessary
as the sorting function objects (also used by multi-reader merging
strategy) handles those cases.

12 years agoBug fix in BgzfStream I/O
derek [Tue, 11 Oct 2011 19:21:58 +0000 (15:21 -0400)]
Bug fix in BgzfStream I/O

12 years agoFixed typo
derek [Tue, 11 Oct 2011 17:34:13 +0000 (13:34 -0400)]
Fixed typo

12 years agoCleanup missed by earlier "includes cleanup" commit
derek [Tue, 11 Oct 2011 12:35:36 +0000 (08:35 -0400)]
Cleanup missed by earlier "includes cleanup" commit

12 years agoUpdated Doxyfile to reflect version 2.0.0
derek [Tue, 11 Oct 2011 05:09:35 +0000 (01:09 -0400)]
Updated Doxyfile to reflect version 2.0.0

12 years agoRemoved index cache mode
derek [Tue, 11 Oct 2011 04:04:54 +0000 (00:04 -0400)]
Removed index cache mode

12 years agoCleaned up intra-API includes & moved version numbers to 2.0.0
derek [Mon, 10 Oct 2011 22:29:53 +0000 (18:29 -0400)]
Cleaned up intra-API includes & moved version numbers to 2.0.0

12 years agoUpdated Doxygen comments
derek [Mon, 10 Oct 2011 21:26:46 +0000 (17:26 -0400)]
Updated Doxygen comments

12 years agoConverted intervals from 0-based, CLOSED to 0-based, HALF-OPEN
derek [Sun, 9 Oct 2011 03:47:07 +0000 (23:47 -0400)]
Converted intervals from 0-based, CLOSED to 0-based, HALF-OPEN

12 years agoCleaned up output/exception/asserts, etc after last merge
derek [Fri, 7 Oct 2011 22:19:09 +0000 (18:19 -0400)]
Cleaned up output/exception/asserts, etc after last merge

12 years agoMerge with earlier IODevice work
derek [Fri, 7 Oct 2011 20:11:43 +0000 (16:11 -0400)]
Merge with earlier IODevice work
 * This commit still has some console pollution. I need to work in the
recent Exception/ErrorString approach, but wanted to go ahead and do the
merge-conflict resolution now before diving into remote file support.

12 years agoRemoved STDERR pollution by API
derek [Fri, 7 Oct 2011 19:12:57 +0000 (15:12 -0400)]
Removed STDERR pollution by API
  * Accomplished this by introducing a GetErrorString() on most API
objects. When a method returns false, you can ignore it, parse the error
string to decide what to do next, prompt the user, make a sandwich,
whatever. But nothing should leak out to the console.
 * Internally the error messages are passed by a new BamException class.
This new exception should not cross the library boundary. The exception
should be caught "under the hood" and its what() string should be
(possibly formatted and) stored as the error string in one of the high-

12 years agoFirst stab at templated tag access in BamAlignment
derek [Tue, 4 Oct 2011 04:44:22 +0000 (00:44 -0400)]
First stab at templated tag access in BamAlignment
 * Seems to work OK, but will definitely need further testing to be sure

12 years agoRemoved duplicated method that snuck past a prior merge conflict resolution
derek [Tue, 4 Oct 2011 04:39:40 +0000 (00:39 -0400)]
Removed duplicated method that snuck past a prior merge conflict resolution

12 years agomerge conflict
derek [Mon, 3 Oct 2011 20:50:56 +0000 (16:50 -0400)]
merge conflict

12 years agoMultiReader (&MultiMerger) now using Algorithms::Sort objects
derek [Mon, 3 Oct 2011 20:33:44 +0000 (16:33 -0400)]
MultiReader (&MultiMerger) now using Algorithms::Sort objects

12 years agoInitial test run of new BamAlgorithms
derek [Fri, 30 Sep 2011 20:20:28 +0000 (16:20 -0400)]
Initial test run of new BamAlgorithms

12 years agoFix: unmapped reads now pushed to end of coordinate-sorted BAM
derek [Wed, 28 Sep 2011 16:26:25 +0000 (12:26 -0400)]
Fix: unmapped reads now pushed to end of coordinate-sorted BAM

12 years agoFixed typo in error messages
derek [Tue, 27 Sep 2011 15:46:40 +0000 (11:46 -0400)]
Fixed typo in error messages

12 years agoMerge pull request #16 from gabeiscoding/patch-2
Derek Barnett [Tue, 27 Sep 2011 04:10:59 +0000 (21:10 -0700)]
Merge pull request #16 from gabeiscoding/patch-2

Fixed: Crash in BamStandardIndex::GetOffset for small BAM files

12 years agoIn standard indexed BAM files with with sparce coverage (our test case was a roughly...
gabeiscoding [Fri, 23 Sep 2011 15:35:34 +0000 (09:35 -0600)]
In standard indexed BAM files with with sparce coverage (our test case was a roughly 1M read RNAseq BAM file), queries made to intervals may not have any of the candidate offesets present in the index as the BAM index only contains bins that have reads.

Without this bail out, we would get a crash. Returning false silently is the preferred behavior in our view as it allows our read logic to go to the next query and does not add noise to stderr.

12 years agoMerge branches 'master' and 'iodevice' into iodevice
derek [Sat, 10 Sep 2011 02:05:02 +0000 (22:05 -0400)]
Merge branches 'master' and 'iodevice' into iodevice

12 years agoMinor cleanup
derek [Sat, 10 Sep 2011 01:40:06 +0000 (21:40 -0400)]
Minor cleanup
 * Removed SourceForge URL from README
 * Removed phrase "All rights reserved." from all files

12 years agoRemoved unnecessary peek-and-rewind behavior in BamMultiReader
derek [Fri, 9 Sep 2011 22:49:44 +0000 (18:49 -0400)]
Removed unnecessary peek-and-rewind behavior in BamMultiReader
 * Fixes some piping issues

12 years agoRemoved 'core mode' concept from BamMultiReader internals
derek [Fri, 9 Sep 2011 22:32:44 +0000 (18:32 -0400)]
Removed 'core mode' concept from BamMultiReader internals
 * Now char data is only generated if needed by multi-merger
implementation or on-demand by client call to
BamMultiReader::GetNextAlignment()

12 years agoRefactored shared pipe/file behavior into ILocalIODevice
derek [Fri, 9 Sep 2011 19:09:53 +0000 (15:09 -0400)]
Refactored shared pipe/file behavior into ILocalIODevice

12 years agoMerge branches 'master' and 'iodevice' into iodevice
derek [Fri, 9 Sep 2011 16:07:31 +0000 (12:07 -0400)]
Merge branches 'master' and 'iodevice' into iodevice

12 years agoBasic internal implementation of BamFile & BamPipe
derek [Fri, 9 Sep 2011 16:02:06 +0000 (12:02 -0400)]
Basic internal implementation of BamFile & BamPipe
 * BgzfStream now working on IBamIODevice instead of FILE*
 * BamReaderPrivate now queries stream's IsOpen() method instead of
touching member variable directly
 * Empty implementations of BamHttp & BamFtp
 * Added global BT_ASSERT_X macro for convenience

12 years agoMerge pull request #15 from gabeiscoding/patch-1
Derek Barnett [Thu, 8 Sep 2011 20:59:09 +0000 (13:59 -0700)]
Merge pull request #15 from gabeiscoding/patch-1

Bug discovered. The chunkStop was not being read from the correct offset

12 years agoBug discovered. The chunkStop was not being read from the correct offset (rather...
gabeiscoding [Thu, 8 Sep 2011 13:32:48 +0000 (07:32 -0600)]
Bug discovered. The chunkStop was not being read from the correct offset (rather always being read as the first chunkStart value for the # alignment chunks in that bin of the index.

The result of this is that chunkStop will never be >= minOffset (or maybe rarely, since it always equals the first chunkStart for the first chunk) and thus the linear index doesn't really help in reducing the number of seeks performed.

12 years agoAdded empty IBamIODevice.h
derek [Wed, 7 Sep 2011 17:54:30 +0000 (13:54 -0400)]
Added empty IBamIODevice.h

12 years agoAdded support for "-" as indicator for stdin/stdout
derek [Fri, 2 Sep 2011 17:01:43 +0000 (13:01 -0400)]
Added support for "-" as indicator for stdin/stdout
* Thanks to Aaron Quinlan for suggestion

12 years agoAdded "isSingleton" property to filter tool
derek [Fri, 2 Sep 2011 16:35:54 +0000 (12:35 -0400)]
Added "isSingleton" property to filter tool

12 years agoImplemented binary search through bins in BAI
derek [Wed, 27 Jul 2011 15:34:41 +0000 (11:34 -0400)]
Implemented binary search through bins in BAI

12 years agoAdded a -minMQ (minimum map quality) option to ResolveTool
derek [Wed, 6 Jul 2011 16:24:00 +0000 (12:24 -0400)]
Added a -minMQ (minimum map quality) option to ResolveTool

12 years agoMerge pull request #13 from alecchap/master
Derek Barnett [Tue, 28 Jun 2011 16:37:30 +0000 (09:37 -0700)]
Merge pull request #13 from alecchap/master

Fixes for Visual Studio

12 years agoAdded unique-alignment checks for ResolveTool
derek [Tue, 28 Jun 2011 16:31:25 +0000 (12:31 -0400)]
Added unique-alignment checks for ResolveTool
 * Unique-ness determined by comparing MapQuality to 0
 * Only pairs with both mates unique are used for the 'makeStats' median
fragment size calculation.

12 years agoFix Visual Studio compiler errors.
Alec Chapman [Tue, 28 Jun 2011 01:58:30 +0000 (21:58 -0400)]
Fix Visual Studio compiler errors.

Don't use dynamic stack allocation (variable length arrays).
Rename bamtools target to bamtools_cmd to not conflict with BamTools target (they differ only in case).
bamtools_cmd only compiles if I remove bamtools_filter.cpp, which I haven't committed.
I also had to manually configure the include directory for zlib,
but that's probably due to having multiple copies floating around my machine.

12 years agoFixed -fPIC issue for CentOS users.
derek [Thu, 23 Jun 2011 19:35:35 +0000 (15:35 -0400)]
Fixed -fPIC issue for CentOS users.

 * Forced compiler flag that was not being automatically set by CMake on
that OS. Had previously set this on API library. Got feedback that it
worked there, so I added the flag to Utils & JsonCPP libs as well.

12 years agoRemoved pessimistic warnings when jumping to regions with no data, using
derek [Fri, 17 Jun 2011 04:09:49 +0000 (00:09 -0400)]
Removed pessimistic warnings when jumping to regions with no data, using
the standard index format (not actually an error case, so no need to
alarm users with scary messages)

12 years agoAdded re-calculation of BamAlignment's BinID during
derek [Fri, 17 Jun 2011 02:13:26 +0000 (22:13 -0400)]
Added re-calculation of BamAlignment's BinID during
BamWriter::SaveAlignment() in all cases

 * Previously, the bin IDs of purely "core-only" alignments were simply
written directly out to output BAM. However, in cases where alignment
Position is changed (re-alignment), the original bin ID may no longer be
correct.

12 years agoImplemented better coupling of unmapped reads with mates during sorting
derek [Tue, 14 Jun 2011 17:41:56 +0000 (13:41 -0400)]
Implemented better coupling of unmapped reads with mates during sorting
(assuming assigned same coordinates)
 * Used std::stable_sort instead of std::sort, to preserve order
 * Add checks at buffer boundary to keep mates from being split into
different temp files. This makes the buffer boundary "softer", but in
practice, shouldn't differ much if at all.

12 years agoFurther fixes for ISIZE-handling in ResolveTool
derek [Tue, 14 Jun 2011 17:16:36 +0000 (13:16 -0400)]
Further fixes for ISIZE-handling in ResolveTool

12 years agoFixed some signed/unsigned InsertSize bugs in ResolveTool
derek [Mon, 13 Jun 2011 19:37:36 +0000 (15:37 -0400)]
Fixed some signed/unsigned InsertSize bugs in ResolveTool