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.
Files changed (284) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +4 -0
  3. data/Rakefile +2 -0
  4. data/bin/ngs_server +58 -0
  5. data/data/holder.txt +0 -0
  6. data/ext/bamtools/CMakeLists.txt +49 -0
  7. data/ext/bamtools/LICENSE +22 -0
  8. data/ext/bamtools/README +60 -0
  9. data/ext/bamtools/Tutorial_Toolkit_BamTools-1.0.pdf +0 -0
  10. data/ext/bamtools/docs/Doxyfile +1601 -0
  11. data/ext/bamtools/extconf.rb +9 -0
  12. data/ext/bamtools/src/CMakeFiles/CMakeDirectoryInformation.cmake +22 -0
  13. data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/DependInfo.cmake +13 -0
  14. data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/build.make +65 -0
  15. data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/cmake_clean.cmake +8 -0
  16. data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/depend.internal +3 -0
  17. data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/depend.make +3 -0
  18. data/ext/bamtools/src/CMakeFiles/SharedHeaders.dir/progress.make +2 -0
  19. data/ext/bamtools/src/CMakeFiles/progress.marks +1 -0
  20. data/ext/bamtools/src/CMakeLists.txt +18 -0
  21. data/ext/bamtools/src/ExportHeader.cmake +31 -0
  22. data/ext/bamtools/src/Makefile +182 -0
  23. data/ext/bamtools/src/api/BamAlignment.cpp +2432 -0
  24. data/ext/bamtools/src/api/BamAlignment.h +206 -0
  25. data/ext/bamtools/src/api/BamAux.h +456 -0
  26. data/ext/bamtools/src/api/BamConstants.h +127 -0
  27. data/ext/bamtools/src/api/BamIndex.h +79 -0
  28. data/ext/bamtools/src/api/BamMultiReader.cpp +395 -0
  29. data/ext/bamtools/src/api/BamMultiReader.h +126 -0
  30. data/ext/bamtools/src/api/BamReader.cpp +369 -0
  31. data/ext/bamtools/src/api/BamReader.h +117 -0
  32. data/ext/bamtools/src/api/BamWriter.cpp +142 -0
  33. data/ext/bamtools/src/api/BamWriter.h +63 -0
  34. data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/DependInfo.cmake +14 -0
  35. data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/build.make +80 -0
  36. data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/cmake_clean.cmake +8 -0
  37. data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/depend.internal +3 -0
  38. data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/depend.make +3 -0
  39. data/ext/bamtools/src/api/CMakeFiles/APIHeaders.dir/progress.make +2 -0
  40. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/BamAlignment.cpp.o +0 -0
  41. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/BamMultiReader.cpp.o +0 -0
  42. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/BamReader.cpp.o +0 -0
  43. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/BamWriter.cpp.o +0 -0
  44. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/CXX.includecache +596 -0
  45. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/DependInfo.cmake +41 -0
  46. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamHeader.cpp.o +0 -0
  47. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamProgram.cpp.o +0 -0
  48. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamProgramChain.cpp.o +0 -0
  49. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamReadGroup.cpp.o +0 -0
  50. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamReadGroupDictionary.cpp.o +0 -0
  51. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamSequence.cpp.o +0 -0
  52. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/SamSequenceDictionary.cpp.o +0 -0
  53. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/build.make +675 -0
  54. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/cmake_clean.cmake +32 -0
  55. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/cmake_clean_target.cmake +3 -0
  56. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/depend.internal +295 -0
  57. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/depend.make +295 -0
  58. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/flags.make +8 -0
  59. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamHeader_p.cpp.o +0 -0
  60. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamIndexFactory_p.cpp.o +0 -0
  61. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamMultiReader_p.cpp.o +0 -0
  62. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamRandomAccessController_p.cpp.o +0 -0
  63. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamReader_p.cpp.o +0 -0
  64. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamStandardIndex_p.cpp.o +0 -0
  65. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamToolsIndex_p.cpp.o +0 -0
  66. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BamWriter_p.cpp.o +0 -0
  67. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/BgzfStream_p.cpp.o +0 -0
  68. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/SamFormatParser_p.cpp.o +0 -0
  69. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/SamFormatPrinter_p.cpp.o +0 -0
  70. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/internal/SamHeaderValidator_p.cpp.o +0 -0
  71. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/link.txt +2 -0
  72. data/ext/bamtools/src/api/CMakeFiles/BamTools-static.dir/progress.make +24 -0
  73. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/BamAlignment.cpp.o +0 -0
  74. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/BamMultiReader.cpp.o +0 -0
  75. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/BamReader.cpp.o +0 -0
  76. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/BamWriter.cpp.o +0 -0
  77. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/CXX.includecache +596 -0
  78. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/DependInfo.cmake +47 -0
  79. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamHeader.cpp.o +0 -0
  80. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamProgram.cpp.o +0 -0
  81. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamProgramChain.cpp.o +0 -0
  82. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamReadGroup.cpp.o +0 -0
  83. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamReadGroupDictionary.cpp.o +0 -0
  84. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamSequence.cpp.o +0 -0
  85. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/SamSequenceDictionary.cpp.o +0 -0
  86. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/build.make +677 -0
  87. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/cmake_clean.cmake +33 -0
  88. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/depend.internal +295 -0
  89. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/depend.make +295 -0
  90. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/flags.make +8 -0
  91. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamHeader_p.cpp.o +0 -0
  92. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamIndexFactory_p.cpp.o +0 -0
  93. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamMultiReader_p.cpp.o +0 -0
  94. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamRandomAccessController_p.cpp.o +0 -0
  95. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamReader_p.cpp.o +0 -0
  96. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamStandardIndex_p.cpp.o +0 -0
  97. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamToolsIndex_p.cpp.o +0 -0
  98. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BamWriter_p.cpp.o +0 -0
  99. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/BgzfStream_p.cpp.o +0 -0
  100. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/SamFormatParser_p.cpp.o +0 -0
  101. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/SamFormatPrinter_p.cpp.o +0 -0
  102. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/internal/SamHeaderValidator_p.cpp.o +0 -0
  103. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/link.txt +1 -0
  104. data/ext/bamtools/src/api/CMakeFiles/BamTools.dir/progress.make +24 -0
  105. data/ext/bamtools/src/api/CMakeFiles/CMakeDirectoryInformation.cmake +22 -0
  106. data/ext/bamtools/src/api/CMakeFiles/progress.marks +1 -0
  107. data/ext/bamtools/src/api/CMakeLists.txt +78 -0
  108. data/ext/bamtools/src/api/Makefile +902 -0
  109. data/ext/bamtools/src/api/SamConstants.h +95 -0
  110. data/ext/bamtools/src/api/SamHeader.cpp +184 -0
  111. data/ext/bamtools/src/api/SamHeader.h +68 -0
  112. data/ext/bamtools/src/api/SamProgram.cpp +139 -0
  113. data/ext/bamtools/src/api/SamProgram.h +61 -0
  114. data/ext/bamtools/src/api/SamProgramChain.cpp +351 -0
  115. data/ext/bamtools/src/api/SamProgramChain.h +85 -0
  116. data/ext/bamtools/src/api/SamReadGroup.cpp +221 -0
  117. data/ext/bamtools/src/api/SamReadGroup.h +68 -0
  118. data/ext/bamtools/src/api/SamReadGroupDictionary.cpp +289 -0
  119. data/ext/bamtools/src/api/SamReadGroupDictionary.h +86 -0
  120. data/ext/bamtools/src/api/SamSequence.cpp +161 -0
  121. data/ext/bamtools/src/api/SamSequence.h +60 -0
  122. data/ext/bamtools/src/api/SamSequenceDictionary.cpp +292 -0
  123. data/ext/bamtools/src/api/SamSequenceDictionary.h +88 -0
  124. data/ext/bamtools/src/api/api_global.h +21 -0
  125. data/ext/bamtools/src/api/cmake_install.cmake +122 -0
  126. data/ext/bamtools/src/api/internal/BamHeader_p.cpp +132 -0
  127. data/ext/bamtools/src/api/internal/BamHeader_p.h +71 -0
  128. data/ext/bamtools/src/api/internal/BamIndexFactory_p.cpp +112 -0
  129. data/ext/bamtools/src/api/internal/BamIndexFactory_p.h +49 -0
  130. data/ext/bamtools/src/api/internal/BamMultiMerger_p.h +297 -0
  131. data/ext/bamtools/src/api/internal/BamMultiReader_p.cpp +805 -0
  132. data/ext/bamtools/src/api/internal/BamMultiReader_p.h +103 -0
  133. data/ext/bamtools/src/api/internal/BamRandomAccessController_p.cpp +272 -0
  134. data/ext/bamtools/src/api/internal/BamRandomAccessController_p.h +93 -0
  135. data/ext/bamtools/src/api/internal/BamReader_p.cpp +380 -0
  136. data/ext/bamtools/src/api/internal/BamReader_p.h +112 -0
  137. data/ext/bamtools/src/api/internal/BamStandardIndex_p.cpp +986 -0
  138. data/ext/bamtools/src/api/internal/BamStandardIndex_p.h +236 -0
  139. data/ext/bamtools/src/api/internal/BamToolsIndex_p.cpp +641 -0
  140. data/ext/bamtools/src/api/internal/BamToolsIndex_p.h +187 -0
  141. data/ext/bamtools/src/api/internal/BamWriter_p.cpp +424 -0
  142. data/ext/bamtools/src/api/internal/BamWriter_p.h +66 -0
  143. data/ext/bamtools/src/api/internal/BgzfStream_p.cpp +438 -0
  144. data/ext/bamtools/src/api/internal/BgzfStream_p.h +108 -0
  145. data/ext/bamtools/src/api/internal/SamFormatParser_p.cpp +230 -0
  146. data/ext/bamtools/src/api/internal/SamFormatParser_p.h +61 -0
  147. data/ext/bamtools/src/api/internal/SamFormatPrinter_p.cpp +210 -0
  148. data/ext/bamtools/src/api/internal/SamFormatPrinter_p.h +60 -0
  149. data/ext/bamtools/src/api/internal/SamHeaderValidator_p.cpp +510 -0
  150. data/ext/bamtools/src/api/internal/SamHeaderValidator_p.h +101 -0
  151. data/ext/bamtools/src/api/internal/SamHeaderVersion_p.h +134 -0
  152. data/ext/bamtools/src/cmake_install.cmake +42 -0
  153. data/ext/bamtools/src/shared/bamtools_global.h +78 -0
  154. data/ext/bamtools/src/third_party/CMakeFiles/CMakeDirectoryInformation.cmake +22 -0
  155. data/ext/bamtools/src/third_party/CMakeFiles/progress.marks +1 -0
  156. data/ext/bamtools/src/third_party/CMakeLists.txt +10 -0
  157. data/ext/bamtools/src/third_party/Makefile +167 -0
  158. data/ext/bamtools/src/third_party/cmake_install.cmake +35 -0
  159. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/CMakeDirectoryInformation.cmake +22 -0
  160. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/CXX.includecache +144 -0
  161. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/DependInfo.cmake +27 -0
  162. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/build.make +157 -0
  163. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/cmake_clean.cmake +13 -0
  164. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/depend.internal +31 -0
  165. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/depend.make +31 -0
  166. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/flags.make +8 -0
  167. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_reader.cpp.o +0 -0
  168. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_value.cpp.o +0 -0
  169. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/json_writer.cpp.o +0 -0
  170. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/link.txt +1 -0
  171. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/jsoncpp.dir/progress.make +4 -0
  172. data/ext/bamtools/src/third_party/jsoncpp/CMakeFiles/progress.marks +1 -0
  173. data/ext/bamtools/src/third_party/jsoncpp/CMakeLists.txt +23 -0
  174. data/ext/bamtools/src/third_party/jsoncpp/LICENSE +55 -0
  175. data/ext/bamtools/src/third_party/jsoncpp/Makefile +263 -0
  176. data/ext/bamtools/src/third_party/jsoncpp/cmake_install.cmake +29 -0
  177. data/ext/bamtools/src/third_party/jsoncpp/json.h +15 -0
  178. data/ext/bamtools/src/third_party/jsoncpp/json_batchallocator.h +130 -0
  179. data/ext/bamtools/src/third_party/jsoncpp/json_config.h +42 -0
  180. data/ext/bamtools/src/third_party/jsoncpp/json_features.h +47 -0
  181. data/ext/bamtools/src/third_party/jsoncpp/json_forwards.h +42 -0
  182. data/ext/bamtools/src/third_party/jsoncpp/json_internalarray.inl +453 -0
  183. data/ext/bamtools/src/third_party/jsoncpp/json_internalmap.inl +612 -0
  184. data/ext/bamtools/src/third_party/jsoncpp/json_reader.cpp +870 -0
  185. data/ext/bamtools/src/third_party/jsoncpp/json_reader.h +201 -0
  186. data/ext/bamtools/src/third_party/jsoncpp/json_tool.h +93 -0
  187. data/ext/bamtools/src/third_party/jsoncpp/json_value.cpp +1701 -0
  188. data/ext/bamtools/src/third_party/jsoncpp/json_value.h +1059 -0
  189. data/ext/bamtools/src/third_party/jsoncpp/json_valueiterator.inl +297 -0
  190. data/ext/bamtools/src/third_party/jsoncpp/json_writer.cpp +819 -0
  191. data/ext/bamtools/src/third_party/jsoncpp/json_writer.h +179 -0
  192. data/ext/bamtools/src/toolkit/CMakeFiles/CMakeDirectoryInformation.cmake +25 -0
  193. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/CXX.includecache +698 -0
  194. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/DependInfo.cmake +34 -0
  195. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools.cpp.o +0 -0
  196. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_convert.cpp.o +0 -0
  197. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_count.cpp.o +0 -0
  198. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_coverage.cpp.o +0 -0
  199. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_filter.cpp.o +0 -0
  200. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_header.cpp.o +0 -0
  201. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_index.cpp.o +0 -0
  202. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_merge.cpp.o +0 -0
  203. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_random.cpp.o +0 -0
  204. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_resolve.cpp.o +0 -0
  205. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_revert.cpp.o +0 -0
  206. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_sort.cpp.o +0 -0
  207. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_split.cpp.o +0 -0
  208. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/bamtools_stats.cpp.o +0 -0
  209. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/build.make +447 -0
  210. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/cmake_clean.cmake +24 -0
  211. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/depend.internal +319 -0
  212. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/depend.make +319 -0
  213. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/flags.make +8 -0
  214. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/link.txt +1 -0
  215. data/ext/bamtools/src/toolkit/CMakeFiles/bamtools_cmd.dir/progress.make +15 -0
  216. data/ext/bamtools/src/toolkit/CMakeFiles/progress.marks +1 -0
  217. data/ext/bamtools/src/toolkit/CMakeLists.txt +44 -0
  218. data/ext/bamtools/src/toolkit/Makefile +560 -0
  219. data/ext/bamtools/src/toolkit/bamtools.cpp +163 -0
  220. data/ext/bamtools/src/toolkit/bamtools_convert.cpp +888 -0
  221. data/ext/bamtools/src/toolkit/bamtools_convert.h +37 -0
  222. data/ext/bamtools/src/toolkit/bamtools_count.cpp +187 -0
  223. data/ext/bamtools/src/toolkit/bamtools_count.h +37 -0
  224. data/ext/bamtools/src/toolkit/bamtools_coverage.cpp +196 -0
  225. data/ext/bamtools/src/toolkit/bamtools_coverage.h +37 -0
  226. data/ext/bamtools/src/toolkit/bamtools_filter.cpp +911 -0
  227. data/ext/bamtools/src/toolkit/bamtools_filter.h +37 -0
  228. data/ext/bamtools/src/toolkit/bamtools_header.cpp +122 -0
  229. data/ext/bamtools/src/toolkit/bamtools_header.h +38 -0
  230. data/ext/bamtools/src/toolkit/bamtools_index.cpp +126 -0
  231. data/ext/bamtools/src/toolkit/bamtools_index.h +37 -0
  232. data/ext/bamtools/src/toolkit/bamtools_merge.cpp +221 -0
  233. data/ext/bamtools/src/toolkit/bamtools_merge.h +37 -0
  234. data/ext/bamtools/src/toolkit/bamtools_random.cpp +255 -0
  235. data/ext/bamtools/src/toolkit/bamtools_random.h +37 -0
  236. data/ext/bamtools/src/toolkit/bamtools_resolve.cpp +1396 -0
  237. data/ext/bamtools/src/toolkit/bamtools_resolve.h +42 -0
  238. data/ext/bamtools/src/toolkit/bamtools_revert.cpp +194 -0
  239. data/ext/bamtools/src/toolkit/bamtools_revert.h +37 -0
  240. data/ext/bamtools/src/toolkit/bamtools_sort.cpp +410 -0
  241. data/ext/bamtools/src/toolkit/bamtools_sort.h +37 -0
  242. data/ext/bamtools/src/toolkit/bamtools_split.cpp +551 -0
  243. data/ext/bamtools/src/toolkit/bamtools_split.h +38 -0
  244. data/ext/bamtools/src/toolkit/bamtools_stats.cpp +286 -0
  245. data/ext/bamtools/src/toolkit/bamtools_stats.h +37 -0
  246. data/ext/bamtools/src/toolkit/bamtools_tool.h +35 -0
  247. data/ext/bamtools/src/toolkit/bamtools_version.h +20 -0
  248. data/ext/bamtools/src/toolkit/bamtools_version.h.in +20 -0
  249. data/ext/bamtools/src/toolkit/cmake_install.cmake +52 -0
  250. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/CXX.includecache +250 -0
  251. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/DependInfo.cmake +29 -0
  252. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/bamtools_fasta.cpp.o +0 -0
  253. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/bamtools_options.cpp.o +0 -0
  254. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/bamtools_pileup_engine.cpp.o +0 -0
  255. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/bamtools_utilities.cpp.o +0 -0
  256. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/build.make +184 -0
  257. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/cmake_clean.cmake +14 -0
  258. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/depend.internal +40 -0
  259. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/depend.make +40 -0
  260. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/flags.make +8 -0
  261. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/link.txt +1 -0
  262. data/ext/bamtools/src/utils/CMakeFiles/BamTools-utils.dir/progress.make +5 -0
  263. data/ext/bamtools/src/utils/CMakeFiles/CMakeDirectoryInformation.cmake +23 -0
  264. data/ext/bamtools/src/utils/CMakeFiles/progress.marks +1 -0
  265. data/ext/bamtools/src/utils/CMakeLists.txt +30 -0
  266. data/ext/bamtools/src/utils/Makefile +290 -0
  267. data/ext/bamtools/src/utils/bamtools_fasta.cpp +632 -0
  268. data/ext/bamtools/src/utils/bamtools_fasta.h +47 -0
  269. data/ext/bamtools/src/utils/bamtools_filter_engine.h +552 -0
  270. data/ext/bamtools/src/utils/bamtools_filter_properties.h +195 -0
  271. data/ext/bamtools/src/utils/bamtools_filter_ruleparser.h +319 -0
  272. data/ext/bamtools/src/utils/bamtools_options.cpp +287 -0
  273. data/ext/bamtools/src/utils/bamtools_options.h +213 -0
  274. data/ext/bamtools/src/utils/bamtools_pileup_engine.cpp +327 -0
  275. data/ext/bamtools/src/utils/bamtools_pileup_engine.h +94 -0
  276. data/ext/bamtools/src/utils/bamtools_utilities.cpp +333 -0
  277. data/ext/bamtools/src/utils/bamtools_utilities.h +67 -0
  278. data/ext/bamtools/src/utils/bamtools_variant.h +128 -0
  279. data/ext/bamtools/src/utils/cmake_install.cmake +29 -0
  280. data/ext/bamtools/src/utils/utils_global.h +21 -0
  281. data/lib/ngs_server/version.rb +3 -0
  282. data/lib/ngs_server.rb +3 -0
  283. data/ngs_server.gemspec +23 -0
  284. metadata +339 -0
@@ -0,0 +1,37 @@
1
+ // ***************************************************************************
2
+ // bamtools_filter.h (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 28 August 2010
6
+ // ---------------------------------------------------------------------------
7
+ // Filters BAM file(s) according to some user-specified criteria
8
+ // ***************************************************************************
9
+
10
+ #ifndef BAMTOOLS_FILTER_H
11
+ #define BAMTOOLS_FILTER_H
12
+
13
+ #include "bamtools_tool.h"
14
+
15
+ namespace BamTools {
16
+
17
+ class FilterTool : public AbstractTool {
18
+
19
+ public:
20
+ FilterTool(void);
21
+ ~FilterTool(void);
22
+
23
+ public:
24
+ int Help(void);
25
+ int Run(int argc, char* argv[]);
26
+
27
+ private:
28
+ struct FilterSettings;
29
+ FilterSettings* m_settings;
30
+
31
+ struct FilterToolPrivate;
32
+ FilterToolPrivate* m_impl;
33
+ };
34
+
35
+ } // namespace BamTools
36
+
37
+ #endif // BAMTOOLS_FILTER_H
@@ -0,0 +1,122 @@
1
+ // ***************************************************************************
2
+ // bamtools_header.cpp (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 7 April 2011
6
+ // ---------------------------------------------------------------------------
7
+ // Prints the SAM-style header from a single BAM file ( or merged header from
8
+ // multiple BAM files) to stdout
9
+ // ***************************************************************************
10
+
11
+ #include "bamtools_header.h"
12
+
13
+ #include <api/BamMultiReader.h>
14
+ #include <utils/bamtools_options.h>
15
+ using namespace BamTools;
16
+
17
+ #include <iostream>
18
+ #include <string>
19
+ #include <vector>
20
+ using namespace std;
21
+
22
+ // ---------------------------------------------
23
+ // HeaderSettings implementation
24
+
25
+ struct HeaderTool::HeaderSettings {
26
+
27
+ // flags
28
+ bool HasInputBamFilename;
29
+
30
+ // filenames
31
+ vector<string> InputFiles;
32
+
33
+ // constructor
34
+ HeaderSettings(void)
35
+ : HasInputBamFilename(false)
36
+ { }
37
+ };
38
+
39
+ struct HeaderTool::HeaderToolPrivate {
40
+
41
+ // ctor & dtor
42
+ public:
43
+ HeaderToolPrivate(HeaderTool::HeaderSettings* settings)
44
+ : m_settings(settings)
45
+ { }
46
+
47
+ ~HeaderToolPrivate(void) { }
48
+
49
+ // interface
50
+ public:
51
+ bool Run(void);
52
+
53
+ // data members
54
+ private:
55
+ HeaderTool::HeaderSettings* m_settings;
56
+ };
57
+
58
+ bool HeaderTool::HeaderToolPrivate::Run(void) {
59
+
60
+ // set to default input if none provided
61
+ if ( !m_settings->HasInputBamFilename )
62
+ m_settings->InputFiles.push_back(Options::StandardIn());
63
+
64
+ // attemp to open BAM files
65
+ BamMultiReader reader;
66
+ if ( !reader.Open(m_settings->InputFiles) ) {
67
+ cerr << "bamtools header ERROR: could not open BAM file(s) for reading... Aborting." << endl;
68
+ return false;
69
+ }
70
+
71
+ // dump (merged) header contents to stdout
72
+ cout << reader.GetHeaderText() << endl;
73
+
74
+ // clean up & exit
75
+ reader.Close();
76
+ return true;
77
+ }
78
+
79
+ // ---------------------------------------------
80
+ // HeaderTool implementation
81
+
82
+ HeaderTool::HeaderTool(void)
83
+ : AbstractTool()
84
+ , m_settings(new HeaderSettings)
85
+ , m_impl(0)
86
+ {
87
+ // set program details
88
+ Options::SetProgramInfo("bamtools header", "prints header from BAM file(s)", "[-in <filename> -in <filename> ...] ");
89
+
90
+ // set up options
91
+ OptionGroup* IO_Opts = Options::CreateOptionGroup("Input & Output");
92
+ Options::AddValueOption("-in", "BAM filename", "the input BAM file(s)", "", m_settings->HasInputBamFilename, m_settings->InputFiles, IO_Opts, Options::StandardIn());
93
+ }
94
+
95
+ HeaderTool::~HeaderTool(void) {
96
+
97
+ delete m_settings;
98
+ m_settings = 0;
99
+
100
+ delete m_impl;
101
+ m_impl = 0;
102
+ }
103
+
104
+ int HeaderTool::Help(void) {
105
+ Options::DisplayHelp();
106
+ return 0;
107
+ }
108
+
109
+ int HeaderTool::Run(int argc, char* argv[]) {
110
+
111
+ // parse command line arguments
112
+ Options::Parse(argc, argv, 1);
113
+
114
+ // initialize HeaderTool with settings
115
+ m_impl = new HeaderToolPrivate(m_settings);
116
+
117
+ // run HeaderTool, return success/fail
118
+ if ( m_impl->Run() )
119
+ return 0;
120
+ else
121
+ return 1;
122
+ }
@@ -0,0 +1,38 @@
1
+ // ***************************************************************************
2
+ // bamtools_header.h (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 7 April 2011
6
+ // ---------------------------------------------------------------------------
7
+ // Prints the SAM-style header from a single BAM file ( or merged header from
8
+ // multiple BAM files) to stdout
9
+ // ***************************************************************************
10
+
11
+ #ifndef BAMTOOLS_HEADER_H
12
+ #define BAMTOOLS_HEADER_H
13
+
14
+ #include "bamtools_tool.h"
15
+
16
+ namespace BamTools {
17
+
18
+ class HeaderTool : public AbstractTool {
19
+
20
+ public:
21
+ HeaderTool(void);
22
+ ~HeaderTool(void);
23
+
24
+ public:
25
+ int Help(void);
26
+ int Run(int argc, char* argv[]);
27
+
28
+ private:
29
+ struct HeaderSettings;
30
+ HeaderSettings* m_settings;
31
+
32
+ struct HeaderToolPrivate;
33
+ HeaderToolPrivate* m_impl;
34
+ };
35
+
36
+ } // namespace BamTools
37
+
38
+ #endif // BAMTOOLS_HEADER_H
@@ -0,0 +1,126 @@
1
+ // ***************************************************************************
2
+ // bamtools_index.cpp (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 7 April 2011
6
+ // ---------------------------------------------------------------------------
7
+ // Creates a BAM index file
8
+ // ***************************************************************************
9
+
10
+ #include "bamtools_index.h"
11
+
12
+ #include <api/BamReader.h>
13
+ #include <utils/bamtools_options.h>
14
+ using namespace BamTools;
15
+
16
+ #include <iostream>
17
+ #include <string>
18
+ using namespace std;
19
+
20
+ // ---------------------------------------------
21
+ // IndexSettings implementation
22
+
23
+ struct IndexTool::IndexSettings {
24
+
25
+ // flags
26
+ bool HasInputBamFilename;
27
+ bool IsUsingBamtoolsIndex;
28
+
29
+ // filenames
30
+ string InputBamFilename;
31
+
32
+ // constructor
33
+ IndexSettings(void)
34
+ : HasInputBamFilename(false)
35
+ , IsUsingBamtoolsIndex(false)
36
+ , InputBamFilename(Options::StandardIn())
37
+ { }
38
+ };
39
+
40
+ // ---------------------------------------------
41
+ // IndexToolPrivate implementation
42
+
43
+ struct IndexTool::IndexToolPrivate {
44
+
45
+ // ctor & dtor
46
+ public:
47
+ IndexToolPrivate(IndexTool::IndexSettings* settings)
48
+ : m_settings(settings)
49
+ { }
50
+
51
+ ~IndexToolPrivate(void) { }
52
+
53
+ // interface
54
+ public:
55
+ bool Run(void);
56
+
57
+ // data members
58
+ private:
59
+ IndexTool::IndexSettings* m_settings;
60
+ };
61
+
62
+ bool IndexTool::IndexToolPrivate::Run(void) {
63
+
64
+ // open our BAM reader
65
+ BamReader reader;
66
+ if ( !reader.Open(m_settings->InputBamFilename) ) {
67
+ cerr << "bamtools index ERROR: could not open BAM file: "
68
+ << m_settings->InputBamFilename << endl;
69
+ return false;
70
+ }
71
+
72
+ // create index for BAM file
73
+ const BamIndex::IndexType type = ( m_settings->IsUsingBamtoolsIndex ? BamIndex::BAMTOOLS
74
+ : BamIndex::STANDARD );
75
+ reader.CreateIndex(type);
76
+
77
+ // clean & exit
78
+ reader.Close();
79
+ return true;
80
+ }
81
+
82
+ // ---------------------------------------------
83
+ // IndexTool implementation
84
+
85
+ IndexTool::IndexTool(void)
86
+ : AbstractTool()
87
+ , m_settings(new IndexSettings)
88
+ , m_impl(0)
89
+ {
90
+ // set program details
91
+ Options::SetProgramInfo("bamtools index", "creates index for BAM file", "[-in <filename>] [-bti]");
92
+
93
+ // set up options
94
+ OptionGroup* IO_Opts = Options::CreateOptionGroup("Input & Output");
95
+ Options::AddValueOption("-in", "BAM filename", "the input BAM file", "", m_settings->HasInputBamFilename, m_settings->InputBamFilename, IO_Opts, Options::StandardIn());
96
+ Options::AddOption("-bti", "create (non-standard) BamTools index file (*.bti). Default behavior is to create standard BAM index (*.bai)", m_settings->IsUsingBamtoolsIndex, IO_Opts);
97
+ }
98
+
99
+ IndexTool::~IndexTool(void) {
100
+
101
+ delete m_settings;
102
+ m_settings = 0;
103
+
104
+ delete m_impl;
105
+ m_impl = 0;
106
+ }
107
+
108
+ int IndexTool::Help(void) {
109
+ Options::DisplayHelp();
110
+ return 0;
111
+ }
112
+
113
+ int IndexTool::Run(int argc, char* argv[]) {
114
+
115
+ // parse command line arguments
116
+ Options::Parse(argc, argv, 1);
117
+
118
+ // initialize IndexTool with settings
119
+ m_impl = new IndexToolPrivate(m_settings);
120
+
121
+ // run IndexTool, return success/fail
122
+ if ( m_impl->Run() )
123
+ return 0;
124
+ else
125
+ return 1;
126
+ }
@@ -0,0 +1,37 @@
1
+ // ***************************************************************************
2
+ // bamtools_index.h (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 7 April 2011
6
+ // ---------------------------------------------------------------------------
7
+ // Creates a BAM index file
8
+ // ***************************************************************************
9
+
10
+ #ifndef BAMTOOLS_INDEX_H
11
+ #define BAMTOOLS_INDEX_H
12
+
13
+ #include "bamtools_tool.h"
14
+
15
+ namespace BamTools {
16
+
17
+ class IndexTool : public AbstractTool {
18
+
19
+ public:
20
+ IndexTool(void);
21
+ ~IndexTool(void);
22
+
23
+ public:
24
+ int Help(void);
25
+ int Run(int argc, char* argv[]);
26
+
27
+ private:
28
+ struct IndexSettings;
29
+ IndexSettings* m_settings;
30
+
31
+ struct IndexToolPrivate;
32
+ IndexToolPrivate* m_impl;
33
+ };
34
+
35
+ } // namespace BamTools
36
+
37
+ #endif // BAMTOOLS_INDEX_H
@@ -0,0 +1,221 @@
1
+ // ***************************************************************************
2
+ // bamtools_merge.cpp (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 7 April 2011
6
+ // ---------------------------------------------------------------------------
7
+ // Merges multiple BAM files into one
8
+ // ***************************************************************************
9
+
10
+ #include "bamtools_merge.h"
11
+
12
+ #include <api/BamMultiReader.h>
13
+ #include <api/BamWriter.h>
14
+ #include <utils/bamtools_options.h>
15
+ #include <utils/bamtools_utilities.h>
16
+ using namespace BamTools;
17
+
18
+ #include <iostream>
19
+ #include <string>
20
+ #include <vector>
21
+ using namespace std;
22
+
23
+ // ---------------------------------------------
24
+ // MergeSettings implementation
25
+
26
+ struct MergeTool::MergeSettings {
27
+
28
+ // flags
29
+ bool HasInputBamFilename;
30
+ bool HasOutputBamFilename;
31
+ bool IsForceCompression;
32
+ bool HasRegion;
33
+
34
+ // filenames
35
+ vector<string> InputFiles;
36
+
37
+ // other parameters
38
+ string OutputFilename;
39
+ string Region;
40
+
41
+ // constructor
42
+ MergeSettings(void)
43
+ : HasInputBamFilename(false)
44
+ , HasOutputBamFilename(false)
45
+ , IsForceCompression(false)
46
+ , HasRegion(false)
47
+ , OutputFilename(Options::StandardOut())
48
+ { }
49
+ };
50
+
51
+ // ---------------------------------------------
52
+ // MergeToolPrivate implementation
53
+
54
+ struct MergeTool::MergeToolPrivate {
55
+
56
+ // ctor & dtor
57
+ public:
58
+ MergeToolPrivate(MergeTool::MergeSettings* settings)
59
+ : m_settings(settings)
60
+ { }
61
+
62
+ ~MergeToolPrivate(void) { }
63
+
64
+ // interface
65
+ public:
66
+ bool Run(void);
67
+
68
+ // data members
69
+ private:
70
+ MergeTool::MergeSettings* m_settings;
71
+ };
72
+
73
+ bool MergeTool::MergeToolPrivate::Run(void) {
74
+
75
+ // set to default input if none provided
76
+ if ( !m_settings->HasInputBamFilename )
77
+ m_settings->InputFiles.push_back(Options::StandardIn());
78
+
79
+ // opens the BAM files (by default without checking for indexes)
80
+ BamMultiReader reader;
81
+ if ( !reader.Open(m_settings->InputFiles) ) {
82
+ cerr << "bamtools merge ERROR: could not open input BAM file(s)... Aborting." << endl;
83
+ return false;
84
+ }
85
+
86
+ // retrieve header & reference dictionary info
87
+ std::string mergedHeader = reader.GetHeaderText();
88
+ RefVector references = reader.GetReferenceData();
89
+
90
+ // determine compression mode for BamWriter
91
+ bool writeUncompressed = ( m_settings->OutputFilename == Options::StandardOut() &&
92
+ !m_settings->IsForceCompression );
93
+ BamWriter::CompressionMode compressionMode = BamWriter::Compressed;
94
+ if ( writeUncompressed ) compressionMode = BamWriter::Uncompressed;
95
+
96
+ // open BamWriter
97
+ BamWriter writer;
98
+ writer.SetCompressionMode(compressionMode);
99
+ if ( !writer.Open(m_settings->OutputFilename, mergedHeader, references) ) {
100
+ cerr << "bamtools merge ERROR: could not open "
101
+ << m_settings->OutputFilename << " for writing." << endl;
102
+ reader.Close();
103
+ return false;
104
+ }
105
+
106
+ // if no region specified, store entire contents of file(s)
107
+ if ( !m_settings->HasRegion ) {
108
+ BamAlignment al;
109
+ while ( reader.GetNextAlignmentCore(al) )
110
+ writer.SaveAlignment(al);
111
+ }
112
+
113
+ // otherwise attempt to use region as constraint
114
+ else {
115
+
116
+ // if region string parses OK
117
+ BamRegion region;
118
+ if ( Utilities::ParseRegionString(m_settings->Region, reader, region) ) {
119
+
120
+ // attempt to find index files
121
+ reader.LocateIndexes();
122
+
123
+ // if index data available for all BAM files, we can use SetRegion
124
+ if ( reader.HasIndexes() ) {
125
+
126
+ // attempt to use SetRegion(), if failed report error
127
+ if ( !reader.SetRegion(region.LeftRefID,
128
+ region.LeftPosition,
129
+ region.RightRefID,
130
+ region.RightPosition) )
131
+ {
132
+ cerr << "bamtools merge ERROR: set region failed. Check that REGION describes a valid range"
133
+ << endl;
134
+ reader.Close();
135
+ return false;
136
+ }
137
+
138
+ // everything checks out, just iterate through specified region, storing alignments
139
+ BamAlignment al;
140
+ while ( reader.GetNextAlignmentCore(al) )
141
+ writer.SaveAlignment(al);
142
+ }
143
+
144
+ // no index data available, we have to iterate through until we
145
+ // find overlapping alignments
146
+ else {
147
+ BamAlignment al;
148
+ while ( reader.GetNextAlignmentCore(al) ) {
149
+ if ( (al.RefID >= region.LeftRefID) && ( (al.Position + al.Length) >= region.LeftPosition ) &&
150
+ (al.RefID <= region.RightRefID) && ( al.Position <= region.RightPosition) )
151
+ {
152
+ writer.SaveAlignment(al);
153
+ }
154
+ }
155
+ }
156
+ }
157
+
158
+ // error parsing REGION string
159
+ else {
160
+ cerr << "bamtools merge ERROR: could not parse REGION - " << m_settings->Region << endl;
161
+ cerr << "Check that REGION is in valid format (see documentation) and that the coordinates are valid"
162
+ << endl;
163
+ reader.Close();
164
+ writer.Close();
165
+ return false;
166
+ }
167
+ }
168
+
169
+ // clean & exit
170
+ reader.Close();
171
+ writer.Close();
172
+ return true;
173
+ }
174
+
175
+ // ---------------------------------------------
176
+ // MergeTool implementation
177
+
178
+ MergeTool::MergeTool(void)
179
+ : AbstractTool()
180
+ , m_settings(new MergeSettings)
181
+ , m_impl(0)
182
+ {
183
+ // set program details
184
+ Options::SetProgramInfo("bamtools merge", "merges multiple BAM files into one", "[-in <filename> -in <filename> ...] [-out <filename> | [-forceCompression]] [-region <REGION>]");
185
+
186
+ // set up options
187
+ OptionGroup* IO_Opts = Options::CreateOptionGroup("Input & Output");
188
+ Options::AddValueOption("-in", "BAM filename", "the input BAM file(s)", "", m_settings->HasInputBamFilename, m_settings->InputFiles, IO_Opts);
189
+ Options::AddValueOption("-out", "BAM filename", "the output BAM file", "", m_settings->HasOutputBamFilename, m_settings->OutputFilename, IO_Opts);
190
+ Options::AddOption("-forceCompression", "if results are sent to stdout (like when piping to another tool), default behavior is to leave output uncompressed. Use this flag to override and force compression", m_settings->IsForceCompression, IO_Opts);
191
+ Options::AddValueOption("-region", "REGION", "genomic region. See README for more details", "", m_settings->HasRegion, m_settings->Region, IO_Opts);
192
+ }
193
+
194
+ MergeTool::~MergeTool(void) {
195
+
196
+ delete m_settings;
197
+ m_settings = 0;
198
+
199
+ delete m_impl;
200
+ m_impl = 0;
201
+ }
202
+
203
+ int MergeTool::Help(void) {
204
+ Options::DisplayHelp();
205
+ return 0;
206
+ }
207
+
208
+ int MergeTool::Run(int argc, char* argv[]) {
209
+
210
+ // parse command line arguments
211
+ Options::Parse(argc, argv, 1);
212
+
213
+ // initialize MergeTool with settings
214
+ m_impl = new MergeToolPrivate(m_settings);
215
+
216
+ // run MergeTool, return success/fail
217
+ if ( m_impl->Run() )
218
+ return 0;
219
+ else
220
+ return 1;
221
+ }
@@ -0,0 +1,37 @@
1
+ // ***************************************************************************
2
+ // bamtools_merge.h (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 7 April 2011
6
+ // ---------------------------------------------------------------------------
7
+ // Merges multiple BAM files into one
8
+ // ***************************************************************************
9
+
10
+ #ifndef BAMTOOLS_MERGE_H
11
+ #define BAMTOOLS_MERGE_H
12
+
13
+ #include "bamtools_tool.h"
14
+
15
+ namespace BamTools {
16
+
17
+ class MergeTool : public AbstractTool {
18
+
19
+ public:
20
+ MergeTool(void);
21
+ ~MergeTool(void);
22
+
23
+ public:
24
+ int Help(void);
25
+ int Run(int argc, char* argv[]);
26
+
27
+ private:
28
+ struct MergeSettings;
29
+ MergeSettings* m_settings;
30
+
31
+ struct MergeToolPrivate;
32
+ MergeToolPrivate* m_impl;
33
+ };
34
+
35
+ } // namespace BamTools
36
+
37
+ #endif // BAMTOOLS_MERGE_H