Loading .clang-format 0 → 100644 +13 −0 Original line number Diff line number Diff line BasedOnStyle: Google BreakBeforeBraces: Mozilla AllowShortLoopsOnASingleLine: false AccessModifierOffset: -4 BreakConstructorInitializersBeforeComma: true ColumnLimit: 100 IndentWidth: 4 PointerAlignment: Left TabWidth: 4 ReflowComments: false # protect ASCII art in comments KeepEmptyLinesAtTheStartOfBlocks: true .gitignore +3 −0 Original line number Diff line number Diff line Loading @@ -14,3 +14,6 @@ tests/bin/test_pbbam tests/data/test_group_query/group.fofn tests/src/TestData.h # Meson WrapDB stuff subprojects/packagecache/ subprojects/googletest* .travis.yml +0 −3 Original line number Diff line number Diff line Loading @@ -34,9 +34,6 @@ before_install: # prep zlib - sudo apt-get install -y -qq zlib1g-dev # prep htslib - "cd .. && git clone https://github.com/PacificBiosciences/htslib.git && cd htslib && make && sudo make install; cd $TRAVIS_BUILD_DIR" # prep GoogleTest - sudo apt-get install -y -qq libgtest-dev Loading CHANGELOG.md +115 −0 Original line number Diff line number Diff line Loading @@ -10,8 +10,123 @@ guarantees will be maintained within each major version series. ## Active ## [0.17.0] - 2018-03-18 ### Added - CompressionLevel/NumThreads parameter implementation to PbiBuilder. - Dataset ctor to PbiFileQuery. - TranscriptSet to XML support. - Auto-enabled "permissive CIGAR mode" for pbbamify tool. - IndexedBamWriter, for more efficient writing of BAM & PBI simultaneously. ## [0.16.0] - 2018-01-17 ### Removed - Removed the PbiIndex class and its "lookup data"-related helpers. These were never as useful as initially intended. PbiRawData and its related classes are the recommended interface for working with PBI index data. ## [0.15.0] - 2018-01-12 ### Added - Support for long CIGARs (>64K operations). ## [0.14.0] - 2017-12-12 ### Added - Support for newer style QNAMEs. Recent version of htslib (1.4+) have started adding extra null terminators to make the subsequent CIGAR section 32-bit aligned. ### Changed - Requirements for htslib version used. Must now be htslib v1.4+. ## [0.13.2] - 2017-09-25 ### Added - Backward compatibility for C++11 (std::make_unique which is 11/14 agnostic). ## [0.13.1] - 2017-09-25 ### Added - Support for "pe" tag in stitched, virtual reads. ## [0.13.0] - 2017-09-25 ### Changed - Ran clang-tidy (modernize) over codebase to clean up legacy coding styles. ## [0.12.2] - 2017-09-22 ### Added - HasPulseExclusion() to BamRecord (& derived types). ## [0.12.1] - 2017-09-21 ### Added - Pulse exclusion base feature to read group. ## [0.12.0] - 2017-09-19 ### Added - NumReads() for PBI filter-based queries. This allows fetching of the number of reads that pass the filter, without needing to iterate over the entire file(s). ## [0.11.0] - 2017-09-15 ### Added - Support for internal tag: pulse exclusion reason ("pe"). New methods on BamRecord, and new enum PulseExclusionReason. ### Changed - Default PacBioBAM format version now 3.0.5 ## [0.10.2] - 2017-09-14 ### Changed - Explicitly trim all whitespace from FASTA input. ## [0.10.1] - 2017-09-11 ### Changed - Frames, add mutex to avoid race condition in InitIpdDownsampling(void) ## [0.10.0] - 2017-09-08 ### Changed - PbiBuilder backend for generating PBI index files "on-the-fly" along with writing BAM files. The previous implementation's memory usage scaled linearly with the number of reads, sometimes reaching huge numbers (several gigs or more). The new implementation's memory usage remains constant for any number of reads, without any runtime hit on files/architectures tested. ### Removed - PbiBuilder::Result(). Returned an intermediate snapshot of the index under construction. This method isn't usable with the new PbiBuilder backend and was really only useful for initial debugging/testing. It is no longer used in the test framework and is unlikely to be used by client code either. Dropping this method from the API, and thus bumping the version number. ## [0.9.0] - 2017-08-07 ### Removed - Bundled htslib. Now using 'stock' htslib (v1.3.1+). - Built-in SWIG wrappers. ## [0.8.0] - 2017-07-24 ### Added - Default DataSet 'Version' attribute if none already present (currently 4.0.0) - Added whitelist support for filtering ZMWs via DataSetXML. - Added iterable query over FASTA files & ReferenceSet datasets. - Added DataSet::AllFiles to access primary resources AND their child files (indices, scraps, etc). ### Fixed - Bug in the build system preventing clean rebuilds. ### Removed - Dropped the bundled, PacBio-forked version of htslib. Now using stock htslib (v1.3.1+). ## [0.7.4] - 2016-11-18 Loading CMakeLists.txt +8 −15 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ ######################################################################## cmake_policy(SET CMP0048 NEW) # lets us set version in project() project(PacBioBAM VERSION 0.7.4 LANGUAGES CXX C) project(PacBioBAM VERSION 0.17.0 LANGUAGES CXX C) cmake_minimum_required(VERSION 3.0) # project name & version Loading @@ -17,39 +17,32 @@ option(PacBioBAM_build_docs "Build PacBioBAM's API documentation." option(PacBioBAM_build_tests "Build PacBioBAM's unit tests." ON) option(PacBioBAM_build_shared "Build PacBioBAM as shared library as well." OFF) option(PacBioBAM_build_tools "Build PacBioBAM command line utilities (e.g. pbindex)" ON) option(PacBioBAM_wrap_csharp "Build PacBioBAM with SWIG bindings for C#." OFF) option(PacBioBAM_wrap_python "Build PacBioBAM with SWIG bindings for Python." OFF) option(PacBioBAM_wrap_r "Build PacBioBAM with SWIG bindings for R." OFF) option(PacBioBAM_use_modbuild "Build PacBioBAM using Modular Build System." OFF) option(PacBioBAM_use_ccache "Build PacBioBAM using ccache, if available." ON) option(PacBioBAM_auto_validate "Build PacBioBAM with auto-validation enabled." OFF) if (PacBioBAM_wrap_csharp OR PacBioBAM_wrap_r OR PacBioBAM_wrap_python) set(wrapping_swig TRUE) else() set(wrapping_swig FALSE) endif() if(PacBioBAM_build_tests) enable_testing() endif() set(PacBioBAM_permissive_cigar OFF) STRING(TOLOWER "${PBBAM_PERMISSIVE_CIGAR}" PBBAM_PERMISSIVE_CIGAR_LOWER) if (DEFINED PBBAM_PERMISSIVE_CIGAR) set(PacBioBAM_permissive_cigar ON) add_definitions(-DPBBAM_PERMISSIVE_CIGAR) endif() # project paths set(PacBioBAM_RootDir ${CMAKE_CURRENT_LIST_DIR}) set(PacBioBAM_DocsDir ${PacBioBAM_RootDir}/docs) set(PacBioBAM_IncludeDir ${PacBioBAM_RootDir}/include) set(PacBioBAM_SourceDir ${PacBioBAM_RootDir}/src) set(PacBioBAM_SwigSourceDir ${PacBioBAM_RootDir}/src/swig) set(PacBioBAM_TestsDir ${PacBioBAM_RootDir}/tests) set(PacBioBAM_ThirdPartyDir ${PacBioBAM_RootDir}/third-party) set(PacBioBAM_ToolsDir ${PacBioBAM_RootDir}/tools) if(NOT PacBioBAM_OutputDir) set(PacBioBAM_OutputDir ${CMAKE_CURRENT_BINARY_DIR}) else() if(${wrapping_swig}) message(FATAL_ERROR "SWIG bindings not currently supported in modular build.") endif() endif() set(PacBioBAM_BinDir ${PacBioBAM_OutputDir}/bin) set(PacBioBAM_LibDir ${PacBioBAM_OutputDir}/lib) Loading Loading
.clang-format 0 → 100644 +13 −0 Original line number Diff line number Diff line BasedOnStyle: Google BreakBeforeBraces: Mozilla AllowShortLoopsOnASingleLine: false AccessModifierOffset: -4 BreakConstructorInitializersBeforeComma: true ColumnLimit: 100 IndentWidth: 4 PointerAlignment: Left TabWidth: 4 ReflowComments: false # protect ASCII art in comments KeepEmptyLinesAtTheStartOfBlocks: true
.gitignore +3 −0 Original line number Diff line number Diff line Loading @@ -14,3 +14,6 @@ tests/bin/test_pbbam tests/data/test_group_query/group.fofn tests/src/TestData.h # Meson WrapDB stuff subprojects/packagecache/ subprojects/googletest*
.travis.yml +0 −3 Original line number Diff line number Diff line Loading @@ -34,9 +34,6 @@ before_install: # prep zlib - sudo apt-get install -y -qq zlib1g-dev # prep htslib - "cd .. && git clone https://github.com/PacificBiosciences/htslib.git && cd htslib && make && sudo make install; cd $TRAVIS_BUILD_DIR" # prep GoogleTest - sudo apt-get install -y -qq libgtest-dev Loading
CHANGELOG.md +115 −0 Original line number Diff line number Diff line Loading @@ -10,8 +10,123 @@ guarantees will be maintained within each major version series. ## Active ## [0.17.0] - 2018-03-18 ### Added - CompressionLevel/NumThreads parameter implementation to PbiBuilder. - Dataset ctor to PbiFileQuery. - TranscriptSet to XML support. - Auto-enabled "permissive CIGAR mode" for pbbamify tool. - IndexedBamWriter, for more efficient writing of BAM & PBI simultaneously. ## [0.16.0] - 2018-01-17 ### Removed - Removed the PbiIndex class and its "lookup data"-related helpers. These were never as useful as initially intended. PbiRawData and its related classes are the recommended interface for working with PBI index data. ## [0.15.0] - 2018-01-12 ### Added - Support for long CIGARs (>64K operations). ## [0.14.0] - 2017-12-12 ### Added - Support for newer style QNAMEs. Recent version of htslib (1.4+) have started adding extra null terminators to make the subsequent CIGAR section 32-bit aligned. ### Changed - Requirements for htslib version used. Must now be htslib v1.4+. ## [0.13.2] - 2017-09-25 ### Added - Backward compatibility for C++11 (std::make_unique which is 11/14 agnostic). ## [0.13.1] - 2017-09-25 ### Added - Support for "pe" tag in stitched, virtual reads. ## [0.13.0] - 2017-09-25 ### Changed - Ran clang-tidy (modernize) over codebase to clean up legacy coding styles. ## [0.12.2] - 2017-09-22 ### Added - HasPulseExclusion() to BamRecord (& derived types). ## [0.12.1] - 2017-09-21 ### Added - Pulse exclusion base feature to read group. ## [0.12.0] - 2017-09-19 ### Added - NumReads() for PBI filter-based queries. This allows fetching of the number of reads that pass the filter, without needing to iterate over the entire file(s). ## [0.11.0] - 2017-09-15 ### Added - Support for internal tag: pulse exclusion reason ("pe"). New methods on BamRecord, and new enum PulseExclusionReason. ### Changed - Default PacBioBAM format version now 3.0.5 ## [0.10.2] - 2017-09-14 ### Changed - Explicitly trim all whitespace from FASTA input. ## [0.10.1] - 2017-09-11 ### Changed - Frames, add mutex to avoid race condition in InitIpdDownsampling(void) ## [0.10.0] - 2017-09-08 ### Changed - PbiBuilder backend for generating PBI index files "on-the-fly" along with writing BAM files. The previous implementation's memory usage scaled linearly with the number of reads, sometimes reaching huge numbers (several gigs or more). The new implementation's memory usage remains constant for any number of reads, without any runtime hit on files/architectures tested. ### Removed - PbiBuilder::Result(). Returned an intermediate snapshot of the index under construction. This method isn't usable with the new PbiBuilder backend and was really only useful for initial debugging/testing. It is no longer used in the test framework and is unlikely to be used by client code either. Dropping this method from the API, and thus bumping the version number. ## [0.9.0] - 2017-08-07 ### Removed - Bundled htslib. Now using 'stock' htslib (v1.3.1+). - Built-in SWIG wrappers. ## [0.8.0] - 2017-07-24 ### Added - Default DataSet 'Version' attribute if none already present (currently 4.0.0) - Added whitelist support for filtering ZMWs via DataSetXML. - Added iterable query over FASTA files & ReferenceSet datasets. - Added DataSet::AllFiles to access primary resources AND their child files (indices, scraps, etc). ### Fixed - Bug in the build system preventing clean rebuilds. ### Removed - Dropped the bundled, PacBio-forked version of htslib. Now using stock htslib (v1.3.1+). ## [0.7.4] - 2016-11-18 Loading
CMakeLists.txt +8 −15 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ ######################################################################## cmake_policy(SET CMP0048 NEW) # lets us set version in project() project(PacBioBAM VERSION 0.7.4 LANGUAGES CXX C) project(PacBioBAM VERSION 0.17.0 LANGUAGES CXX C) cmake_minimum_required(VERSION 3.0) # project name & version Loading @@ -17,39 +17,32 @@ option(PacBioBAM_build_docs "Build PacBioBAM's API documentation." option(PacBioBAM_build_tests "Build PacBioBAM's unit tests." ON) option(PacBioBAM_build_shared "Build PacBioBAM as shared library as well." OFF) option(PacBioBAM_build_tools "Build PacBioBAM command line utilities (e.g. pbindex)" ON) option(PacBioBAM_wrap_csharp "Build PacBioBAM with SWIG bindings for C#." OFF) option(PacBioBAM_wrap_python "Build PacBioBAM with SWIG bindings for Python." OFF) option(PacBioBAM_wrap_r "Build PacBioBAM with SWIG bindings for R." OFF) option(PacBioBAM_use_modbuild "Build PacBioBAM using Modular Build System." OFF) option(PacBioBAM_use_ccache "Build PacBioBAM using ccache, if available." ON) option(PacBioBAM_auto_validate "Build PacBioBAM with auto-validation enabled." OFF) if (PacBioBAM_wrap_csharp OR PacBioBAM_wrap_r OR PacBioBAM_wrap_python) set(wrapping_swig TRUE) else() set(wrapping_swig FALSE) endif() if(PacBioBAM_build_tests) enable_testing() endif() set(PacBioBAM_permissive_cigar OFF) STRING(TOLOWER "${PBBAM_PERMISSIVE_CIGAR}" PBBAM_PERMISSIVE_CIGAR_LOWER) if (DEFINED PBBAM_PERMISSIVE_CIGAR) set(PacBioBAM_permissive_cigar ON) add_definitions(-DPBBAM_PERMISSIVE_CIGAR) endif() # project paths set(PacBioBAM_RootDir ${CMAKE_CURRENT_LIST_DIR}) set(PacBioBAM_DocsDir ${PacBioBAM_RootDir}/docs) set(PacBioBAM_IncludeDir ${PacBioBAM_RootDir}/include) set(PacBioBAM_SourceDir ${PacBioBAM_RootDir}/src) set(PacBioBAM_SwigSourceDir ${PacBioBAM_RootDir}/src/swig) set(PacBioBAM_TestsDir ${PacBioBAM_RootDir}/tests) set(PacBioBAM_ThirdPartyDir ${PacBioBAM_RootDir}/third-party) set(PacBioBAM_ToolsDir ${PacBioBAM_RootDir}/tools) if(NOT PacBioBAM_OutputDir) set(PacBioBAM_OutputDir ${CMAKE_CURRENT_BINARY_DIR}) else() if(${wrapping_swig}) message(FATAL_ERROR "SWIG bindings not currently supported in modular build.") endif() endif() set(PacBioBAM_BinDir ${PacBioBAM_OutputDir}/bin) set(PacBioBAM_LibDir ${PacBioBAM_OutputDir}/lib) Loading