ngs_server 0.1

Sign up to get free protection for your applications and to get access to all the features.
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,351 @@
1
+ // ***************************************************************************
2
+ // SamProgramChain.cpp (c) 2011 Derek Barnett
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 19 April 2011 (DB)
6
+ // ---------------------------------------------------------------------------
7
+ // Provides methods for operating on a SamProgram record "chain"
8
+ // ***************************************************************************
9
+
10
+ #include <api/SamProgramChain.h>
11
+ using namespace BamTools;
12
+
13
+ #include <algorithm>
14
+ #include <iostream>
15
+ #include <cstdlib>
16
+ using namespace std;
17
+
18
+ /*! \class BamTools::SamProgramChain
19
+ \brief Sorted container "chain" of SamProgram records.
20
+
21
+ Provides methods for operating on a collection of SamProgram records.
22
+
23
+ N.B. - Underlying container is *NOT* ordered by linkage, but by order of
24
+ appearance in SamHeader and subsequent Add() calls. Using the current
25
+ iterators will not allow you to step through the header's program history.
26
+ Instead use First()/Last() to access oldest/newest records, respectively.
27
+ */
28
+
29
+ /*! \fn SamProgramChain::SamProgramChain(void)
30
+ \brief constructor
31
+ */
32
+ SamProgramChain::SamProgramChain(void) { }
33
+
34
+ /*! \fn SamProgramChain::SamProgramChain(const SamProgramChain& other)
35
+ \brief copy constructor
36
+ */
37
+ SamProgramChain::SamProgramChain(const SamProgramChain& other)
38
+ : m_data(other.m_data)
39
+ { }
40
+
41
+ /*! \fn SamProgramChain::~SamProgramChain(void)
42
+ \brief destructor
43
+ */
44
+ SamProgramChain::~SamProgramChain(void) { }
45
+
46
+ /*! \fn void SamProgramChain::Add(SamProgram& program)
47
+ \brief Appends a program to program chain.
48
+
49
+ Duplicate entries are silently discarded.
50
+
51
+ N.B. - Underlying container is *NOT* ordered by linkage, but by order of
52
+ appearance in SamHeader and subsequent Add() calls. Using the current
53
+ iterators will not allow you to step through the header's program history.
54
+ Instead use First()/Last() to access oldest/newest records, respectively.
55
+
56
+ \param program entry to be appended
57
+ */
58
+ void SamProgramChain::Add(SamProgram& program) {
59
+
60
+ // ignore duplicated records
61
+ if ( Contains(program) )
62
+ return;
63
+
64
+ // if other programs already in chain, try to find the "next" record
65
+ // tries to match another record's PPID with @program's ID
66
+ if ( !IsEmpty() )
67
+ program.NextProgramID = NextIdFor(program.ID);
68
+
69
+ // store program record
70
+ m_data.push_back(program);
71
+ }
72
+
73
+ /*! \fn void SamProgramChain::Add(const std::vector<SamProgram>& programs)
74
+ \brief Appends a batch of programs to the end of the chain.
75
+
76
+ This is an overloaded function.
77
+
78
+ \param programs batch of program records to append
79
+ \sa Add()
80
+ */
81
+ void SamProgramChain::Add(std::vector<SamProgram>& programs) {
82
+ vector<SamProgram>::iterator pgIter = programs.begin();
83
+ vector<SamProgram>::iterator pgEnd = programs.end();
84
+ for ( ; pgIter != pgEnd; ++pgIter )
85
+ Add(*pgIter);
86
+ }
87
+
88
+ /*! \fn SamProgramIterator SamProgramChain::Begin(void)
89
+ \return an STL iterator pointing to the first (oldest) program record
90
+ \sa ConstBegin(), End(), First()
91
+ */
92
+ SamProgramIterator SamProgramChain::Begin(void) {
93
+ return m_data.begin();
94
+ }
95
+
96
+ /*! \fn SamProgramConstIterator SamProgramChain::Begin(void) const
97
+ \return an STL const_iterator pointing to the first (oldest) program record
98
+
99
+ This is an overloaded function.
100
+
101
+ \sa ConstBegin(), End(), First()
102
+ */
103
+ SamProgramConstIterator SamProgramChain::Begin(void) const {
104
+ return m_data.begin();
105
+ }
106
+
107
+ /*! \fn void SamProgramChain::Clear(void)
108
+ \brief Clears all program records.
109
+ */
110
+ void SamProgramChain::Clear(void) {
111
+ m_data.clear();
112
+ }
113
+
114
+ /*! \fn SamProgramConstIterator SamProgramChain::ConstBegin(void) const
115
+ \return an STL const_iterator pointing to the first (oldest) program record
116
+ \sa Begin(), ConstEnd(), First()
117
+ */
118
+ SamProgramConstIterator SamProgramChain::ConstBegin(void) const {
119
+ return m_data.begin();
120
+ }
121
+
122
+ /*! \fn SamProgramConstIterator SamProgramChain::ConstEnd(void) const
123
+ \return an STL const_iterator pointing to the imaginary entry after the last (newest) program record
124
+ \sa ConstBegin(), End(), Last()
125
+ */
126
+ SamProgramConstIterator SamProgramChain::ConstEnd(void) const {
127
+ return m_data.end();
128
+ }
129
+
130
+ /*! \fn bool SamProgramChain::Contains(const SamProgram& program) const
131
+ \brief Returns true if chains has this program record (matching on ID).
132
+
133
+ This is an overloaded function.
134
+
135
+ \param program SamProgram to search for
136
+ \return \c true if chain contains program (matching on ID)
137
+ */
138
+ bool SamProgramChain::Contains(const SamProgram& program) const {
139
+ return Contains(program.ID);
140
+ }
141
+
142
+ /*! \fn bool SamProgramChain::Contains(const std::string& programId) const
143
+ \brief Returns true if chains has a program record with this ID
144
+ \param programId search for program matching this ID
145
+ \return \c true if chain contains a program record with this ID
146
+ */
147
+ bool SamProgramChain::Contains(const std::string& programId) const {
148
+ return ( IndexOf(programId) != (int)m_data.size() );
149
+ }
150
+
151
+ /*! \fn SamProgramIterator SamProgramChain::End(void)
152
+ \return an STL iterator pointing to the imaginary entry after the last (newest) program record
153
+ \sa Begin(), ConstEnd(), Last()
154
+ */
155
+ SamProgramIterator SamProgramChain::End(void) {
156
+ return m_data.end();
157
+ }
158
+
159
+ /*! \fn SamProgramConstIterator SamProgramChain::End(void) const
160
+ \return an STL const_iterator pointing to the imaginary entry after the last (newest) program record
161
+
162
+ This is an overloaded function.
163
+
164
+ \sa Begin(), ConstEnd(), Last()
165
+ */
166
+ SamProgramConstIterator SamProgramChain::End(void) const {
167
+ return m_data.end();
168
+ }
169
+
170
+ /*! \fn SamProgram& SamProgramChain::First(void)
171
+ \brief Fetches first (oldest) record in the chain.
172
+
173
+ N.B. - This function will fail if the chain is empty. If this is possible,
174
+ check the result of IsEmpty() before calling this function.
175
+
176
+ \return a modifiable reference to the first (oldest) program entry
177
+ \sa Begin(), Last()
178
+ */
179
+ SamProgram& SamProgramChain::First(void) {
180
+
181
+ // find first record in container that has no PreviousProgramID entry
182
+ SamProgramIterator iter = Begin();
183
+ SamProgramIterator end = End();
184
+ for ( ; iter != end; ++iter ) {
185
+ SamProgram& current = (*iter);
186
+ if ( !current.HasPreviousProgramID() )
187
+ return current;
188
+ }
189
+
190
+ // otherwise error
191
+ cerr << "SamProgramChain ERROR - could not find any record without a PP tag" << endl;
192
+ exit(1);
193
+ }
194
+
195
+ /*! \fn const SamProgram& SamProgramChain::First(void) const
196
+ \brief Fetches first (oldest) record in the chain.
197
+
198
+ This is an overloaded function.
199
+
200
+ N.B. - This function will fail if the chain is empty. If this is possible,
201
+ check the result of IsEmpty() before calling this function.
202
+
203
+ \return a read-only reference to the first (oldest) program entry
204
+ \sa Begin(), ConstBegin(), Last()
205
+ */
206
+ const SamProgram& SamProgramChain::First(void) const {
207
+
208
+ // find first record in container that has no PreviousProgramID entry
209
+ SamProgramConstIterator iter = ConstBegin();
210
+ SamProgramConstIterator end = ConstEnd();
211
+ for ( ; iter != end; ++iter ) {
212
+ const SamProgram& current = (*iter);
213
+ if ( !current.HasPreviousProgramID() )
214
+ return current;
215
+ }
216
+
217
+ // otherwise error
218
+ cerr << "SamProgramChain ERROR - could not find any record without a PP tag" << endl;
219
+ exit(1);
220
+ }
221
+
222
+ /*! \fn int SamProgramChain::IndexOf(const std::string& programId) const
223
+ \internal
224
+ \return index of program record if found.
225
+ Otherwise, returns vector::size() (invalid index).
226
+ */
227
+ int SamProgramChain::IndexOf(const std::string& programId) const {
228
+ SamProgramConstIterator begin = ConstBegin();
229
+ SamProgramConstIterator iter = begin;
230
+ SamProgramConstIterator end = ConstEnd();
231
+ for ( ; iter != end; ++iter ) {
232
+ const SamProgram& current = (*iter);
233
+ if ( current.ID == programId )
234
+ break;
235
+ }
236
+ return distance( begin, iter );
237
+ }
238
+
239
+ /*! \fn bool SamProgramChain::IsEmpty(void) const
240
+ \brief Returns \c true if chain contains no records
241
+ \sa Size()
242
+ */
243
+ bool SamProgramChain::IsEmpty(void) const {
244
+ return m_data.empty();
245
+ }
246
+
247
+ /*! \fn SamProgram& SamProgramChain::Last(void)
248
+ \brief Fetches last (newest) record in the chain.
249
+
250
+ N.B. - This function will fail if the chain is empty. If this is possible,
251
+ check the result of IsEmpty() before calling this function.
252
+
253
+ \return a modifiable reference to the last (newest) program entry
254
+ \sa End(), First()
255
+ */
256
+ SamProgram& SamProgramChain::Last(void) {
257
+ // find first record in container that has no NextProgramID entry
258
+ SamProgramIterator iter = Begin();
259
+ SamProgramIterator end = End();
260
+ for ( ; iter != end; ++iter ) {
261
+ SamProgram& current = (*iter);
262
+ if ( !current.HasNextProgramID() )
263
+ return current;
264
+ }
265
+
266
+ // otherwise error
267
+ cerr << "SamProgramChain ERROR - could not determine last record" << endl;
268
+ exit(1);
269
+ }
270
+
271
+ /*! \fn const SamProgram& SamProgramChain::Last(void) const
272
+ \brief Fetches last (newest) record in the chain.
273
+
274
+ This is an overloaded function.
275
+
276
+ N.B. - This function will fail if the chain is empty. If this is possible,
277
+ check the result of IsEmpty() before calling this function.
278
+
279
+ \return a read-only reference to the last (newest) program entry
280
+ \sa End(), ConstEnd(), First()
281
+ */
282
+ const SamProgram& SamProgramChain::Last(void) const {
283
+ // find first record in container that has no NextProgramID entry
284
+ SamProgramConstIterator iter = ConstBegin();
285
+ SamProgramConstIterator end = ConstEnd();
286
+ for ( ; iter != end; ++iter ) {
287
+ const SamProgram& current = (*iter);
288
+ if ( !current.HasNextProgramID() )
289
+ return current;
290
+ }
291
+
292
+ // otherwise error
293
+ cerr << "SamProgramChain ERROR - could not determine last record" << endl;
294
+ exit(1);
295
+ }
296
+
297
+ /*! \fn const std::string SamProgramChain::NextIdFor(const std::string& programId) const
298
+ \internal
299
+ \return ID of program record, whose PreviousProgramID matches \a programId.
300
+ Otherwise, returns empty string if none found.
301
+ */
302
+ const std::string SamProgramChain::NextIdFor(const std::string& programId) const {
303
+
304
+ // find first record in container whose PreviousProgramID matches @programId
305
+ SamProgramConstIterator iter = ConstBegin();
306
+ SamProgramConstIterator end = ConstEnd();
307
+ for ( ; iter != end; ++iter ) {
308
+ const SamProgram& current = (*iter);
309
+ if ( !current.HasPreviousProgramID() &&
310
+ current.PreviousProgramID == programId
311
+ )
312
+ {
313
+ return current.ID;
314
+ }
315
+ }
316
+
317
+ // none found
318
+ return string();
319
+ }
320
+
321
+ /*! \fn int SamProgramChain::Size(void) const
322
+ \brief Returns number of program records in the chain.
323
+ \sa IsEmpty()
324
+ */
325
+ int SamProgramChain::Size(void) const {
326
+ return m_data.size();
327
+ }
328
+
329
+ /*! \fn SamProgram& SamProgramChain::operator[](const std::string& programId)
330
+ \brief Retrieves the modifiable SamProgram record that matches \a programId.
331
+
332
+ NOTE - If the chain contains no read group matching this ID, this function will
333
+ print an error and terminate.
334
+
335
+ \param programId ID of program record to retrieve
336
+ \return a modifiable reference to the SamProgram associated with the ID
337
+ */
338
+ SamProgram& SamProgramChain::operator[](const std::string& programId) {
339
+
340
+ // look up program record matching this ID
341
+ int index = IndexOf(programId);
342
+
343
+ // if record not found
344
+ if ( index == (int)m_data.size() ) {
345
+ cerr << "SamProgramChain ERROR - unknown programId: " << programId << endl;
346
+ exit(1);
347
+ }
348
+
349
+ // otherwise return program record at index
350
+ return m_data.at(index);
351
+ }
@@ -0,0 +1,85 @@
1
+ // ***************************************************************************
2
+ // SamProgramChain.h (c) 2011 Derek Barnett
3
+ // Marth Lab, Department of Biology, Boston College
4
+ // ---------------------------------------------------------------------------
5
+ // Last modified: 19 April 2011 (DB)
6
+ // ---------------------------------------------------------------------------
7
+ // Provides methods for operating on a SamProgram record "chain"
8
+ // ***************************************************************************
9
+
10
+ #ifndef SAM_PROGRAMCHAIN_H
11
+ #define SAM_PROGRAMCHAIN_H
12
+
13
+ #include <api/api_global.h>
14
+ #include <api/SamProgram.h>
15
+ #include <string>
16
+ #include <vector>
17
+
18
+ namespace BamTools {
19
+
20
+ // chain is *NOT* sorted in any order
21
+ // use First()/Last() to retrieve oldest/newest programs, respectively
22
+ typedef std::vector<SamProgram> SamProgramContainer;
23
+ typedef SamProgramContainer::iterator SamProgramIterator;
24
+ typedef SamProgramContainer::const_iterator SamProgramConstIterator;
25
+
26
+ class API_EXPORT SamProgramChain {
27
+
28
+ // ctor & dtor
29
+ public:
30
+ SamProgramChain(void);
31
+ SamProgramChain(const SamProgramChain& other);
32
+ ~SamProgramChain(void);
33
+
34
+ // query/modify program data
35
+ public:
36
+ // appends a program record to the chain
37
+ void Add(SamProgram& program);
38
+ void Add(std::vector<SamProgram>& programs);
39
+
40
+ // clears all read group entries
41
+ void Clear(void);
42
+
43
+ // returns true if chain contains this program record (matches on ID)
44
+ bool Contains(const SamProgram& program) const;
45
+ bool Contains(const std::string& programId) const;
46
+
47
+ // returns the first (oldest) program in the chain
48
+ SamProgram& First(void);
49
+ const SamProgram& First(void) const;
50
+
51
+ // returns true if chain is empty
52
+ bool IsEmpty(void) const;
53
+
54
+ // returns last (most recent) program in the chain
55
+ SamProgram& Last(void);
56
+ const SamProgram& Last(void) const;
57
+
58
+ // returns number of program records in the chain
59
+ int Size(void) const;
60
+
61
+ // retrieves a modifiable reference to the SamProgram object associated with this ID
62
+ SamProgram& operator[](const std::string& programId);
63
+
64
+ // retrieve STL-compatible iterators
65
+ public:
66
+ SamProgramIterator Begin(void); // returns iterator to begin()
67
+ SamProgramConstIterator Begin(void) const; // returns const_iterator to begin()
68
+ SamProgramConstIterator ConstBegin(void) const; // returns const_iterator to begin()
69
+ SamProgramIterator End(void); // returns iterator to end()
70
+ SamProgramConstIterator End(void) const; // returns const_iterator to end()
71
+ SamProgramConstIterator ConstEnd(void) const; // returns const_iterator to end()
72
+
73
+ // internal methods
74
+ private:
75
+ int IndexOf(const std::string& programId) const;
76
+ const std::string NextIdFor(const std::string& programId) const;
77
+
78
+ // data members
79
+ private:
80
+ SamProgramContainer m_data;
81
+ };
82
+
83
+ } // namespace BamTools
84
+
85
+ #endif // SAM_PROGRAMCHAIN_H
@@ -0,0 +1,221 @@
1
+ // ***************************************************************************
2
+ // SamReadGroup.cpp (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 read group data fields.
8
+ // ***************************************************************************
9
+
10
+ #include <api/SamReadGroup.h>
11
+ using namespace BamTools;
12
+ using namespace std;
13
+
14
+ /*! \struct BamTools::SamReadGroup
15
+ \brief Represents a SAM read group entry.
16
+
17
+ Provides direct read/write access to the SAM read group data fields.
18
+
19
+ \sa \samSpecURL
20
+ */
21
+ /*! \var SamReadGroup::Description
22
+ \brief corresponds to \@RG DS:\<Description\>
23
+ */
24
+ /*! \var SamReadGroup::FlowOrder
25
+ \brief corresponds to \@RG FO:\<FlowOrder\>
26
+ */
27
+ /*! \var SamReadGroup::ID
28
+ \brief corresponds to \@RG ID:\<ID\>
29
+
30
+ Required for valid SAM header.
31
+ */
32
+ /*! \var SamReadGroup::KeySequence
33
+ \brief corresponds to \@RG KS:\<KeySequence\>
34
+ */
35
+ /*! \var SamReadGroup::Library
36
+ \brief corresponds to \@RG LB:\<Library\>
37
+ */
38
+ /*! \var SamReadGroup::PlatformUnit
39
+ \brief corresponds to \@RG PU:\<PlatformUnit\>
40
+ */
41
+ /*! \var SamReadGroup::PredictedInsertSize
42
+ \brief corresponds to \@RG PI:\<PredictedInsertSize\>
43
+ */
44
+ /*! \var SamReadGroup::ProductionDate
45
+ \brief corresponds to \@RG DT:\<ProductionDate\>
46
+ */
47
+ /*! \var SamReadGroup::Program
48
+ \brief corresponds to \@RG PG:\<Program\>
49
+ */
50
+ /*! \var SamReadGroup::Sample
51
+ \brief corresponds to \@RG SM:\<Sample\>
52
+ */
53
+ /*! \var SamReadGroup::SequencingCenter
54
+ \brief corresponds to \@RG CN:\<SequencingCenter\>
55
+ */
56
+ /*! \var SamReadGroup::SequencingTechnology
57
+ \brief corresponds to \@RG PL:\<SequencingTechnology\>
58
+ */
59
+
60
+ /*! \fn SamReadGroup::SamReadGroup(void)
61
+ \brief default constructor
62
+ */
63
+ SamReadGroup::SamReadGroup(void)
64
+ : Description("")
65
+ , FlowOrder("")
66
+ , ID("")
67
+ , KeySequence("")
68
+ , Library("")
69
+ , PlatformUnit("")
70
+ , PredictedInsertSize("")
71
+ , ProductionDate("")
72
+ , Program("")
73
+ , Sample("")
74
+ , SequencingCenter("")
75
+ , SequencingTechnology("")
76
+ { }
77
+
78
+ /*! \fn SamReadGroup::SamReadGroup(const std::string& id)
79
+ \brief constructs read group with \a id
80
+
81
+ \param id desired read group ID
82
+ */
83
+ SamReadGroup::SamReadGroup(const std::string& id)
84
+ : Description("")
85
+ , FlowOrder("")
86
+ , ID(id)
87
+ , KeySequence("")
88
+ , Library("")
89
+ , PlatformUnit("")
90
+ , PredictedInsertSize("")
91
+ , ProductionDate("")
92
+ , Program("")
93
+ , Sample("")
94
+ , SequencingCenter("")
95
+ , SequencingTechnology("")
96
+ { }
97
+
98
+ /*! \fn SamReadGroup::SamReadGroup(const SamReadGroup& other)
99
+ \brief copy constructor
100
+ */
101
+ SamReadGroup::SamReadGroup(const SamReadGroup& other)
102
+ : Description(other.Description)
103
+ , FlowOrder(other.FlowOrder)
104
+ , ID(other.ID)
105
+ , KeySequence(other.KeySequence)
106
+ , Library(other.Library)
107
+ , PlatformUnit(other.PlatformUnit)
108
+ , PredictedInsertSize(other.PredictedInsertSize)
109
+ , ProductionDate(other.ProductionDate)
110
+ , Program(other.Program)
111
+ , Sample(other.Sample)
112
+ , SequencingCenter(other.SequencingCenter)
113
+ , SequencingTechnology(other.SequencingTechnology)
114
+ { }
115
+
116
+ /*! \fn SamReadGroup::~SamReadGroup(void)
117
+ \brief destructor
118
+ */
119
+ SamReadGroup::~SamReadGroup(void) { }
120
+
121
+ /*! \fn void SamReadGroup::Clear(void)
122
+ \brief Clears all data fields.
123
+ */
124
+ void SamReadGroup::Clear(void) {
125
+ Description.clear();
126
+ FlowOrder.clear();
127
+ ID.clear();
128
+ KeySequence.clear();
129
+ Library.clear();
130
+ PlatformUnit.clear();
131
+ PredictedInsertSize.clear();
132
+ ProductionDate.clear();
133
+ Program.clear();
134
+ Sample.clear();
135
+ SequencingCenter.clear();
136
+ SequencingTechnology.clear();
137
+ }
138
+
139
+ /*! \fn bool SamReadGroup::HasDescription(void) const
140
+ \brief Returns \c true if read group contains \@RG DS:\<Description\>
141
+ */
142
+ bool SamReadGroup::HasDescription(void) const {
143
+ return (!Description.empty());
144
+ }
145
+
146
+ /*! \fn bool SamReadGroup::HasFlowOrder(void) const
147
+ \brief Returns \c true if read group contains \@RG FO:\<FlowOrder\>
148
+ */
149
+ bool SamReadGroup::HasFlowOrder(void) const {
150
+ return (!FlowOrder.empty());
151
+ }
152
+
153
+ /*! \fn bool SamReadGroup::HasID(void) const
154
+ \brief Returns \c true if read group contains \@RG: ID:\<ID\>
155
+ */
156
+ bool SamReadGroup::HasID(void) const {
157
+ return (!ID.empty());
158
+ }
159
+
160
+ /*! \fn bool SamReadGroup::HasKeySequence(void) const
161
+ \brief Returns \c true if read group contains \@RG KS:\<KeySequence\>
162
+ */
163
+ bool SamReadGroup::HasKeySequence(void) const {
164
+ return (!KeySequence.empty());
165
+ }
166
+
167
+ /*! \fn bool SamReadGroup::HasLibrary(void) const
168
+ \brief Returns \c true if read group contains \@RG LB:\<Library\>
169
+ */
170
+ bool SamReadGroup::HasLibrary(void) const {
171
+ return (!Library.empty());
172
+ }
173
+
174
+ /*! \fn bool SamReadGroup::HasPlatformUnit(void) const
175
+ \brief Returns \c true if read group contains \@RG PU:\<PlatformUnit\>
176
+ */
177
+ bool SamReadGroup::HasPlatformUnit(void) const {
178
+ return (!PlatformUnit.empty());
179
+ }
180
+
181
+ /*! \fn bool SamReadGroup::HasPredictedInsertSize(void) const
182
+ \brief Returns \c true if read group contains \@RG PI:\<PredictedInsertSize\>
183
+ */
184
+ bool SamReadGroup::HasPredictedInsertSize(void) const {
185
+ return (!PredictedInsertSize.empty());
186
+ }
187
+
188
+ /*! \fn bool SamReadGroup::HasProductionDate(void) const
189
+ \brief Returns \c true if read group contains \@RG DT:\<ProductionDate\>
190
+ */
191
+ bool SamReadGroup::HasProductionDate(void) const {
192
+ return (!ProductionDate.empty());
193
+ }
194
+
195
+ /*! \fn bool SamReadGroup::HasProgram(void) const
196
+ \brief Returns \c true if read group contains \@RG PG:\<Program\>
197
+ */
198
+ bool SamReadGroup::HasProgram(void) const {
199
+ return (!Program.empty());
200
+ }
201
+
202
+ /*! \fn bool SamReadGroup::HasSample(void) const
203
+ \brief Returns \c true if read group contains \@RG SM:\<Sample\>
204
+ */
205
+ bool SamReadGroup::HasSample(void) const {
206
+ return (!Sample.empty());
207
+ }
208
+
209
+ /*! \fn bool SamReadGroup::HasSequencingCenter(void) const
210
+ \brief Returns \c true if read group contains \@RG CN:\<SequencingCenter\>
211
+ */
212
+ bool SamReadGroup::HasSequencingCenter(void) const {
213
+ return (!SequencingCenter.empty());
214
+ }
215
+
216
+ /*! \fn bool SamReadGroup::HasSequencingTechnology(void) const
217
+ \brief Returns \c true if read group contains \@RG PL:\<SequencingTechnology\>
218
+ */
219
+ bool SamReadGroup::HasSequencingTechnology(void) const {
220
+ return (!SequencingTechnology.empty());
221
+ }