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,95 @@
|
|
|
1
|
+
// ***************************************************************************
|
|
2
|
+
// SamConstants.h (c) 2010 Derek Barnett
|
|
3
|
+
// Marth Lab, Department of Biology, Boston College
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Last modified: 19 April 2011 (DB)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Provides constants for SAM header
|
|
8
|
+
// ***************************************************************************
|
|
9
|
+
|
|
10
|
+
#ifndef SAM_CONSTANTS_H
|
|
11
|
+
#define SAM_CONSTANTS_H
|
|
12
|
+
|
|
13
|
+
#include <api/api_global.h>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace BamTools {
|
|
17
|
+
namespace Constants {
|
|
18
|
+
|
|
19
|
+
// basic char constants used in SAM format
|
|
20
|
+
const char SAM_COLON = ':';
|
|
21
|
+
const char SAM_EQUAL = '=';
|
|
22
|
+
const char SAM_PERIOD = '.';
|
|
23
|
+
const char SAM_STAR = '*';
|
|
24
|
+
const char SAM_TAB = '\t';
|
|
25
|
+
const std::string SAM_DIGITS = "0123456789";
|
|
26
|
+
|
|
27
|
+
// HD entries
|
|
28
|
+
const std::string SAM_HD_BEGIN_TOKEN = "@HD";
|
|
29
|
+
const std::string SAM_HD_VERSION_TAG = "VN";
|
|
30
|
+
const std::string SAM_HD_SORTORDER_TAG = "SO";
|
|
31
|
+
const std::string SAM_HD_GROUPORDER_TAG = "GO";
|
|
32
|
+
|
|
33
|
+
// SQ entries
|
|
34
|
+
const std::string SAM_SQ_BEGIN_TOKEN = "@SQ";
|
|
35
|
+
const std::string SAM_SQ_ASSEMBLYID_TAG = "AS";
|
|
36
|
+
const std::string SAM_SQ_CHECKSUM_TAG = "M5";
|
|
37
|
+
const std::string SAM_SQ_LENGTH_TAG = "LN";
|
|
38
|
+
const std::string SAM_SQ_NAME_TAG = "SN";
|
|
39
|
+
const std::string SAM_SQ_SPECIES_TAG = "SP";
|
|
40
|
+
const std::string SAM_SQ_URI_TAG = "UR";
|
|
41
|
+
|
|
42
|
+
// RG entries
|
|
43
|
+
const std::string SAM_RG_BEGIN_TOKEN = "@RG";
|
|
44
|
+
const std::string SAM_RG_DESCRIPTION_TAG = "DS";
|
|
45
|
+
const std::string SAM_RG_FLOWORDER_TAG = "FO";
|
|
46
|
+
const std::string SAM_RG_ID_TAG = "ID";
|
|
47
|
+
const std::string SAM_RG_KEYSEQUENCE_TAG = "KS";
|
|
48
|
+
const std::string SAM_RG_LIBRARY_TAG = "LB";
|
|
49
|
+
const std::string SAM_RG_PLATFORMUNIT_TAG = "PU";
|
|
50
|
+
const std::string SAM_RG_PREDICTEDINSERTSIZE_TAG = "PI";
|
|
51
|
+
const std::string SAM_RG_PRODUCTIONDATE_TAG = "DT";
|
|
52
|
+
const std::string SAM_RG_PROGRAM_TAG = "PG";
|
|
53
|
+
const std::string SAM_RG_SAMPLE_TAG = "SM";
|
|
54
|
+
const std::string SAM_RG_SEQCENTER_TAG = "CN";
|
|
55
|
+
const std::string SAM_RG_SEQTECHNOLOGY_TAG = "PL";
|
|
56
|
+
|
|
57
|
+
// PG entries
|
|
58
|
+
const std::string SAM_PG_BEGIN_TOKEN = "@PG";
|
|
59
|
+
const std::string SAM_PG_COMMANDLINE_TAG = "CL";
|
|
60
|
+
const std::string SAM_PG_ID_TAG = "ID";
|
|
61
|
+
const std::string SAM_PG_NAME_TAG = "PN";
|
|
62
|
+
const std::string SAM_PG_PREVIOUSPROGRAM_TAG = "PP";
|
|
63
|
+
const std::string SAM_PG_VERSION_TAG = "VN";
|
|
64
|
+
|
|
65
|
+
// CO entries
|
|
66
|
+
const std::string SAM_CO_BEGIN_TOKEN = "@CO";
|
|
67
|
+
|
|
68
|
+
// HD:SO values
|
|
69
|
+
const std::string SAM_HD_SORTORDER_COORDINATE = "coordinate";
|
|
70
|
+
const std::string SAM_HD_SORTORDER_QUERYNAME = "queryname";
|
|
71
|
+
const std::string SAM_HD_SORTORDER_UNKNOWN = "unknown";
|
|
72
|
+
const std::string SAM_HD_SORTORDER_UNSORTED = "unsorted";
|
|
73
|
+
|
|
74
|
+
// HD:GO values
|
|
75
|
+
const std::string SAM_HD_GROUPORDER_NONE = "none";
|
|
76
|
+
const std::string SAM_HD_GROUPORDER_QUERY = "query";
|
|
77
|
+
const std::string SAM_HD_GROUPORDER_REFERENCE = "reference";
|
|
78
|
+
|
|
79
|
+
// SQ:LN values
|
|
80
|
+
const unsigned int SAM_SQ_LENGTH_MIN = 1;
|
|
81
|
+
const unsigned int SAM_SQ_LENGTH_MAX = 536870911; // 2^29 - 1
|
|
82
|
+
|
|
83
|
+
// RG:PL values
|
|
84
|
+
const std::string SAM_RG_SEQTECHNOLOGY_CAPILLARY = "CAPILLARY";
|
|
85
|
+
const std::string SAM_RG_SEQTECHNOLOGY_HELICOS = "HELICOS";
|
|
86
|
+
const std::string SAM_RG_SEQTECHNOLOGY_ILLUMINA = "ILLUMINA";
|
|
87
|
+
const std::string SAM_RG_SEQTECHNOLOGY_IONTORRENT = "IONTORRENT";
|
|
88
|
+
const std::string SAM_RG_SEQTECHNOLOGY_LS454 = "LS454";
|
|
89
|
+
const std::string SAM_RG_SEQTECHNOLOGY_PACBIO = "PACBIO";
|
|
90
|
+
const std::string SAM_RG_SEQTECHNOLOGY_SOLID = "SOLID";
|
|
91
|
+
|
|
92
|
+
} // namespace Constants
|
|
93
|
+
} // namespace BamTools
|
|
94
|
+
|
|
95
|
+
#endif // SAM_CONSTANTS_H
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
// ***************************************************************************
|
|
2
|
+
// SamHeader.cpp (c) 2010 Derek Barnett
|
|
3
|
+
// Marth Lab, Department of Biology, Boston College
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Last modified: 19 April 2011 (DB)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Provides direct read/write access to the SAM header data fields.
|
|
8
|
+
// ***************************************************************************
|
|
9
|
+
|
|
10
|
+
#include <api/SamConstants.h>
|
|
11
|
+
#include <api/SamHeader.h>
|
|
12
|
+
#include <api/internal/SamFormatParser_p.h>
|
|
13
|
+
#include <api/internal/SamFormatPrinter_p.h>
|
|
14
|
+
#include <api/internal/SamHeaderValidator_p.h>
|
|
15
|
+
using namespace BamTools;
|
|
16
|
+
using namespace BamTools::Internal;
|
|
17
|
+
using namespace std;
|
|
18
|
+
|
|
19
|
+
/*! \struct BamTools::SamHeader
|
|
20
|
+
\brief Represents the SAM-formatted text header that is part of the BAM file header.
|
|
21
|
+
|
|
22
|
+
Provides direct read/write access to the SAM header data fields.
|
|
23
|
+
|
|
24
|
+
\sa \samSpecURL
|
|
25
|
+
*/
|
|
26
|
+
/*! \var SamHeader::Version
|
|
27
|
+
\brief corresponds to \@HD VN:\<Version\>
|
|
28
|
+
|
|
29
|
+
Required for valid SAM header, if @HD record is present.
|
|
30
|
+
*/
|
|
31
|
+
/*! \var SamHeader::SortOrder
|
|
32
|
+
\brief corresponds to \@HD SO:\<SortOrder\>
|
|
33
|
+
*/
|
|
34
|
+
/*! \var SamHeader::GroupOrder
|
|
35
|
+
\brief corresponds to \@HD GO:\<GroupOrder\>
|
|
36
|
+
*/
|
|
37
|
+
/*! \var SamHeader::Sequences
|
|
38
|
+
\brief corresponds to \@SQ entries
|
|
39
|
+
\sa SamSequence, SamSequenceDictionary
|
|
40
|
+
*/
|
|
41
|
+
/*! \var SamHeader::ReadGroups
|
|
42
|
+
\brief corresponds to \@RG entries
|
|
43
|
+
\sa SamReadGroup, SamReadGroupDictionary
|
|
44
|
+
*/
|
|
45
|
+
/*! \var SamHeader::ProgramName
|
|
46
|
+
\brief corresponds to \@PG ID:\<ProgramName\>
|
|
47
|
+
*/
|
|
48
|
+
/*! \var SamHeader::ProgramVersion
|
|
49
|
+
\brief corresponds to \@PG VN:\<ProgramVersion\>
|
|
50
|
+
*/
|
|
51
|
+
/*! \var SamHeader::ProgramCommandLine
|
|
52
|
+
\brief corresponds to \@PG CL:\<ProgramCommandLine\>
|
|
53
|
+
*/
|
|
54
|
+
/*! \var SamHeader::Comments
|
|
55
|
+
\brief corresponds to \@CO entries
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/*! \fn SamHeader::SamHeader(const std::string& headerText = "")
|
|
59
|
+
\brief constructor
|
|
60
|
+
*/
|
|
61
|
+
SamHeader::SamHeader(const std::string& headerText)
|
|
62
|
+
: Version("")
|
|
63
|
+
, SortOrder(Constants::SAM_HD_SORTORDER_UNKNOWN)
|
|
64
|
+
, GroupOrder("")
|
|
65
|
+
{
|
|
66
|
+
SamFormatParser parser(*this);
|
|
67
|
+
parser.Parse(headerText);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/*! \fn SamHeader::SamHeader(const SamHeader& other)
|
|
71
|
+
\brief copy constructor
|
|
72
|
+
*/
|
|
73
|
+
SamHeader::SamHeader(const SamHeader& other)
|
|
74
|
+
: Version(other.Version)
|
|
75
|
+
, SortOrder(other.SortOrder)
|
|
76
|
+
, GroupOrder(other.GroupOrder)
|
|
77
|
+
, Sequences(other.Sequences)
|
|
78
|
+
, ReadGroups(other.ReadGroups)
|
|
79
|
+
, Programs(other.Programs)
|
|
80
|
+
{ }
|
|
81
|
+
|
|
82
|
+
/*! \fn SamHeader::~SamHeader(void)
|
|
83
|
+
\brief destructor
|
|
84
|
+
*/
|
|
85
|
+
SamHeader::~SamHeader(void) { }
|
|
86
|
+
|
|
87
|
+
/*! \fn void SamHeader::Clear(void)
|
|
88
|
+
\brief Clears all header contents.
|
|
89
|
+
*/
|
|
90
|
+
void SamHeader::Clear(void) {
|
|
91
|
+
Version.clear();
|
|
92
|
+
SortOrder.clear();
|
|
93
|
+
GroupOrder.clear();
|
|
94
|
+
Sequences.Clear();
|
|
95
|
+
ReadGroups.Clear();
|
|
96
|
+
Programs.Clear();
|
|
97
|
+
Comments.clear();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/*! \fn bool SamHeader::HasVersion(void) const
|
|
101
|
+
\brief Returns \c true if header contains \@HD ID:\<Version\>
|
|
102
|
+
*/
|
|
103
|
+
bool SamHeader::HasVersion(void) const {
|
|
104
|
+
return (!Version.empty());
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/*! \fn bool SamHeader::HasSortOrder(void) const
|
|
108
|
+
\brief Returns \c true if header contains \@HD SO:\<SortOrder\>
|
|
109
|
+
*/
|
|
110
|
+
bool SamHeader::HasSortOrder(void) const {
|
|
111
|
+
return (!SortOrder.empty());
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/*! \fn bool SamHeader::HasGroupOrder(void) const
|
|
115
|
+
\brief Returns \c true if header contains \@HD GO:\<GroupOrder\>
|
|
116
|
+
*/
|
|
117
|
+
bool SamHeader::HasGroupOrder(void) const {
|
|
118
|
+
return (!GroupOrder.empty());
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/*! \fn bool SamHeader::HasSequences(void) const
|
|
122
|
+
\brief Returns \c true if header contains any \@SQ entries
|
|
123
|
+
*/
|
|
124
|
+
bool SamHeader::HasSequences(void) const {
|
|
125
|
+
return (!Sequences.IsEmpty());
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/*! \fn bool SamHeader::HasReadGroups(void) const
|
|
129
|
+
\brief Returns \c true if header contains any \@RG entries
|
|
130
|
+
*/
|
|
131
|
+
bool SamHeader::HasReadGroups(void) const {
|
|
132
|
+
return (!ReadGroups.IsEmpty());
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/*! \fn bool SamHeader::HasPrograms(void) const
|
|
136
|
+
\brief Returns \c true if header contains any \@PG entries
|
|
137
|
+
*/
|
|
138
|
+
bool SamHeader::HasPrograms(void) const {
|
|
139
|
+
return (!Programs.IsEmpty());
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/*! \fn bool SamHeader::HasComments(void) const
|
|
143
|
+
\brief Returns \c true if header contains any \@CO entries
|
|
144
|
+
*/
|
|
145
|
+
bool SamHeader::HasComments(void) const {
|
|
146
|
+
return (!Comments.empty());
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/*! \fn bool SamHeader::IsValid(bool verbose = false) const
|
|
150
|
+
\brief Checks header contents for required data and proper formatting.
|
|
151
|
+
\param verbose If set to true, validation errors & warnings will be printed to stderr.
|
|
152
|
+
Otherwise, output is suppressed and only validation check occurs.
|
|
153
|
+
\return \c true if SAM header is well-formed
|
|
154
|
+
*/
|
|
155
|
+
bool SamHeader::IsValid(bool verbose) const {
|
|
156
|
+
SamHeaderValidator validator(*this);
|
|
157
|
+
return validator.Validate(verbose);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/*! \fn void SamHeader::SetHeaderText(const std::string& headerText)
|
|
161
|
+
\brief Replaces header contents with \a headerText.
|
|
162
|
+
\param headerText SAM formatted-text that will be parsed into data fields
|
|
163
|
+
*/
|
|
164
|
+
void SamHeader::SetHeaderText(const std::string& headerText) {
|
|
165
|
+
|
|
166
|
+
// clear prior data
|
|
167
|
+
Clear();
|
|
168
|
+
|
|
169
|
+
// parse header text into data
|
|
170
|
+
SamFormatParser parser(*this);
|
|
171
|
+
parser.Parse(headerText);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/*! \fn std::string SamHeader::ToString(void) const
|
|
175
|
+
\brief Converts data fields to SAM-formatted text.
|
|
176
|
+
|
|
177
|
+
Applies any local modifications made since creating this object or calling SetHeaderText().
|
|
178
|
+
|
|
179
|
+
\return SAM-formatted header text
|
|
180
|
+
*/
|
|
181
|
+
string SamHeader::ToString(void) const {
|
|
182
|
+
SamFormatPrinter printer(*this);
|
|
183
|
+
return printer.ToString();
|
|
184
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// ***************************************************************************
|
|
2
|
+
// SamHeader.h (c) 2010 Derek Barnett
|
|
3
|
+
// Marth Lab, Department of Biology, Boston College
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Last modified: 18 April 2011 (DB)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Provides direct read/write access to the SAM header data fields.
|
|
8
|
+
// ***************************************************************************
|
|
9
|
+
|
|
10
|
+
#ifndef SAM_HEADER_H
|
|
11
|
+
#define SAM_HEADER_H
|
|
12
|
+
|
|
13
|
+
#include <api/api_global.h>
|
|
14
|
+
#include <api/SamProgramChain.h>
|
|
15
|
+
#include <api/SamReadGroupDictionary.h>
|
|
16
|
+
#include <api/SamSequenceDictionary.h>
|
|
17
|
+
#include <string>
|
|
18
|
+
#include <vector>
|
|
19
|
+
|
|
20
|
+
namespace BamTools {
|
|
21
|
+
|
|
22
|
+
struct API_EXPORT SamHeader {
|
|
23
|
+
|
|
24
|
+
// ctor & dtor
|
|
25
|
+
SamHeader(const std::string& headerText = "");
|
|
26
|
+
SamHeader(const SamHeader& other);
|
|
27
|
+
~SamHeader(void);
|
|
28
|
+
|
|
29
|
+
// query/modify entire SamHeader
|
|
30
|
+
void Clear(void); // clears all header contents
|
|
31
|
+
bool IsValid(bool verbose = false) const; // returns true if SAM header is well-formed
|
|
32
|
+
void SetHeaderText(const std::string& headerText); // replaces data fields with contents of SAM-formatted text
|
|
33
|
+
std::string ToString(void) const; // returns the printable, SAM-formatted header text
|
|
34
|
+
|
|
35
|
+
// convenience query methods
|
|
36
|
+
bool HasVersion(void) const; // returns true if header contains format version entry
|
|
37
|
+
bool HasSortOrder(void) const; // returns true if header contains sort order entry
|
|
38
|
+
bool HasGroupOrder(void) const; // returns true if header contains group order entry
|
|
39
|
+
bool HasSequences(void) const; // returns true if header contains any sequence entries
|
|
40
|
+
bool HasReadGroups(void) const; // returns true if header contains any read group entries
|
|
41
|
+
bool HasPrograms(void) const; // returns true if header contains any program record entries
|
|
42
|
+
bool HasComments(void) const; // returns true if header contains comments
|
|
43
|
+
|
|
44
|
+
// --------------
|
|
45
|
+
// data members
|
|
46
|
+
// --------------
|
|
47
|
+
|
|
48
|
+
// header metadata (@HD line)
|
|
49
|
+
std::string Version; // VN:<Version> *Required for valid SAM header, if @HD record is present*
|
|
50
|
+
std::string SortOrder; // SO:<SortOrder>
|
|
51
|
+
std::string GroupOrder; // GO:<GroupOrder>
|
|
52
|
+
|
|
53
|
+
// header sequences (@SQ entries)
|
|
54
|
+
SamSequenceDictionary Sequences;
|
|
55
|
+
|
|
56
|
+
// header read groups (@RG entries)
|
|
57
|
+
SamReadGroupDictionary ReadGroups;
|
|
58
|
+
|
|
59
|
+
// header program data (@PG entries)
|
|
60
|
+
SamProgramChain Programs;
|
|
61
|
+
|
|
62
|
+
// header comments (@CO entries)
|
|
63
|
+
std::vector<std::string> Comments;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
} // namespace BamTools
|
|
67
|
+
|
|
68
|
+
#endif // SAM_HEADER_H
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
// ***************************************************************************
|
|
2
|
+
// SamProgram.cpp (c) 2011 Derek Barnett
|
|
3
|
+
// Marth Lab, Department of Biology, Boston College
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Last modified: 19 April 2011 (DB)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Provides direct read/write access to the SAM header program records.
|
|
8
|
+
// ***************************************************************************
|
|
9
|
+
|
|
10
|
+
#include <api/SamProgram.h>
|
|
11
|
+
using namespace BamTools;
|
|
12
|
+
using namespace std;
|
|
13
|
+
|
|
14
|
+
/*! \struct BamTools::SamProgram
|
|
15
|
+
\brief Represents a SAM program record.
|
|
16
|
+
|
|
17
|
+
Provides direct read/write access to the SAM header program records.
|
|
18
|
+
|
|
19
|
+
\sa \samSpecURL
|
|
20
|
+
*/
|
|
21
|
+
/*! \var SamProgram::CommandLine
|
|
22
|
+
\brief corresponds to \@PG CL:\<CommandLine\>
|
|
23
|
+
*/
|
|
24
|
+
/*! \var SamProgram::ID
|
|
25
|
+
\brief corresponds to \@PG ID:\<ID\>
|
|
26
|
+
|
|
27
|
+
Required for valid SAM header.
|
|
28
|
+
*/
|
|
29
|
+
/*! \var SamProgram::Name
|
|
30
|
+
\brief corresponds to \@PG PN:\<Name\>
|
|
31
|
+
*/
|
|
32
|
+
/*! \var SamProgram::PreviousProgramID
|
|
33
|
+
\brief corresponds to \@PG PP:\<PreviousProgramID\>
|
|
34
|
+
*/
|
|
35
|
+
/*! \var SamProgram::Version
|
|
36
|
+
\brief corresponds to \@PG VN:\<Version\>
|
|
37
|
+
*/
|
|
38
|
+
/*! \var SamProgram::NextProgramID
|
|
39
|
+
\internal
|
|
40
|
+
Holds ID of the "next" program record in a SamProgramChain
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/*! \fn SamProgram::SamProgram(void)
|
|
44
|
+
\brief default constructor
|
|
45
|
+
*/
|
|
46
|
+
SamProgram::SamProgram(void)
|
|
47
|
+
: CommandLine("")
|
|
48
|
+
, ID("")
|
|
49
|
+
, Name("")
|
|
50
|
+
, PreviousProgramID("")
|
|
51
|
+
, Version("")
|
|
52
|
+
, NextProgramID("")
|
|
53
|
+
{ }
|
|
54
|
+
|
|
55
|
+
/*! \fn SamProgram::SamProgram(const std::string& id)
|
|
56
|
+
\brief constructs program record with \a id
|
|
57
|
+
|
|
58
|
+
\param id desired program record ID
|
|
59
|
+
*/
|
|
60
|
+
SamProgram::SamProgram(const std::string& id)
|
|
61
|
+
: CommandLine("")
|
|
62
|
+
, ID(id)
|
|
63
|
+
, Name("")
|
|
64
|
+
, PreviousProgramID("")
|
|
65
|
+
, Version("")
|
|
66
|
+
, NextProgramID("")
|
|
67
|
+
{ }
|
|
68
|
+
|
|
69
|
+
/*! \fn SamProgram::SamProgram(const SamProgram& other)
|
|
70
|
+
\brief copy constructor
|
|
71
|
+
*/
|
|
72
|
+
SamProgram::SamProgram(const SamProgram& other)
|
|
73
|
+
: CommandLine(other.CommandLine)
|
|
74
|
+
, ID(other.ID)
|
|
75
|
+
, Name(other.Name)
|
|
76
|
+
, PreviousProgramID(other.PreviousProgramID)
|
|
77
|
+
, Version(other.Version)
|
|
78
|
+
, NextProgramID(other.NextProgramID)
|
|
79
|
+
{ }
|
|
80
|
+
|
|
81
|
+
/*! \fn SamProgram::~SamProgram(void)
|
|
82
|
+
\brief destructor
|
|
83
|
+
*/
|
|
84
|
+
SamProgram::~SamProgram(void) { }
|
|
85
|
+
|
|
86
|
+
/*! \fn void SamProgram::Clear(void)
|
|
87
|
+
\brief Clears all data fields.
|
|
88
|
+
*/
|
|
89
|
+
void SamProgram::Clear(void) {
|
|
90
|
+
CommandLine.clear();
|
|
91
|
+
ID.clear();
|
|
92
|
+
Name.clear();
|
|
93
|
+
PreviousProgramID.clear();
|
|
94
|
+
Version.clear();
|
|
95
|
+
NextProgramID.clear();
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/*! \fn bool SamProgram::HasCommandLine(void) const
|
|
99
|
+
\brief Returns \c true if program record contains \@PG: CL:\<CommandLine\>
|
|
100
|
+
*/
|
|
101
|
+
bool SamProgram::HasCommandLine(void) const {
|
|
102
|
+
return (!CommandLine.empty());
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/*! \fn bool SamProgram::HasID(void) const
|
|
106
|
+
\brief Returns \c true if program record contains \@PG: ID:\<ID\>
|
|
107
|
+
*/
|
|
108
|
+
bool SamProgram::HasID(void) const {
|
|
109
|
+
return (!ID.empty());
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/*! \fn bool SamProgram::HasName(void) const
|
|
113
|
+
\brief Returns \c true if program record contains \@PG: PN:\<Name\>
|
|
114
|
+
*/
|
|
115
|
+
bool SamProgram::HasName(void) const {
|
|
116
|
+
return (!Name.empty());
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/*! \fn bool SamProgram::HasNextProgramID(void) const
|
|
120
|
+
\internal
|
|
121
|
+
\return true if program has a "next" record in a SamProgramChain
|
|
122
|
+
*/
|
|
123
|
+
bool SamProgram::HasNextProgramID(void) const {
|
|
124
|
+
return (!NextProgramID.empty());
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/*! \fn bool SamProgram::HasPreviousProgramID(void) const
|
|
128
|
+
\brief Returns \c true if program record contains \@PG: PP:\<PreviousProgramID\>
|
|
129
|
+
*/
|
|
130
|
+
bool SamProgram::HasPreviousProgramID(void) const {
|
|
131
|
+
return (!PreviousProgramID.empty());
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/*! \fn bool SamProgram::HasVersion(void) const
|
|
135
|
+
\brief Returns \c true if program record contains \@PG: VN:\<Version\>
|
|
136
|
+
*/
|
|
137
|
+
bool SamProgram::HasVersion(void) const {
|
|
138
|
+
return (!Version.empty());
|
|
139
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// ***************************************************************************
|
|
2
|
+
// SamProgram.h (c) 2011 Derek Barnett
|
|
3
|
+
// Marth Lab, Department of Biology, Boston College
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Last modified: 19 April 2011 (DB)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Provides direct read/write access to the SAM header program records.
|
|
8
|
+
// ***************************************************************************
|
|
9
|
+
|
|
10
|
+
#ifndef SAM_PROGRAM_H
|
|
11
|
+
#define SAM_PROGRAM_H
|
|
12
|
+
|
|
13
|
+
#include "api/api_global.h"
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace BamTools {
|
|
17
|
+
|
|
18
|
+
class SamProgramChain;
|
|
19
|
+
|
|
20
|
+
struct API_EXPORT SamProgram {
|
|
21
|
+
|
|
22
|
+
// ctor & dtor
|
|
23
|
+
SamProgram(void);
|
|
24
|
+
SamProgram(const std::string& id);
|
|
25
|
+
SamProgram(const SamProgram& other);
|
|
26
|
+
~SamProgram(void);
|
|
27
|
+
|
|
28
|
+
// query/modify entire program record
|
|
29
|
+
void Clear(void); // clears all data fields
|
|
30
|
+
|
|
31
|
+
// convenience query methods
|
|
32
|
+
bool HasCommandLine(void) const; // returns true if program record has a command line entry
|
|
33
|
+
bool HasID(void) const; // returns true if program record has an ID
|
|
34
|
+
bool HasName(void) const; // returns true if program record has a name
|
|
35
|
+
bool HasPreviousProgramID(void) const; // returns true if program record has a 'previous program ID'
|
|
36
|
+
bool HasVersion(void) const; // returns true if program record has a version
|
|
37
|
+
|
|
38
|
+
// data members
|
|
39
|
+
std::string CommandLine; // CL:<CommandLine>
|
|
40
|
+
std::string ID; // ID:<ID> *Required for valid SAM header*
|
|
41
|
+
std::string Name; // PN:<Name>
|
|
42
|
+
std::string PreviousProgramID; // PP:<PreviousProgramID>
|
|
43
|
+
std::string Version; // VN:<Version>
|
|
44
|
+
|
|
45
|
+
// internal (non-standard) methods & fields
|
|
46
|
+
private:
|
|
47
|
+
bool HasNextProgramID(void) const;
|
|
48
|
+
std::string NextProgramID;
|
|
49
|
+
friend class BamTools::SamProgramChain;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/*! \fn bool operator==(const SamProgram& lhs, const SamProgram& rhs)
|
|
53
|
+
\brief tests equality by comparing program IDs
|
|
54
|
+
*/
|
|
55
|
+
API_EXPORT inline bool operator==(const SamProgram& lhs, const SamProgram& rhs) {
|
|
56
|
+
return lhs.ID == rhs.ID;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
} // namespace BamTools
|
|
60
|
+
|
|
61
|
+
#endif // SAM_PROGRAM_H
|