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,195 @@
1
+ // ***************************************************************************
2
+ // bamtools_filter_properties.h (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 19 November 2010
6
+ // ---------------------------------------------------------------------------
7
+ // Provides support data structures & methods for FilterEngine
8
+ //
9
+ // The FilterEngine consists, most importantly, of :
10
+ //
11
+ // a list of possible properties (each tagged whether it has been 'enabled' as a filter)
12
+ // a map of filterName => propertySet
13
+ // queue for compound rule expression (i.e. "(filter1 AND filter2) OR !filter3" )
14
+ //
15
+ // Each propertySet is a list of properties enabled for this particular filter object
16
+ //
17
+ // Implemented as a map of propertyNames to propertyFilterValue
18
+ // ( "property1" => pfv1
19
+ // "property2" => pfv2
20
+ // "property4" => pfv4
21
+ // etc. )
22
+ //
23
+ // Any properties that are 'possible', via FilterEngine::addProperty(), but not enabled
24
+ // via FilterEngine::setProperty() (in our example, say "property3"), evaluate to true
25
+ // for any query. Meaning that if a property is not set on this filter, we don't care
26
+ // about it here, so it passes though OK.
27
+ //
28
+ // A propertyFilterValue contains a value and comparison type
29
+ //
30
+ // ( pfv1: Value = 50, Type = GREATER_THAN_EQUAL
31
+ // pfv2: Value = "foo", Type = STARTS_WITH
32
+ // pfv4: Value = "bar", Type = CONTAINS
33
+ // etc. )
34
+ //
35
+ // This allows for more complex queries (than simple isEqual?) against a variety of data types.
36
+ //
37
+ // ***************************************************************************
38
+
39
+ #ifndef BAMTOOLS_FILTER_PROPERTIES_H
40
+ #define BAMTOOLS_FILTER_PROPERTIES_H
41
+
42
+ #include <utils/bamtools_utilities.h>
43
+ #include <utils/bamtools_variant.h>
44
+ #include <utils/utils_global.h>
45
+ #include <iostream>
46
+ #include <map>
47
+ #include <string>
48
+
49
+ namespace BamTools {
50
+
51
+ // ----------------------------------------------------------
52
+ // PropertyFilterValue
53
+
54
+ struct UTILS_EXPORT PropertyFilterValue {
55
+
56
+ // define valid ValueCompareTypes
57
+ enum ValueCompareType { CONTAINS = 0
58
+ , ENDS_WITH
59
+ , EXACT
60
+ , GREATER_THAN
61
+ , GREATER_THAN_EQUAL
62
+ , LESS_THAN
63
+ , LESS_THAN_EQUAL
64
+ , NOT
65
+ , STARTS_WITH
66
+ };
67
+
68
+ // ctor
69
+ PropertyFilterValue(const Variant& value = Variant(),
70
+ const ValueCompareType& type = PropertyFilterValue::EXACT)
71
+ : Value(value)
72
+ , Type(type)
73
+ { }
74
+
75
+ // filter check methods
76
+ template<typename T>
77
+ bool check(const T& query) const;
78
+ bool check(const std::string& query) const;
79
+
80
+ // data members
81
+ Variant Value;
82
+ ValueCompareType Type;
83
+ };
84
+
85
+ // checks a query against a filter (value, compare type)
86
+ template<typename T>
87
+ bool PropertyFilterValue::check(const T& query) const {
88
+
89
+ // ensure filter value & query are same type
90
+ if ( !Value.is_type<T>() ) {
91
+ std::cerr << "Cannot compare different types!" << std::endl;
92
+ return false;
93
+ }
94
+
95
+ // string matching
96
+ if ( Value.is_type<std::string>() ) {
97
+ std::cerr << "Cannot compare different types - query is a string!" << std::endl;
98
+ return false;
99
+ }
100
+
101
+ // numeric matching based on our filter type
102
+ switch ( Type ) {
103
+ case ( PropertyFilterValue::EXACT) : return ( query == Value.get<T>() );
104
+ case ( PropertyFilterValue::GREATER_THAN) : return ( query > Value.get<T>() );
105
+ case ( PropertyFilterValue::GREATER_THAN_EQUAL) : return ( query >= Value.get<T>() );
106
+ case ( PropertyFilterValue::LESS_THAN) : return ( query < Value.get<T>() );
107
+ case ( PropertyFilterValue::LESS_THAN_EQUAL) : return ( query <= Value.get<T>() );
108
+ case ( PropertyFilterValue::NOT) : return ( query != Value.get<T>() );
109
+ default : BAMTOOLS_ASSERT_UNREACHABLE;
110
+ }
111
+ return false;
112
+ }
113
+
114
+ // checks a string query against filter (value, compare type)
115
+ inline
116
+ bool PropertyFilterValue::check(const std::string& query) const {
117
+
118
+ // ensure filter value & query are same type
119
+ if ( !Value.is_type<std::string>() ) {
120
+ std::cerr << "Cannot compare different types!" << std::endl;
121
+ return false;
122
+ }
123
+
124
+ // localize string version of our filter value
125
+ const std::string& valueString = Value.get<std::string>();
126
+
127
+ // string matching based on our filter type
128
+ switch ( Type ) {
129
+ case ( PropertyFilterValue::CONTAINS) : return ( query.find(valueString) != std::string::npos );
130
+ case ( PropertyFilterValue::ENDS_WITH) : return ( query.find(valueString) == (query.length() - valueString.length()) );
131
+ case ( PropertyFilterValue::EXACT) : return ( query == valueString );
132
+ case ( PropertyFilterValue::GREATER_THAN) : return ( query > valueString );
133
+ case ( PropertyFilterValue::GREATER_THAN_EQUAL) : return ( query >= valueString );
134
+ case ( PropertyFilterValue::LESS_THAN) : return ( query < valueString );
135
+ case ( PropertyFilterValue::LESS_THAN_EQUAL) : return ( query <= valueString );
136
+ case ( PropertyFilterValue::NOT) : return ( query != valueString );
137
+ case ( PropertyFilterValue::STARTS_WITH) : return ( query.find(valueString) == 0 );
138
+ default : BAMTOOLS_ASSERT_UNREACHABLE;
139
+ }
140
+ return false;
141
+ }
142
+
143
+ inline
144
+ const std::string toString(const PropertyFilterValue::ValueCompareType& type) {
145
+
146
+ switch ( type ) {
147
+ case ( PropertyFilterValue::CONTAINS ) : return std::string( "CONTAINS");
148
+ case ( PropertyFilterValue::ENDS_WITH ) : return std::string( "ENDS_WITH");
149
+ case ( PropertyFilterValue::EXACT ) : return std::string( "EXACT");
150
+ case ( PropertyFilterValue::GREATER_THAN ) : return std::string( "GREATER_THAN");
151
+ case ( PropertyFilterValue::GREATER_THAN_EQUAL ) : return std::string( "GREATER_THAN_EQUAL");
152
+ case ( PropertyFilterValue::LESS_THAN ) : return std::string( "LESS_THAN");
153
+ case ( PropertyFilterValue::LESS_THAN_EQUAL ) : return std::string( "LESS_THAN_EQUAL");
154
+ case ( PropertyFilterValue::NOT ) : return std::string( "NOT");
155
+ case ( PropertyFilterValue::STARTS_WITH ) : return std::string( "STARTS_WITH");
156
+ default : BAMTOOLS_ASSERT_UNREACHABLE;
157
+ }
158
+ return std::string();
159
+ }
160
+
161
+ // property name => property filter value
162
+ // ('name' => ('SSR', STARTS_WITH), 'mapQuality' => (50, GREATER_THAN_EQUAL), etc...)
163
+ typedef std::map<std::string, PropertyFilterValue> PropertyMap;
164
+
165
+ // ----------------------------------------------------------
166
+ // PropertyFilter
167
+
168
+ struct UTILS_EXPORT PropertyFilter {
169
+ // data members
170
+ PropertyMap Properties;
171
+ };
172
+
173
+ // filter name => properties
174
+ // ('filter1' => properties1, 'filter2' => properties2, etc...)
175
+ typedef std::map<std::string, PropertyFilter> FilterMap;
176
+
177
+ // ----------------------------------------------------------
178
+ // Property
179
+
180
+ // used to store properties known to engine & keep track of enabled state
181
+ struct UTILS_EXPORT Property {
182
+ std::string Name;
183
+ bool IsEnabled;
184
+ Property(const std::string& name, bool isEnabled = false)
185
+ : Name(name)
186
+ , IsEnabled(isEnabled)
187
+ { }
188
+ };
189
+
190
+ inline bool operator< (const Property& lhs, const Property& rhs) { return lhs.Name < rhs.Name; }
191
+ inline bool operator== (const Property& lhs, const Property& rhs) { return lhs.Name == rhs.Name; }
192
+
193
+ } // namespace BamTools
194
+
195
+ #endif // BAMTOOLS_FILTER_PROPERTIES_H
@@ -0,0 +1,319 @@
1
+ // ***************************************************************************
2
+ // bamtools_filter_ruleparser.h (c) 2010 Derek Barnett, Erik Garrison
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 19 November 2010
6
+ // ---------------------------------------------------------------------------
7
+ // Provides a compound rule parser for FilterEngine.
8
+ // ***************************************************************************
9
+
10
+ #ifndef BAMTOOLS_FILTER_RULEPARSER_H
11
+ #define BAMTOOLS_FILTER_RULEPARSER_H
12
+
13
+ #include <utils/bamtools_utilities.h>
14
+ #include <queue>
15
+ #include <stack>
16
+ #include <string>
17
+
18
+ namespace BamTools {
19
+
20
+ // -------------------------------------------
21
+ // char constants
22
+
23
+ const char LEFT_PARENTHESIS_CHAR = '(';
24
+ const char RIGHT_PARENTHESIS_CHAR = ')';
25
+ const char AND_OPERATOR_CHAR = '&';
26
+ const char OR_OPERATOR_CHAR = '|';
27
+ const char NOT_OPERATOR_CHAR = '!';
28
+ const char SPACE_CHAR = ' ';
29
+
30
+ // -------------------------------------------
31
+ // RuleToken implementation
32
+
33
+ struct RuleToken {
34
+
35
+ // enums
36
+ enum RuleTokenType { OPERAND = 0
37
+ , AND_OPERATOR
38
+ , OR_OPERATOR
39
+ , NOT_OPERATOR
40
+ , LEFT_PARENTHESIS
41
+ , RIGHT_PARENTHESIS
42
+ };
43
+
44
+ // data members
45
+ RuleTokenType Type;
46
+ std::string Value;
47
+ };
48
+
49
+ inline int priority(const RuleToken& token) {
50
+ switch ( token.Type ) {
51
+ case ( RuleToken::NOT_OPERATOR ) : return 3;
52
+ case ( RuleToken::AND_OPERATOR ) : return 2;
53
+ case ( RuleToken::OR_OPERATOR ) : return 1;
54
+ case ( RuleToken::LEFT_PARENTHESIS ) : return 0;
55
+ case ( RuleToken::RIGHT_PARENTHESIS ) : return 0;
56
+ default:
57
+ BAMTOOLS_ASSERT_UNREACHABLE;
58
+ return -1;
59
+ }
60
+ }
61
+
62
+ inline bool isRightAssociative(const RuleToken& token) {
63
+ return (token.Type == RuleToken::NOT_OPERATOR ||
64
+ token.Type == RuleToken::LEFT_PARENTHESIS);
65
+ }
66
+
67
+ inline bool isLeftAssociative(const RuleToken& token) {
68
+ return !isRightAssociative(token);
69
+ }
70
+
71
+ inline bool isLeftParenthesis(const RuleToken& token) {
72
+ return ( token.Type == RuleToken::LEFT_PARENTHESIS );
73
+ }
74
+
75
+ inline bool isRightParenthesis(const RuleToken& token) {
76
+ return ( token.Type == RuleToken::RIGHT_PARENTHESIS );
77
+ }
78
+
79
+ inline bool isOperand(const RuleToken& token) {
80
+ return ( token.Type == RuleToken::OPERAND );
81
+ }
82
+
83
+ inline bool isOperator(const RuleToken& token) {
84
+ return ( token.Type == RuleToken::AND_OPERATOR ||
85
+ token.Type == RuleToken::OR_OPERATOR ||
86
+ token.Type == RuleToken::NOT_OPERATOR);
87
+ }
88
+
89
+ // -------------------------------------------
90
+ // RuleParser implementation
91
+
92
+ class RuleParser {
93
+
94
+ // ctor & dtor
95
+ public:
96
+ RuleParser(const std::string& ruleString)
97
+ : m_ruleString(ruleString)
98
+ {
99
+ // initialize char markers
100
+ m_begin = (char*)m_ruleString.c_str();
101
+ m_end = m_begin + m_ruleString.length();
102
+ ignoreQuotes();
103
+ }
104
+
105
+ ~RuleParser(void) { }
106
+
107
+ // public interface
108
+ public:
109
+ void parse(void);
110
+ std::queue<std::string> results(void) const { return m_ruleQueue; }
111
+
112
+ // internal methods
113
+ private:
114
+ char getNextChar(void);
115
+ void ignoreQuotes(void);
116
+ bool readToken(RuleToken& token);
117
+ void skipSpaces(void);
118
+
119
+ // data members
120
+ private:
121
+ std::string m_ruleString;
122
+ char* m_begin;
123
+ char* m_current;
124
+ char* m_end;
125
+
126
+ std::queue<std::string> m_ruleQueue;
127
+ std::stack<RuleToken> m_operatorStack;
128
+ };
129
+
130
+ inline
131
+ char RuleParser::getNextChar(void) {
132
+ if ( m_current == m_end ) return 0;
133
+ return *m_current++;
134
+ }
135
+
136
+ inline
137
+ void RuleParser::ignoreQuotes(void) {
138
+ if ( *m_begin == '\"' ) ++m_begin;
139
+ if ( *m_end == '\"' ) --m_end;
140
+ }
141
+
142
+ inline
143
+ void RuleParser::parse(void) {
144
+
145
+ // clear out any prior data
146
+ while ( !m_ruleQueue.empty() )
147
+ m_ruleQueue.pop();
148
+
149
+ // skip if no rule to parse
150
+ if ( m_ruleString.empty() ) return;
151
+
152
+ // start at beginning of ruleString
153
+ m_current = m_begin;
154
+
155
+ // iterate through tokens in rule string
156
+ RuleToken token;
157
+ while ( readToken(token) ) {
158
+
159
+ if ( token.Value.empty() ) break;
160
+
161
+ // if token is an operand
162
+ if ( isOperand(token) )
163
+ m_ruleQueue.push(token.Value);
164
+
165
+ // if token is an operator
166
+ else if ( isOperator(token) ) {
167
+
168
+ // pop any operators at top of stack with higher priority
169
+ while ( !m_operatorStack.empty() ) {
170
+ const RuleToken& opToken = m_operatorStack.top();
171
+ if ( (isLeftAssociative(token) && (priority(token) <= priority(opToken))) ||
172
+ (isRightAssociative(token) && (priority(token) < priority(opToken)))
173
+ )
174
+ {
175
+ m_ruleQueue.push(opToken.Value);
176
+ m_operatorStack.pop();
177
+ }
178
+ else break;
179
+ }
180
+
181
+ // push current operator token onto stack
182
+ m_operatorStack.push(token);
183
+ }
184
+
185
+ // if token is left parenthesis
186
+ else if ( isLeftParenthesis(token) )
187
+ m_operatorStack.push(token);
188
+
189
+ // if token is right parenthesis
190
+ else if ( isRightParenthesis(token) ) {
191
+
192
+ bool foundLeftParenthesis = false;
193
+
194
+ // push operators into rule queue until left parenthesis found
195
+ while ( !m_operatorStack.empty() && !foundLeftParenthesis ) {
196
+ const RuleToken& opToken = m_operatorStack.top();
197
+ if ( !isLeftParenthesis(opToken) )
198
+ m_ruleQueue.push(opToken.Value);
199
+ else
200
+ foundLeftParenthesis = true;
201
+ m_operatorStack.pop();
202
+ }
203
+
204
+ // no left parenthesis found, error
205
+ BAMTOOLS_ASSERT_MESSAGE( foundLeftParenthesis, "ERROR: Mismatched parenthesis in rule string.1");
206
+ }
207
+
208
+ // error: unknown operand
209
+ else BAMTOOLS_ASSERT_UNREACHABLE;
210
+ }
211
+
212
+ // while there are still operators on stack
213
+ while ( !m_operatorStack.empty() ) {
214
+ const RuleToken& token = m_operatorStack.top();
215
+ BAMTOOLS_ASSERT_MESSAGE( (!isLeftParenthesis(token) && !isRightParenthesis(token)), "ERROR: Mismatched parenthesis in rule string.2");
216
+ m_ruleQueue.push(token.Value);
217
+ m_operatorStack.pop();
218
+ }
219
+ }
220
+
221
+ inline
222
+ bool RuleParser::readToken(RuleToken& token) {
223
+
224
+ // skip any preceding whitespace
225
+ skipSpaces();
226
+ if ( m_current == m_end ) return false;
227
+
228
+ // clear out prior token value
229
+ token.Value.clear();
230
+
231
+ // read chars while still in token
232
+ char c = 1;
233
+ bool keepReading = true;
234
+ bool inOperandString = false;
235
+ while ( keepReading && (c != 0) ) {
236
+
237
+ // get next char
238
+ c = getNextChar();
239
+ switch (c) {
240
+
241
+ // current char is '('
242
+ case ( LEFT_PARENTHESIS_CHAR ) :
243
+ token.Type = RuleToken::LEFT_PARENTHESIS;
244
+ token.Value.append(1, LEFT_PARENTHESIS_CHAR);
245
+ keepReading = false;
246
+ break;
247
+
248
+ // current char is ')'
249
+ case ( RIGHT_PARENTHESIS_CHAR ) :
250
+ if ( inOperandString )
251
+ --m_current;
252
+ else {
253
+ token.Type = RuleToken::RIGHT_PARENTHESIS;
254
+ token.Value.append(1, RIGHT_PARENTHESIS_CHAR);
255
+ }
256
+ keepReading = false;
257
+ break;
258
+
259
+ // current char is '&'
260
+ case ( AND_OPERATOR_CHAR ) :
261
+ if ( inOperandString )
262
+ --m_current;
263
+ else {
264
+ token.Type = RuleToken::AND_OPERATOR;
265
+ token.Value.append(1, AND_OPERATOR_CHAR);
266
+ }
267
+ keepReading = false;
268
+ break;
269
+
270
+ // current char is '|'
271
+ case ( OR_OPERATOR_CHAR ) :
272
+ if ( inOperandString )
273
+ --m_current;
274
+ else {
275
+ token.Type = RuleToken::OR_OPERATOR;
276
+ token.Value.append(1, OR_OPERATOR_CHAR);
277
+ }
278
+ keepReading = false;
279
+ break;
280
+
281
+ // current char is '!'
282
+ case ( NOT_OPERATOR_CHAR ) :
283
+ token.Type = RuleToken::NOT_OPERATOR;
284
+ token.Value.append(1, NOT_OPERATOR_CHAR);
285
+ keepReading = false;
286
+ break;
287
+
288
+ // current char is ' '
289
+ case ( SPACE_CHAR ) :
290
+ keepReading = false;
291
+ break;
292
+
293
+ // current char is a true value token
294
+ default:
295
+ if ( c != 0 ) {
296
+ token.Type = RuleToken::OPERAND;
297
+ token.Value.append(1, c);
298
+ inOperandString = true;
299
+ keepReading = true;
300
+ }
301
+ }
302
+ }
303
+
304
+ return true;
305
+ }
306
+
307
+ inline
308
+ void RuleParser::skipSpaces(void) {
309
+ while ( m_current != m_end ) {
310
+ const char c = *m_current;
311
+ if ( c == ' ' || c == '\t' || c == '\r' || c == '\n')
312
+ ++m_current;
313
+ else break;
314
+ }
315
+ }
316
+
317
+ } // namespace BamTools
318
+
319
+ #endif // BAMTOOLS_FILTER_RULEPARSER_H