ngs_server 0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|