ngs_server 0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +2 -0
- data/bin/ngs_server +58 -0
- data/data/holder.txt +0 -0
- data/ext/bamtools/CMakeLists.txt +49 -0
- data/ext/bamtools/LICENSE +22 -0
- data/ext/bamtools/README +60 -0
- data/ext/bamtools/Tutorial_Toolkit_BamTools-1.0.pdf +0 -0
- data/ext/bamtools/docs/Doxyfile +1601 -0
- data/ext/bamtools/extconf.rb +9 -0
- data/ext/bamtools/src/CMakeFiles/CMakeDirectoryInformation.cmake +22 -0
- data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/DependInfo.cmake +13 -0
- data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/build.make +65 -0
- data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/cmake_clean.cmake +8 -0
- data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/depend.internal +3 -0
- data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/depend.make +3 -0
- data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/progress.make +2 -0
- data/ext/bamtools/src/CMakeFiles/progress.marks +1 -0
- data/ext/bamtools/src/CMakeLists.txt +18 -0
- data/ext/bamtools/src/ExportHeader.cmake +31 -0
- data/ext/bamtools/src/Makefile +182 -0
- data/ext/bamtools/src/api/BamAlignment.cpp +2432 -0
- data/ext/bamtools/src/api/BamAlignment.h +206 -0
- data/ext/bamtools/src/api/BamAux.h +456 -0
- data/ext/bamtools/src/api/BamConstants.h +127 -0
- data/ext/bamtools/src/api/BamIndex.h +79 -0
- data/ext/bamtools/src/api/BamMultiReader.cpp +395 -0
- data/ext/bamtools/src/api/BamMultiReader.h +126 -0
- data/ext/bamtools/src/api/BamReader.cpp +369 -0
- data/ext/bamtools/src/api/BamReader.h +117 -0
- data/ext/bamtools/src/api/BamWriter.cpp +142 -0
- data/ext/bamtools/src/api/BamWriter.h +63 -0
- data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/DependInfo.cmake +14 -0
- data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/build.make +80 -0
- data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/cmake_clean.cmake +8 -0
- data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/depend.internal +3 -0
- data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/depend.make +3 -0
- data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/progress.make +2 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/BamAlignment.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/BamMultiReader.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/BamReader.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/BamWriter.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/CXX.includecache +596 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/DependInfo.cmake +41 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamHeader.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamProgram.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamProgramChain.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamReadGroup.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamReadGroupDictionary.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamSequence.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamSequenceDictionary.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/build.make +675 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/cmake_clean.cmake +32 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/cmake_clean_target.cmake +3 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/depend.internal +295 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/depend.make +295 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/flags.make +8 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamHeader_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamIndexFactory_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamMultiReader_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamRandomAccessController_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamReader_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamStandardIndex_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamToolsIndex_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamWriter_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BgzfStream_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/SamFormatParser_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/SamFormatPrinter_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/SamHeaderValidator_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/link.txt +2 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/progress.make +24 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/BamAlignment.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/BamMultiReader.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/BamReader.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/BamWriter.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/CXX.includecache +596 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/DependInfo.cmake +47 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamHeader.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamProgram.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamProgramChain.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamReadGroup.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamReadGroupDictionary.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamSequence.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamSequenceDictionary.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/build.make +677 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/cmake_clean.cmake +33 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/depend.internal +295 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/depend.make +295 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/flags.make +8 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamHeader_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamIndexFactory_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamMultiReader_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamRandomAccessController_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamReader_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamStandardIndex_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamToolsIndex_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamWriter_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BgzfStream_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/SamFormatParser_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/SamFormatPrinter_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/SamHeaderValidator_p.cpp.o +0 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/link.txt +1 -0
- data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/progress.make +24 -0
- data/ext/bamtools/src/api/CMakeFiles/CMakeDirectoryInformation.cmake +22 -0
- data/ext/bamtools/src/api/CMakeFiles/progress.marks +1 -0
- data/ext/bamtools/src/api/CMakeLists.txt +78 -0
- data/ext/bamtools/src/api/Makefile +902 -0
- data/ext/bamtools/src/api/SamConstants.h +95 -0
- data/ext/bamtools/src/api/SamHeader.cpp +184 -0
- data/ext/bamtools/src/api/SamHeader.h +68 -0
- data/ext/bamtools/src/api/SamProgram.cpp +139 -0
- data/ext/bamtools/src/api/SamProgram.h +61 -0
- data/ext/bamtools/src/api/SamProgramChain.cpp +351 -0
- data/ext/bamtools/src/api/SamProgramChain.h +85 -0
- data/ext/bamtools/src/api/SamReadGroup.cpp +221 -0
- data/ext/bamtools/src/api/SamReadGroup.h +68 -0
- data/ext/bamtools/src/api/SamReadGroupDictionary.cpp +289 -0
- data/ext/bamtools/src/api/SamReadGroupDictionary.h +86 -0
- data/ext/bamtools/src/api/SamSequence.cpp +161 -0
- data/ext/bamtools/src/api/SamSequence.h +60 -0
- data/ext/bamtools/src/api/SamSequenceDictionary.cpp +292 -0
- data/ext/bamtools/src/api/SamSequenceDictionary.h +88 -0
- data/ext/bamtools/src/api/api_global.h +21 -0
- data/ext/bamtools/src/api/cmake_install.cmake +122 -0
- data/ext/bamtools/src/api/internal/BamHeader_p.cpp +132 -0
- data/ext/bamtools/src/api/internal/BamHeader_p.h +71 -0
- data/ext/bamtools/src/api/internal/BamIndexFactory_p.cpp +112 -0
- data/ext/bamtools/src/api/internal/BamIndexFactory_p.h +49 -0
- data/ext/bamtools/src/api/internal/BamMultiMerger_p.h +297 -0
- data/ext/bamtools/src/api/internal/BamMultiReader_p.cpp +805 -0
- data/ext/bamtools/src/api/internal/BamMultiReader_p.h +103 -0
- data/ext/bamtools/src/api/internal/BamRandomAccessController_p.cpp +272 -0
- data/ext/bamtools/src/api/internal/BamRandomAccessController_p.h +93 -0
- data/ext/bamtools/src/api/internal/BamReader_p.cpp +380 -0
- data/ext/bamtools/src/api/internal/BamReader_p.h +112 -0
- data/ext/bamtools/src/api/internal/BamStandardIndex_p.cpp +986 -0
- data/ext/bamtools/src/api/internal/BamStandardIndex_p.h +236 -0
- data/ext/bamtools/src/api/internal/BamToolsIndex_p.cpp +641 -0
- data/ext/bamtools/src/api/internal/BamToolsIndex_p.h +187 -0
- data/ext/bamtools/src/api/internal/BamWriter_p.cpp +424 -0
- data/ext/bamtools/src/api/internal/BamWriter_p.h +66 -0
- data/ext/bamtools/src/api/internal/BgzfStream_p.cpp +438 -0
- data/ext/bamtools/src/api/internal/BgzfStream_p.h +108 -0
- data/ext/bamtools/src/api/internal/SamFormatParser_p.cpp +230 -0
- data/ext/bamtools/src/api/internal/SamFormatParser_p.h +61 -0
- data/ext/bamtools/src/api/internal/SamFormatPrinter_p.cpp +210 -0
- data/ext/bamtools/src/api/internal/SamFormatPrinter_p.h +60 -0
- data/ext/bamtools/src/api/internal/SamHeaderValidator_p.cpp +510 -0
- data/ext/bamtools/src/api/internal/SamHeaderValidator_p.h +101 -0
- data/ext/bamtools/src/api/internal/SamHeaderVersion_p.h +134 -0
- data/ext/bamtools/src/cmake_install.cmake +42 -0
- data/ext/bamtools/src/shared/bamtools_global.h +78 -0
- data/ext/bamtools/src/third_party/CMakeFiles/CMakeDirectoryInformation.cmake +22 -0
- data/ext/bamtools/src/third_party/CMakeFiles/progress.marks +1 -0
- data/ext/bamtools/src/third_party/CMakeLists.txt +10 -0
- data/ext/bamtools/src/third_party/Makefile +167 -0
- data/ext/bamtools/src/third_party/cmake_install.cmake +35 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/CMakeDirectoryInformation.cmake +22 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/CXX.includecache +144 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/DependInfo.cmake +27 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/build.make +157 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/cmake_clean.cmake +13 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/depend.internal +31 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/depend.make +31 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/flags.make +8 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_reader.cpp.o +0 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_value.cpp.o +0 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_writer.cpp.o +0 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/link.txt +1 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/progress.make +4 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/progress.marks +1 -0
- data/ext/bamtools/src/third_party/jsoncpp/CMakeLists.txt +23 -0
- data/ext/bamtools/src/third_party/jsoncpp/LICENSE +55 -0
- data/ext/bamtools/src/third_party/jsoncpp/Makefile +263 -0
- data/ext/bamtools/src/third_party/jsoncpp/cmake_install.cmake +29 -0
- data/ext/bamtools/src/third_party/jsoncpp/json.h +15 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_batchallocator.h +130 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_config.h +42 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_features.h +47 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_forwards.h +42 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_internalarray.inl +453 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_internalmap.inl +612 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_reader.cpp +870 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_reader.h +201 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_tool.h +93 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_value.cpp +1701 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_value.h +1059 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_valueiterator.inl +297 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_writer.cpp +819 -0
- data/ext/bamtools/src/third_party/jsoncpp/json_writer.h +179 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/CMakeDirectoryInformation.cmake +25 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/CXX.includecache +698 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/DependInfo.cmake +34 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_convert.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_count.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_coverage.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_filter.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_header.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_index.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_merge.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_random.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_revert.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_sort.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_split.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_stats.cpp.o +0 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/build.make +447 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/cmake_clean.cmake +24 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/depend.internal +319 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/depend.make +319 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/flags.make +8 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/link.txt +1 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/progress.make +15 -0
- data/ext/bamtools/src/toolkit/CMakeFiles/progress.marks +1 -0
- data/ext/bamtools/src/toolkit/CMakeLists.txt +44 -0
- data/ext/bamtools/src/toolkit/Makefile +560 -0
- data/ext/bamtools/src/toolkit/bamtools.cpp +163 -0
- data/ext/bamtools/src/toolkit/bamtools_convert.cpp +888 -0
- data/ext/bamtools/src/toolkit/bamtools_convert.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_count.cpp +187 -0
- data/ext/bamtools/src/toolkit/bamtools_count.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_coverage.cpp +196 -0
- data/ext/bamtools/src/toolkit/bamtools_coverage.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_filter.cpp +911 -0
- data/ext/bamtools/src/toolkit/bamtools_filter.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_header.cpp +122 -0
- data/ext/bamtools/src/toolkit/bamtools_header.h +38 -0
- data/ext/bamtools/src/toolkit/bamtools_index.cpp +126 -0
- data/ext/bamtools/src/toolkit/bamtools_index.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_merge.cpp +221 -0
- data/ext/bamtools/src/toolkit/bamtools_merge.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_random.cpp +255 -0
- data/ext/bamtools/src/toolkit/bamtools_random.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_resolve.cpp +1396 -0
- data/ext/bamtools/src/toolkit/bamtools_resolve.h +42 -0
- data/ext/bamtools/src/toolkit/bamtools_revert.cpp +194 -0
- data/ext/bamtools/src/toolkit/bamtools_revert.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_sort.cpp +410 -0
- data/ext/bamtools/src/toolkit/bamtools_sort.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_split.cpp +551 -0
- data/ext/bamtools/src/toolkit/bamtools_split.h +38 -0
- data/ext/bamtools/src/toolkit/bamtools_stats.cpp +286 -0
- data/ext/bamtools/src/toolkit/bamtools_stats.h +37 -0
- data/ext/bamtools/src/toolkit/bamtools_tool.h +35 -0
- data/ext/bamtools/src/toolkit/bamtools_version.h +20 -0
- data/ext/bamtools/src/toolkit/bamtools_version.h.in +20 -0
- data/ext/bamtools/src/toolkit/cmake_install.cmake +52 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/CXX.includecache +250 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/DependInfo.cmake +29 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/bamtools_fasta.cpp.o +0 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/bamtools_options.cpp.o +0 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/bamtools_pileup_engine.cpp.o +0 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/bamtools_utilities.cpp.o +0 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/build.make +184 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/cmake_clean.cmake +14 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/depend.internal +40 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/depend.make +40 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/flags.make +8 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/link.txt +1 -0
- data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/progress.make +5 -0
- data/ext/bamtools/src/utils/CMakeFiles/CMakeDirectoryInformation.cmake +23 -0
- data/ext/bamtools/src/utils/CMakeFiles/progress.marks +1 -0
- data/ext/bamtools/src/utils/CMakeLists.txt +30 -0
- data/ext/bamtools/src/utils/Makefile +290 -0
- data/ext/bamtools/src/utils/bamtools_fasta.cpp +632 -0
- data/ext/bamtools/src/utils/bamtools_fasta.h +47 -0
- data/ext/bamtools/src/utils/bamtools_filter_engine.h +552 -0
- data/ext/bamtools/src/utils/bamtools_filter_properties.h +195 -0
- data/ext/bamtools/src/utils/bamtools_filter_ruleparser.h +319 -0
- data/ext/bamtools/src/utils/bamtools_options.cpp +287 -0
- data/ext/bamtools/src/utils/bamtools_options.h +213 -0
- data/ext/bamtools/src/utils/bamtools_pileup_engine.cpp +327 -0
- data/ext/bamtools/src/utils/bamtools_pileup_engine.h +94 -0
- data/ext/bamtools/src/utils/bamtools_utilities.cpp +333 -0
- data/ext/bamtools/src/utils/bamtools_utilities.h +67 -0
- data/ext/bamtools/src/utils/bamtools_variant.h +128 -0
- data/ext/bamtools/src/utils/cmake_install.cmake +29 -0
- data/ext/bamtools/src/utils/utils_global.h +21 -0
- data/lib/ngs_server/version.rb +3 -0
- data/lib/ngs_server.rb +3 -0
- data/ngs_server.gemspec +23 -0
- metadata +339 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// ***************************************************************************
|
|
2
|
+
// BamConstants.h (c) 2011 Derek Barnett
|
|
3
|
+
// Marth Lab, Department of Biology, Boston College
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Last modified: 19 April 2011 (DB)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Provides basic constants for handling BAM files.
|
|
8
|
+
// ***************************************************************************
|
|
9
|
+
|
|
10
|
+
#ifndef BAM_CONSTANTS_H
|
|
11
|
+
#define BAM_CONSTANTS_H
|
|
12
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
|
|
15
|
+
/*! \namespace BamTools::Constants
|
|
16
|
+
\brief Provides basic constants for handling BAM files.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
namespace BamTools {
|
|
20
|
+
namespace Constants {
|
|
21
|
+
|
|
22
|
+
const int BAM_SIZEOF_INT = 4;
|
|
23
|
+
|
|
24
|
+
// header magic number
|
|
25
|
+
const char* const BAM_HEADER_MAGIC = "BAM\1";
|
|
26
|
+
const unsigned int BAM_HEADER_MAGIC_LENGTH = 4;
|
|
27
|
+
|
|
28
|
+
// BAM alignment core size
|
|
29
|
+
const int BAM_CORE_SIZE = 32;
|
|
30
|
+
const int BAM_CORE_BUFFER_SIZE = 8;
|
|
31
|
+
|
|
32
|
+
// BAM alignment flags
|
|
33
|
+
const int BAM_ALIGNMENT_PAIRED = 0x0001;
|
|
34
|
+
const int BAM_ALIGNMENT_PROPER_PAIR = 0x0002;
|
|
35
|
+
const int BAM_ALIGNMENT_UNMAPPED = 0x0004;
|
|
36
|
+
const int BAM_ALIGNMENT_MATE_UNMAPPED = 0x0008;
|
|
37
|
+
const int BAM_ALIGNMENT_REVERSE_STRAND = 0x0010;
|
|
38
|
+
const int BAM_ALIGNMENT_MATE_REVERSE_STRAND = 0x0020;
|
|
39
|
+
const int BAM_ALIGNMENT_READ_1 = 0x0040;
|
|
40
|
+
const int BAM_ALIGNMENT_READ_2 = 0x0080;
|
|
41
|
+
const int BAM_ALIGNMENT_SECONDARY = 0x0100;
|
|
42
|
+
const int BAM_ALIGNMENT_QC_FAILED = 0x0200;
|
|
43
|
+
const int BAM_ALIGNMENT_DUPLICATE = 0x0400;
|
|
44
|
+
|
|
45
|
+
// CIGAR constants
|
|
46
|
+
const char* const BAM_CIGAR_LOOKUP = "MIDNSHP=X";
|
|
47
|
+
const int BAM_CIGAR_MATCH = 0;
|
|
48
|
+
const int BAM_CIGAR_INS = 1;
|
|
49
|
+
const int BAM_CIGAR_DEL = 2;
|
|
50
|
+
const int BAM_CIGAR_REFSKIP = 3;
|
|
51
|
+
const int BAM_CIGAR_SOFTCLIP = 4;
|
|
52
|
+
const int BAM_CIGAR_HARDCLIP = 5;
|
|
53
|
+
const int BAM_CIGAR_PAD = 6;
|
|
54
|
+
const int BAM_CIGAR_SEQMATCH = 7;
|
|
55
|
+
const int BAM_CIGAR_MISMATCH = 8;
|
|
56
|
+
|
|
57
|
+
const char BAM_CIGAR_MATCH_CHAR = 'M';
|
|
58
|
+
const char BAM_CIGAR_INS_CHAR = 'I';
|
|
59
|
+
const char BAM_CIGAR_DEL_CHAR = 'D';
|
|
60
|
+
const char BAM_CIGAR_REFSKIP_CHAR = 'N';
|
|
61
|
+
const char BAM_CIGAR_SOFTCLIP_CHAR = 'S';
|
|
62
|
+
const char BAM_CIGAR_HARDCLIP_CHAR = 'H';
|
|
63
|
+
const char BAM_CIGAR_PAD_CHAR = 'P';
|
|
64
|
+
const char BAM_CIGAR_SEQMATCH_CHAR = '=';
|
|
65
|
+
const char BAM_CIGAR_MISMATCH_CHAR = 'X';
|
|
66
|
+
|
|
67
|
+
const int BAM_CIGAR_SHIFT = 4;
|
|
68
|
+
const int BAM_CIGAR_MASK = ((1 << BAM_CIGAR_SHIFT) - 1);
|
|
69
|
+
|
|
70
|
+
// BAM tag types
|
|
71
|
+
const char BAM_TAG_TYPE_ASCII = 'A';
|
|
72
|
+
const char BAM_TAG_TYPE_UINT8 = 'c';
|
|
73
|
+
const char BAM_TAG_TYPE_INT8 = 'C';
|
|
74
|
+
const char BAM_TAG_TYPE_UINT16 = 's';
|
|
75
|
+
const char BAM_TAG_TYPE_INT16 = 'S';
|
|
76
|
+
const char BAM_TAG_TYPE_UINT32 = 'i';
|
|
77
|
+
const char BAM_TAG_TYPE_INT32 = 'I';
|
|
78
|
+
const char BAM_TAG_TYPE_FLOAT = 'f';
|
|
79
|
+
const char BAM_TAG_TYPE_STRING = 'Z';
|
|
80
|
+
const char BAM_TAG_TYPE_HEX = 'H';
|
|
81
|
+
const char BAM_TAG_TYPE_ARRAY = 'B';
|
|
82
|
+
|
|
83
|
+
const size_t BAM_TAG_TAGSIZE = 2;
|
|
84
|
+
const size_t BAM_TAG_TYPESIZE = 1;
|
|
85
|
+
const int BAM_TAG_ARRAYBASE_SIZE = 8;
|
|
86
|
+
|
|
87
|
+
// DNA bases
|
|
88
|
+
const char* const BAM_DNA_LOOKUP = "=ACMGRSVTWYHKDBN";
|
|
89
|
+
const unsigned char BAM_BASECODE_EQUAL = 0;
|
|
90
|
+
const unsigned char BAM_BASECODE_A = 1;
|
|
91
|
+
const unsigned char BAM_BASECODE_C = 2;
|
|
92
|
+
const unsigned char BAM_BASECODE_G = 4;
|
|
93
|
+
const unsigned char BAM_BASECODE_T = 8;
|
|
94
|
+
const unsigned char BAM_BASECODE_N = 15;
|
|
95
|
+
|
|
96
|
+
const char BAM_DNA_EQUAL = '=';
|
|
97
|
+
const char BAM_DNA_A = 'A';
|
|
98
|
+
const char BAM_DNA_C = 'C';
|
|
99
|
+
const char BAM_DNA_G = 'G';
|
|
100
|
+
const char BAM_DNA_T = 'T';
|
|
101
|
+
const char BAM_DNA_N = 'N';
|
|
102
|
+
const char BAM_DNA_DEL = '-';
|
|
103
|
+
const char BAM_DNA_PAD = '*';
|
|
104
|
+
|
|
105
|
+
// zlib constants
|
|
106
|
+
const int GZIP_ID1 = 31;
|
|
107
|
+
const int GZIP_ID2 = 139;
|
|
108
|
+
const int CM_DEFLATE = 8;
|
|
109
|
+
const int FLG_FEXTRA = 4;
|
|
110
|
+
const int OS_UNKNOWN = 255;
|
|
111
|
+
const int BGZF_XLEN = 6;
|
|
112
|
+
const int BGZF_ID1 = 66;
|
|
113
|
+
const int BGZF_ID2 = 67;
|
|
114
|
+
const int BGZF_LEN = 2;
|
|
115
|
+
const int GZIP_WINDOW_BITS = -15;
|
|
116
|
+
const int Z_DEFAULT_MEM_LEVEL = 8;
|
|
117
|
+
|
|
118
|
+
// BZGF constants
|
|
119
|
+
const int BGZF_BLOCK_HEADER_LENGTH = 18;
|
|
120
|
+
const int BGZF_BLOCK_FOOTER_LENGTH = 8;
|
|
121
|
+
const int BGZF_MAX_BLOCK_SIZE = 65536;
|
|
122
|
+
const int BGZF_DEFAULT_BLOCK_SIZE = 65536;
|
|
123
|
+
|
|
124
|
+
} // namespace Constants
|
|
125
|
+
} // namespace BamTools
|
|
126
|
+
|
|
127
|
+
#endif // BAM_CONSTANTS_H
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// ***************************************************************************
|
|
2
|
+
// BamIndex.h (c) 2009 Derek Barnett
|
|
3
|
+
// Marth Lab, Department of Biology, Boston College
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Last modified: 5 April 2011 (DB)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Provides basic BAM index interface
|
|
8
|
+
// ***************************************************************************
|
|
9
|
+
|
|
10
|
+
#ifndef BAM_INDEX_H
|
|
11
|
+
#define BAM_INDEX_H
|
|
12
|
+
|
|
13
|
+
#include <api/api_global.h>
|
|
14
|
+
#include <api/BamAux.h>
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
namespace BamTools {
|
|
18
|
+
|
|
19
|
+
namespace Internal {
|
|
20
|
+
class BamReaderPrivate;
|
|
21
|
+
} // namespace Internal
|
|
22
|
+
|
|
23
|
+
/*! \class BamTools::BamIndex
|
|
24
|
+
\brief Provides methods for generating & loading BAM index files.
|
|
25
|
+
|
|
26
|
+
This class straddles the line between public API and internal
|
|
27
|
+
implementation detail. Most client code should never have to use this
|
|
28
|
+
class directly.
|
|
29
|
+
|
|
30
|
+
It is exposed to the public API to allow advanced users to implement
|
|
31
|
+
their own custom indexing schemes.
|
|
32
|
+
|
|
33
|
+
More documentation on methods & enums coming soon.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
class API_EXPORT BamIndex {
|
|
37
|
+
|
|
38
|
+
// enums
|
|
39
|
+
public:
|
|
40
|
+
// specify index-caching behavior
|
|
41
|
+
enum IndexCacheMode { FullIndexCaching = 0 // store entire index file contents in memory
|
|
42
|
+
, LimitedIndexCaching // store only index data for current reference
|
|
43
|
+
, NoIndexCaching // do not store any index data between jumps
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// list of supported BamIndex types
|
|
47
|
+
enum IndexType { BAMTOOLS = 0
|
|
48
|
+
, STANDARD
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// ctor & dtor
|
|
52
|
+
public:
|
|
53
|
+
BamIndex(Internal::BamReaderPrivate* reader) : m_reader(reader) { }
|
|
54
|
+
virtual ~BamIndex(void) { }
|
|
55
|
+
|
|
56
|
+
// index interface
|
|
57
|
+
public:
|
|
58
|
+
// builds index from associated BAM file & writes out to index file
|
|
59
|
+
virtual bool Create(void) =0; // creates index file from BAM file
|
|
60
|
+
// returns whether reference has alignments or no
|
|
61
|
+
virtual bool HasAlignments(const int& referenceID) const =0;
|
|
62
|
+
// attempts to use index data to jump to @region, returns success/fail
|
|
63
|
+
// a "successful" jump indicates no error, but not whether this region has data
|
|
64
|
+
// * thus, the method sets a flag to indicate whether there are alignments
|
|
65
|
+
// available after the jump position
|
|
66
|
+
virtual bool Jump(const BamTools::BamRegion& region, bool* hasAlignmentsInRegion) =0;
|
|
67
|
+
// loads existing data from file into memory
|
|
68
|
+
virtual bool Load(const std::string& filename) =0;
|
|
69
|
+
// change the index caching behavior
|
|
70
|
+
virtual void SetCacheMode(const BamIndex::IndexCacheMode& mode) =0;
|
|
71
|
+
|
|
72
|
+
// data members
|
|
73
|
+
protected:
|
|
74
|
+
Internal::BamReaderPrivate* m_reader; // copy, not ownedprivate:
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
} // namespace BamTools
|
|
78
|
+
|
|
79
|
+
#endif // BAM_INDEX_H
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
// ***************************************************************************
|
|
2
|
+
// BamMultiReader.cpp (c) 2010 Erik Garrison, Derek Barnett
|
|
3
|
+
// Marth Lab, Department of Biology, Boston College
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Last modified: 15 March 2011 (DB)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Convenience class for reading multiple BAM files.
|
|
8
|
+
//
|
|
9
|
+
// This functionality allows applications to work on very large sets of files
|
|
10
|
+
// without requiring intermediate merge, sort, and index steps for each file
|
|
11
|
+
// subset. It also improves the performance of our merge system as it
|
|
12
|
+
// precludes the need to sort merged files.
|
|
13
|
+
// ***************************************************************************
|
|
14
|
+
|
|
15
|
+
#include <api/BamMultiReader.h>
|
|
16
|
+
#include <api/internal/BamMultiReader_p.h>
|
|
17
|
+
using namespace BamTools;
|
|
18
|
+
|
|
19
|
+
#include <string>
|
|
20
|
+
#include <vector>
|
|
21
|
+
using namespace std;
|
|
22
|
+
|
|
23
|
+
/*! \class BamTools::BamReader
|
|
24
|
+
\brief Convenience class for reading multiple BAM files.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/*! \fn BamMultiReader::BamMultiReader(void)
|
|
28
|
+
\brief constructor
|
|
29
|
+
*/
|
|
30
|
+
BamMultiReader::BamMultiReader(void)
|
|
31
|
+
: d(new Internal::BamMultiReaderPrivate)
|
|
32
|
+
{ }
|
|
33
|
+
|
|
34
|
+
/*! \fn BamMultiReader::~BamMultiReader(void)
|
|
35
|
+
\brief destructor
|
|
36
|
+
*/
|
|
37
|
+
BamMultiReader::~BamMultiReader(void) {
|
|
38
|
+
delete d;
|
|
39
|
+
d = 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/*! \fn void BamMultiReader::Close(void)
|
|
43
|
+
\brief Closes all open BAM files.
|
|
44
|
+
|
|
45
|
+
Also clears out all header and reference data.
|
|
46
|
+
|
|
47
|
+
\sa CloseFile(), IsOpen(), Open(), BamReader::Close()
|
|
48
|
+
*/
|
|
49
|
+
void BamMultiReader::Close(void) {
|
|
50
|
+
d->Close();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/*! \fn void BamMultiReader::CloseFile(const std::string& filename)
|
|
54
|
+
\brief Closes requested BAM file.
|
|
55
|
+
|
|
56
|
+
Leaves any other file(s) open, along with header and reference data.
|
|
57
|
+
|
|
58
|
+
\sa Close(), IsOpen(), Open(), BamReader::Close()
|
|
59
|
+
*/
|
|
60
|
+
void BamMultiReader::CloseFile(const std::string& filename) {
|
|
61
|
+
d->CloseFile(filename);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/*! \fn bool BamMultiReader::CreateIndexes(const BamIndex::IndexType& type)
|
|
65
|
+
\brief Creates index files for the current BAM files.
|
|
66
|
+
|
|
67
|
+
\param type file format to create, see BamIndex::IndexType for available formats
|
|
68
|
+
\return \c true if index files created OK
|
|
69
|
+
\sa LocateIndexes(), OpenIndexes(), BamReader::CreateIndex()
|
|
70
|
+
*/
|
|
71
|
+
bool BamMultiReader::CreateIndexes(const BamIndex::IndexType& type) {
|
|
72
|
+
return d->CreateIndexes(type);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/*! \fn const std::vector<std::string> BamMultiReader::Filenames(void) const
|
|
76
|
+
\brief Returns list of filenames for all open BAM files.
|
|
77
|
+
|
|
78
|
+
Retrieved filenames will contain whatever was passed via Open().
|
|
79
|
+
If you need full directory paths here, be sure to include them
|
|
80
|
+
when you open the BAM files.
|
|
81
|
+
|
|
82
|
+
\returns names of open BAM files. If no files are open, returns an empty vector.
|
|
83
|
+
\sa IsOpen(), BamReader::GetFilename()
|
|
84
|
+
*/
|
|
85
|
+
const std::vector<std::string> BamMultiReader::Filenames(void) const {
|
|
86
|
+
return d->Filenames();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/*! \fn SamHeader BamMultiReader::GetHeader(void) const
|
|
90
|
+
\brief Returns unified SAM-format header for all files
|
|
91
|
+
|
|
92
|
+
N.B. - Modifying the retrieved text does NOT affect the current
|
|
93
|
+
BAM files. Thesse file have been opened in a read-only mode. However,
|
|
94
|
+
your modified header text can be used in conjunction with BamWriter
|
|
95
|
+
to generate a new BAM file with the appropriate header information.
|
|
96
|
+
|
|
97
|
+
\returns header data wrapped in SamHeader object
|
|
98
|
+
\sa GetHeaderText(), BamReader::GetHeader()
|
|
99
|
+
*/
|
|
100
|
+
SamHeader BamMultiReader::GetHeader(void) const {
|
|
101
|
+
return d->GetHeader();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/*! \fn std::string BamMultiReader::GetHeaderText(void) const
|
|
105
|
+
\brief Returns unified SAM-format header text for all files
|
|
106
|
+
|
|
107
|
+
N.B. - Modifying the retrieved text does NOT affect the current
|
|
108
|
+
BAM files. Thesse file have been opened in a read-only mode. However,
|
|
109
|
+
your modified header text can be used in conjunction with BamWriter
|
|
110
|
+
to generate a new BAM file with the appropriate header information.
|
|
111
|
+
|
|
112
|
+
\returns SAM-formatted header text
|
|
113
|
+
\sa GetHeader(), BamReader::GetHeaderText()
|
|
114
|
+
*/
|
|
115
|
+
std::string BamMultiReader::GetHeaderText(void) const {
|
|
116
|
+
return d->GetHeaderText();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/*! \fn bool BamMultiReader::GetNextAlignment(BamAlignment& alignment)
|
|
120
|
+
\brief Retrieves next available alignment.
|
|
121
|
+
|
|
122
|
+
Equivalent to BamReader::GetNextAlignment() with respect to what is a valid
|
|
123
|
+
overlapping alignment and what data gets populated.
|
|
124
|
+
|
|
125
|
+
This method takes care of determining which alignment actually is 'next'
|
|
126
|
+
across multiple files, depending on current SortOrder.
|
|
127
|
+
|
|
128
|
+
\param alignment destination for alignment record data
|
|
129
|
+
\returns \c true if a valid alignment was found
|
|
130
|
+
\sa GetNextAlignmentCore(), SetRegion(), SetSortOrder(), BamReader::GetNextAlignment()
|
|
131
|
+
*/
|
|
132
|
+
bool BamMultiReader::GetNextAlignment(BamAlignment& nextAlignment) {
|
|
133
|
+
return d->GetNextAlignment(nextAlignment);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/*! \fn bool BamMultiReader::GetNextAlignmentCore(BamAlignment& alignment)
|
|
137
|
+
\brief Retrieves next available alignment.
|
|
138
|
+
|
|
139
|
+
Equivalent to BamReader::GetNextAlignmentCore() with respect to what is a valid
|
|
140
|
+
overlapping alignment and what data gets populated.
|
|
141
|
+
|
|
142
|
+
This method takes care of determining which alignment actually is 'next'
|
|
143
|
+
across multiple files, depending on current SortOrder.
|
|
144
|
+
|
|
145
|
+
\param alignment destination for alignment record data
|
|
146
|
+
\returns \c true if a valid alignment was found
|
|
147
|
+
\sa GetNextAlignment(), SetRegion(), SetSortOrder(), BamReader::GetNextAlignmentCore()
|
|
148
|
+
*/
|
|
149
|
+
bool BamMultiReader::GetNextAlignmentCore(BamAlignment& nextAlignment) {
|
|
150
|
+
return d->GetNextAlignmentCore(nextAlignment);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/*! \fn int BamMultiReader::GetReferenceCount(void) const
|
|
154
|
+
\brief Returns number of reference sequences.
|
|
155
|
+
\sa BamReader::GetReferenceCount()
|
|
156
|
+
*/
|
|
157
|
+
int BamMultiReader::GetReferenceCount(void) const {
|
|
158
|
+
return d->GetReferenceCount();
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/*! \fn const RefVector& BamMultiReader::GetReferenceData(void) const
|
|
162
|
+
\brief Returns all reference sequence entries.
|
|
163
|
+
\sa RefData, BamReader::GetReferenceData()
|
|
164
|
+
*/
|
|
165
|
+
const BamTools::RefVector BamMultiReader::GetReferenceData(void) const {
|
|
166
|
+
return d->GetReferenceData();
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/*! \fn int BamMultiReader::GetReferenceID(const std::string& refName) const
|
|
170
|
+
\brief Returns the ID of the reference with this name.
|
|
171
|
+
|
|
172
|
+
If \a refName is not found, returns -1.
|
|
173
|
+
|
|
174
|
+
\sa BamReader::GetReferenceID()
|
|
175
|
+
*/
|
|
176
|
+
int BamMultiReader::GetReferenceID(const std::string& refName) const {
|
|
177
|
+
return d->GetReferenceID(refName);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/*! \fn bool BamMultiReader::HasIndexes(void) const
|
|
181
|
+
\brief Returns \c true if all BAM files have index data available.
|
|
182
|
+
\sa BamReader::HasIndex()
|
|
183
|
+
*/
|
|
184
|
+
bool BamMultiReader::HasIndexes(void) const {
|
|
185
|
+
return d->HasIndexes();
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/*! \fn bool BamMultiReader::HasOpenReaders(void) const
|
|
189
|
+
\brief Returns \c true if there are any open BAM files.
|
|
190
|
+
*/
|
|
191
|
+
bool BamMultiReader::HasOpenReaders(void) const {
|
|
192
|
+
return d->HasOpenReaders();
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/*! \fn bool BamMultiReader::IsIndexLoaded(void) const
|
|
196
|
+
\brief Returns \c true if all BAM files have index data available.
|
|
197
|
+
|
|
198
|
+
\deprecated Instead use HasIndexes()
|
|
199
|
+
\cond
|
|
200
|
+
See explanation in BamReader.cpp for more details on the deprecation decision.
|
|
201
|
+
\endcond
|
|
202
|
+
*/
|
|
203
|
+
|
|
204
|
+
bool BamMultiReader::IsIndexLoaded(void) const {
|
|
205
|
+
return d->HasIndexes();
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/*! \fn bool BamMultiReader::Jump(int refID, int position)
|
|
209
|
+
\brief Performs a random-access jump within current BAM files.
|
|
210
|
+
|
|
211
|
+
This is a convenience method, equivalent to calling SetRegion()
|
|
212
|
+
with only a left boundary specified.
|
|
213
|
+
|
|
214
|
+
\returns \c true if jump was successful
|
|
215
|
+
\sa HasIndex(), BamReader::Jump()
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
bool BamMultiReader::Jump(int refID, int position) {
|
|
219
|
+
return d->Jump(refID, position);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/*! \fn bool BamMultiReader::LocateIndexes(const BamIndex::IndexType& preferredType)
|
|
223
|
+
\brief Looks for index files that match current BAM files.
|
|
224
|
+
|
|
225
|
+
Use this function when you need index files, and perhaps have a
|
|
226
|
+
preferred index format, but do not depend heavily on which indexes
|
|
227
|
+
actually get loaded at runtime.
|
|
228
|
+
|
|
229
|
+
For each BAM file, this function will defer to your \a preferredType
|
|
230
|
+
whenever possible. However, if an index file of \a preferredType can
|
|
231
|
+
not be found, then it will look for any other index file that matches
|
|
232
|
+
that BAM file.
|
|
233
|
+
|
|
234
|
+
An example case would look this:
|
|
235
|
+
\code
|
|
236
|
+
|
|
237
|
+
BamMultiReader reader;
|
|
238
|
+
// do setup
|
|
239
|
+
|
|
240
|
+
// ensure that all files have an index
|
|
241
|
+
if ( !reader.LocateIndexes() ) // opens any existing index files that match our BAM files
|
|
242
|
+
reader.CreateIndexes(); // creates index files for BAM files that still lack one
|
|
243
|
+
|
|
244
|
+
// do interesting stuff
|
|
245
|
+
// ...
|
|
246
|
+
|
|
247
|
+
\endcode
|
|
248
|
+
|
|
249
|
+
If you want precise control over which index files are loaded, use OpenIndexes()
|
|
250
|
+
with the desired index filenames. If that function returns false, you can use
|
|
251
|
+
CreateIndexes() to then build index files of the exact requested format.
|
|
252
|
+
|
|
253
|
+
\param preferredType desired index file format, see BamIndex::IndexType for available formats
|
|
254
|
+
\returns \c true if index files could be found for \b ALL open BAM files
|
|
255
|
+
\sa BamReader::LocateIndex()
|
|
256
|
+
*/
|
|
257
|
+
bool BamMultiReader::LocateIndexes(const BamIndex::IndexType& preferredType) {
|
|
258
|
+
return d->LocateIndexes(preferredType);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/*! \fn bool BamMultiReader::Open(const std::vector<std::string>& filenames)
|
|
262
|
+
\brief Opens BAM files.
|
|
263
|
+
|
|
264
|
+
N.B. - Opening BAM files will invalidate any current region set on the multireader.
|
|
265
|
+
All file pointers will be returned to the beginning of the alignment data.
|
|
266
|
+
Follow this with Jump() or SetRegion() to establish a region of interest.
|
|
267
|
+
|
|
268
|
+
\param filenames list of BAM filenames to open
|
|
269
|
+
\returns \c true if BAM files were opened successfully
|
|
270
|
+
\sa Close(), HasOpenReaders(), OpenFile(), OpenIndexes(), BamReader::Open()
|
|
271
|
+
*/
|
|
272
|
+
bool BamMultiReader::Open(const std::vector<std::string>& filenames) {
|
|
273
|
+
return d->Open(filenames);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/*! \fn bool BamMultiReader::OpenFile(const std::string& filename)
|
|
277
|
+
\brief Opens a single BAM file.
|
|
278
|
+
|
|
279
|
+
Adds another BAM file to multireader "on-the-fly".
|
|
280
|
+
|
|
281
|
+
N.B. - Opening a BAM file invalidates any current region set on the multireader.
|
|
282
|
+
All file pointers will be returned to the beginning of the alignment data.
|
|
283
|
+
Follow this with Jump() or SetRegion() to establish a region of interest.
|
|
284
|
+
|
|
285
|
+
\param filename BAM filename to open
|
|
286
|
+
\returns \c true if BAM file was opened successfully
|
|
287
|
+
\sa Close(), HasOpenReaders(), Open(), OpenIndexes(), BamReader::Open()
|
|
288
|
+
*/
|
|
289
|
+
bool BamMultiReader::OpenFile(const std::string& filename) {
|
|
290
|
+
return d->OpenFile(filename);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/*! \fn bool BamMultiReader::OpenIndexes(const std::vector<std::string>& indexFilenames)
|
|
294
|
+
\brief Opens index files for current BAM files.
|
|
295
|
+
|
|
296
|
+
N.B. - Currently assumes that index filenames match the order (and number) of
|
|
297
|
+
BAM files passed to Open().
|
|
298
|
+
|
|
299
|
+
\param indexFilenames list of BAM index file names
|
|
300
|
+
\returns \c true if BAM index file was opened & data loaded successfully
|
|
301
|
+
\sa LocateIndex(), Open(), SetIndex(), BamReader::OpenIndex()
|
|
302
|
+
*/
|
|
303
|
+
bool BamMultiReader::OpenIndexes(const std::vector<std::string>& indexFilenames) {
|
|
304
|
+
return d->OpenIndexes(indexFilenames);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/*! \fn void BamMultiReader::PrintFilenames(void) const
|
|
308
|
+
\brief Convenience method for printing filenames to stdout.
|
|
309
|
+
\deprecated Doesn't really belong as an API function. Clients should
|
|
310
|
+
determine how the data is reported.
|
|
311
|
+
\sa Filenames(), BamReader::GetFilename()
|
|
312
|
+
*/
|
|
313
|
+
void BamMultiReader::PrintFilenames(void) const {
|
|
314
|
+
d->PrintFilenames();
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/*! \fn bool BamMultiReader::Rewind(void)
|
|
318
|
+
\brief Returns the internal file pointers to the beginning of alignment records.
|
|
319
|
+
|
|
320
|
+
Useful for performing multiple sequential passes through BAM files.
|
|
321
|
+
Calling this function clears any prior region that may have been set.
|
|
322
|
+
|
|
323
|
+
\returns \c true if rewind operation was successful
|
|
324
|
+
\sa Jump(), SetRegion(), BamReader::Rewind()
|
|
325
|
+
*/
|
|
326
|
+
bool BamMultiReader::Rewind(void) {
|
|
327
|
+
return d->Rewind();
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/*! \fn void BamMultiReader::SetIndexCacheMode(const BamIndex::IndexCacheMode& mode)
|
|
331
|
+
\brief Changes the caching behavior of the index data.
|
|
332
|
+
|
|
333
|
+
Default mode is BamIndex::LimitedIndexCaching.
|
|
334
|
+
|
|
335
|
+
\param mode desired cache mode for index, see BamIndex::IndexCacheMode for
|
|
336
|
+
description of the available cache modes
|
|
337
|
+
\sa HasIndex(), BamReader::SetIndexCacheMode()
|
|
338
|
+
*/
|
|
339
|
+
void BamMultiReader::SetIndexCacheMode(const BamIndex::IndexCacheMode& mode) {
|
|
340
|
+
d->SetIndexCacheMode(mode);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/*! \fn bool BamMultiReader::SetRegion(const BamRegion& region)
|
|
344
|
+
\brief Sets a target region of interest
|
|
345
|
+
|
|
346
|
+
Equivalent to calling BamReader::SetRegion() on all open BAM files.
|
|
347
|
+
|
|
348
|
+
\param region desired region-of-interest to activate
|
|
349
|
+
\returns \c true if ALL readers set the region successfully
|
|
350
|
+
\sa HasIndexes(), Jump(), BamReader::SetRegion()
|
|
351
|
+
*/
|
|
352
|
+
bool BamMultiReader::SetRegion(const BamRegion& region) {
|
|
353
|
+
return d->SetRegion(region);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/*! \fn bool BamMultiReader::SetRegion(const int& leftRefID,
|
|
357
|
+
const int& leftPosition,
|
|
358
|
+
const int& rightRefID,
|
|
359
|
+
const int& rightPosition)
|
|
360
|
+
\brief Sets a target region of interest
|
|
361
|
+
|
|
362
|
+
This is an overloaded function.
|
|
363
|
+
|
|
364
|
+
Equivalent to calling BamReader::SetRegion() on all open BAM files.
|
|
365
|
+
|
|
366
|
+
\param leftRefID referenceID of region's left boundary
|
|
367
|
+
\param leftPosition position of region's left boundary
|
|
368
|
+
\param rightRefID reference ID of region's right boundary
|
|
369
|
+
\param rightPosition position of region's right boundary
|
|
370
|
+
|
|
371
|
+
\returns \c true if ALL readers set the region successfully
|
|
372
|
+
\sa HasIndexes(), Jump(), BamReader::SetRegion()
|
|
373
|
+
*/
|
|
374
|
+
bool BamMultiReader::SetRegion(const int& leftRefID,
|
|
375
|
+
const int& leftPosition,
|
|
376
|
+
const int& rightRefID,
|
|
377
|
+
const int& rightPosition)
|
|
378
|
+
{
|
|
379
|
+
BamRegion region(leftRefID, leftPosition, rightRefID, rightPosition);
|
|
380
|
+
return d->SetRegion(region);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/*! \fn void BamMultiReader::SetSortOrder(const SortOrder& order)
|
|
384
|
+
\brief Sets the expected sorting order for reading across multiple BAM files.
|
|
385
|
+
|
|
386
|
+
Default is BamMultiReader::SortedByPosition.
|
|
387
|
+
|
|
388
|
+
The SortOrder determines how the reader determines which alignment is "next"
|
|
389
|
+
from among its open readers.
|
|
390
|
+
|
|
391
|
+
\param order expected sort order
|
|
392
|
+
*/
|
|
393
|
+
void BamMultiReader::SetSortOrder(const SortOrder& order) {
|
|
394
|
+
d->SetSortOrder(order);
|
|
395
|
+
}
|