bio-velvet_underground 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (286) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +13 -0
  5. data/Gemfile +19 -0
  6. data/LICENSE.txt +20 -0
  7. data/README.md +53 -0
  8. data/Rakefile +51 -0
  9. data/VERSION +1 -0
  10. data/ext/bioruby.patch +60 -0
  11. data/ext/mkrf_conf.rb +50 -0
  12. data/ext/src/Makefile +125 -0
  13. data/ext/src/src/allocArray.c +305 -0
  14. data/ext/src/src/allocArray.h +86 -0
  15. data/ext/src/src/autoOpen.c +107 -0
  16. data/ext/src/src/autoOpen.h +18 -0
  17. data/ext/src/src/binarySequences.c +813 -0
  18. data/ext/src/src/binarySequences.h +125 -0
  19. data/ext/src/src/concatenatedGraph.c +233 -0
  20. data/ext/src/src/concatenatedGraph.h +30 -0
  21. data/ext/src/src/concatenatedPreGraph.c +262 -0
  22. data/ext/src/src/concatenatedPreGraph.h +29 -0
  23. data/ext/src/src/correctedGraph.c +2642 -0
  24. data/ext/src/src/correctedGraph.h +32 -0
  25. data/ext/src/src/dfib.c +509 -0
  26. data/ext/src/src/dfib.h +69 -0
  27. data/ext/src/src/dfibHeap.c +89 -0
  28. data/ext/src/src/dfibHeap.h +39 -0
  29. data/ext/src/src/dfibpriv.h +105 -0
  30. data/ext/src/src/fib.c +628 -0
  31. data/ext/src/src/fib.h +78 -0
  32. data/ext/src/src/fibHeap.c +79 -0
  33. data/ext/src/src/fibHeap.h +41 -0
  34. data/ext/src/src/fibpriv.h +110 -0
  35. data/ext/src/src/globals.h +153 -0
  36. data/ext/src/src/graph.c +3983 -0
  37. data/ext/src/src/graph.h +233 -0
  38. data/ext/src/src/graphReConstruction.c +1472 -0
  39. data/ext/src/src/graphReConstruction.h +30 -0
  40. data/ext/src/src/graphStats.c +2167 -0
  41. data/ext/src/src/graphStats.h +72 -0
  42. data/ext/src/src/kmer.c +652 -0
  43. data/ext/src/src/kmer.h +73 -0
  44. data/ext/src/src/kmerOccurenceTable.c +236 -0
  45. data/ext/src/src/kmerOccurenceTable.h +44 -0
  46. data/ext/src/src/kseq.h +223 -0
  47. data/ext/src/src/locallyCorrectedGraph.c +557 -0
  48. data/ext/src/src/locallyCorrectedGraph.h +40 -0
  49. data/ext/src/src/passageMarker.c +677 -0
  50. data/ext/src/src/passageMarker.h +137 -0
  51. data/ext/src/src/preGraph.c +1717 -0
  52. data/ext/src/src/preGraph.h +106 -0
  53. data/ext/src/src/preGraphConstruction.c +990 -0
  54. data/ext/src/src/preGraphConstruction.h +26 -0
  55. data/ext/src/src/readCoherentGraph.c +557 -0
  56. data/ext/src/src/readCoherentGraph.h +30 -0
  57. data/ext/src/src/readSet.c +1734 -0
  58. data/ext/src/src/readSet.h +67 -0
  59. data/ext/src/src/recycleBin.c +199 -0
  60. data/ext/src/src/recycleBin.h +58 -0
  61. data/ext/src/src/roadMap.c +342 -0
  62. data/ext/src/src/roadMap.h +65 -0
  63. data/ext/src/src/run.c +318 -0
  64. data/ext/src/src/run.h +52 -0
  65. data/ext/src/src/run2.c +712 -0
  66. data/ext/src/src/scaffold.c +1876 -0
  67. data/ext/src/src/scaffold.h +64 -0
  68. data/ext/src/src/shortReadPairs.c +1243 -0
  69. data/ext/src/src/shortReadPairs.h +32 -0
  70. data/ext/src/src/splay.c +259 -0
  71. data/ext/src/src/splay.h +43 -0
  72. data/ext/src/src/splayTable.c +1315 -0
  73. data/ext/src/src/splayTable.h +31 -0
  74. data/ext/src/src/tightString.c +362 -0
  75. data/ext/src/src/tightString.h +82 -0
  76. data/ext/src/src/utility.c +199 -0
  77. data/ext/src/src/utility.h +98 -0
  78. data/ext/src/third-party/zlib-1.2.3/ChangeLog +855 -0
  79. data/ext/src/third-party/zlib-1.2.3/FAQ +339 -0
  80. data/ext/src/third-party/zlib-1.2.3/INDEX +51 -0
  81. data/ext/src/third-party/zlib-1.2.3/Makefile +154 -0
  82. data/ext/src/third-party/zlib-1.2.3/Makefile.in +154 -0
  83. data/ext/src/third-party/zlib-1.2.3/README +125 -0
  84. data/ext/src/third-party/zlib-1.2.3/adler32.c +149 -0
  85. data/ext/src/third-party/zlib-1.2.3/algorithm.txt +209 -0
  86. data/ext/src/third-party/zlib-1.2.3/amiga/Makefile.pup +66 -0
  87. data/ext/src/third-party/zlib-1.2.3/amiga/Makefile.sas +65 -0
  88. data/ext/src/third-party/zlib-1.2.3/as400/bndsrc +132 -0
  89. data/ext/src/third-party/zlib-1.2.3/as400/compile.clp +123 -0
  90. data/ext/src/third-party/zlib-1.2.3/as400/readme.txt +111 -0
  91. data/ext/src/third-party/zlib-1.2.3/as400/zlib.inc +331 -0
  92. data/ext/src/third-party/zlib-1.2.3/compress.c +79 -0
  93. data/ext/src/third-party/zlib-1.2.3/configure +459 -0
  94. data/ext/src/third-party/zlib-1.2.3/contrib/README.contrib +71 -0
  95. data/ext/src/third-party/zlib-1.2.3/contrib/ada/buffer_demo.adb +106 -0
  96. data/ext/src/third-party/zlib-1.2.3/contrib/ada/mtest.adb +156 -0
  97. data/ext/src/third-party/zlib-1.2.3/contrib/ada/read.adb +156 -0
  98. data/ext/src/third-party/zlib-1.2.3/contrib/ada/readme.txt +65 -0
  99. data/ext/src/third-party/zlib-1.2.3/contrib/ada/test.adb +463 -0
  100. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-streams.adb +225 -0
  101. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-streams.ads +114 -0
  102. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-thin.adb +141 -0
  103. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-thin.ads +450 -0
  104. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.adb +701 -0
  105. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.ads +328 -0
  106. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.gpr +20 -0
  107. data/ext/src/third-party/zlib-1.2.3/contrib/asm586/README.586 +43 -0
  108. data/ext/src/third-party/zlib-1.2.3/contrib/asm586/match.S +364 -0
  109. data/ext/src/third-party/zlib-1.2.3/contrib/asm686/README.686 +34 -0
  110. data/ext/src/third-party/zlib-1.2.3/contrib/asm686/match.S +329 -0
  111. data/ext/src/third-party/zlib-1.2.3/contrib/blast/Makefile +8 -0
  112. data/ext/src/third-party/zlib-1.2.3/contrib/blast/README +4 -0
  113. data/ext/src/third-party/zlib-1.2.3/contrib/blast/blast.c +444 -0
  114. data/ext/src/third-party/zlib-1.2.3/contrib/blast/blast.h +71 -0
  115. data/ext/src/third-party/zlib-1.2.3/contrib/blast/test.pk +0 -0
  116. data/ext/src/third-party/zlib-1.2.3/contrib/blast/test.txt +1 -0
  117. data/ext/src/third-party/zlib-1.2.3/contrib/delphi/ZLib.pas +557 -0
  118. data/ext/src/third-party/zlib-1.2.3/contrib/delphi/ZLibConst.pas +11 -0
  119. data/ext/src/third-party/zlib-1.2.3/contrib/delphi/readme.txt +76 -0
  120. data/ext/src/third-party/zlib-1.2.3/contrib/delphi/zlibd32.mak +93 -0
  121. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.build +33 -0
  122. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.chm +0 -0
  123. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.sln +21 -0
  124. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
  125. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
  126. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
  127. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
  128. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
  129. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
  130. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
  131. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
  132. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
  133. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
  134. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  135. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/readme.txt +58 -0
  136. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/README +1 -0
  137. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/infback9.c +608 -0
  138. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/infback9.h +37 -0
  139. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inffix9.h +107 -0
  140. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inflate9.h +47 -0
  141. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inftree9.c +323 -0
  142. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inftree9.h +55 -0
  143. data/ext/src/third-party/zlib-1.2.3/contrib/inflate86/inffas86.c +1157 -0
  144. data/ext/src/third-party/zlib-1.2.3/contrib/inflate86/inffast.S +1368 -0
  145. data/ext/src/third-party/zlib-1.2.3/contrib/iostream/test.cpp +24 -0
  146. data/ext/src/third-party/zlib-1.2.3/contrib/iostream/zfstream.cpp +329 -0
  147. data/ext/src/third-party/zlib-1.2.3/contrib/iostream/zfstream.h +128 -0
  148. data/ext/src/third-party/zlib-1.2.3/contrib/iostream2/zstream.h +307 -0
  149. data/ext/src/third-party/zlib-1.2.3/contrib/iostream2/zstream_test.cpp +25 -0
  150. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/README +35 -0
  151. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/TODO +17 -0
  152. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/test.cc +50 -0
  153. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/zfstream.cc +479 -0
  154. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/zfstream.h +466 -0
  155. data/ext/src/third-party/zlib-1.2.3/contrib/masm686/match.asm +413 -0
  156. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/bld_ml64.bat +2 -0
  157. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/gvmat64.asm +513 -0
  158. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/gvmat64.obj +0 -0
  159. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffas8664.c +186 -0
  160. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffasx64.asm +392 -0
  161. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffasx64.obj +0 -0
  162. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/readme.txt +28 -0
  163. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/bld_ml32.bat +2 -0
  164. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32.asm +972 -0
  165. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32.obj +0 -0
  166. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32c.c +62 -0
  167. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/inffas32.asm +1083 -0
  168. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/inffas32.obj +0 -0
  169. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/mkasm.bat +3 -0
  170. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/readme.txt +21 -0
  171. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ChangeLogUnzip +67 -0
  172. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/Makefile +25 -0
  173. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/crypt.h +132 -0
  174. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ioapi.c +177 -0
  175. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ioapi.h +75 -0
  176. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/iowin32.c +270 -0
  177. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/iowin32.h +21 -0
  178. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/miniunz.c +585 -0
  179. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/minizip.c +420 -0
  180. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/mztools.c +281 -0
  181. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/mztools.h +31 -0
  182. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/unzip.c +1598 -0
  183. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/unzip.h +354 -0
  184. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/zip.c +1219 -0
  185. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/zip.h +235 -0
  186. data/ext/src/third-party/zlib-1.2.3/contrib/pascal/example.pas +599 -0
  187. data/ext/src/third-party/zlib-1.2.3/contrib/pascal/readme.txt +76 -0
  188. data/ext/src/third-party/zlib-1.2.3/contrib/pascal/zlibd32.mak +93 -0
  189. data/ext/src/third-party/zlib-1.2.3/contrib/pascal/zlibpas.pas +236 -0
  190. data/ext/src/third-party/zlib-1.2.3/contrib/puff/Makefile +8 -0
  191. data/ext/src/third-party/zlib-1.2.3/contrib/puff/README +63 -0
  192. data/ext/src/third-party/zlib-1.2.3/contrib/puff/puff.c +837 -0
  193. data/ext/src/third-party/zlib-1.2.3/contrib/puff/puff.h +31 -0
  194. data/ext/src/third-party/zlib-1.2.3/contrib/puff/zeros.raw +0 -0
  195. data/ext/src/third-party/zlib-1.2.3/contrib/testzlib/testzlib.c +275 -0
  196. data/ext/src/third-party/zlib-1.2.3/contrib/testzlib/testzlib.txt +10 -0
  197. data/ext/src/third-party/zlib-1.2.3/contrib/untgz/Makefile +14 -0
  198. data/ext/src/third-party/zlib-1.2.3/contrib/untgz/Makefile.msc +17 -0
  199. data/ext/src/third-party/zlib-1.2.3/contrib/untgz/untgz.c +674 -0
  200. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/readme.txt +73 -0
  201. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/miniunz.vcproj +126 -0
  202. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/minizip.vcproj +126 -0
  203. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/testzlib.vcproj +126 -0
  204. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlib.rc +32 -0
  205. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibstat.vcproj +246 -0
  206. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.def +92 -0
  207. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.sln +78 -0
  208. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.vcproj +445 -0
  209. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/miniunz.vcproj +566 -0
  210. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/minizip.vcproj +563 -0
  211. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/testzlib.vcproj +948 -0
  212. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/testzlibdll.vcproj +567 -0
  213. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlib.rc +32 -0
  214. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibstat.vcproj +870 -0
  215. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.def +92 -0
  216. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.sln +144 -0
  217. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.vcproj +1219 -0
  218. data/ext/src/third-party/zlib-1.2.3/crc32.c +423 -0
  219. data/ext/src/third-party/zlib-1.2.3/crc32.h +441 -0
  220. data/ext/src/third-party/zlib-1.2.3/deflate.c +1736 -0
  221. data/ext/src/third-party/zlib-1.2.3/deflate.h +331 -0
  222. data/ext/src/third-party/zlib-1.2.3/example.c +565 -0
  223. data/ext/src/third-party/zlib-1.2.3/examples/README.examples +42 -0
  224. data/ext/src/third-party/zlib-1.2.3/examples/fitblk.c +233 -0
  225. data/ext/src/third-party/zlib-1.2.3/examples/gun.c +693 -0
  226. data/ext/src/third-party/zlib-1.2.3/examples/gzappend.c +500 -0
  227. data/ext/src/third-party/zlib-1.2.3/examples/gzjoin.c +448 -0
  228. data/ext/src/third-party/zlib-1.2.3/examples/gzlog.c +413 -0
  229. data/ext/src/third-party/zlib-1.2.3/examples/gzlog.h +58 -0
  230. data/ext/src/third-party/zlib-1.2.3/examples/zlib_how.html +523 -0
  231. data/ext/src/third-party/zlib-1.2.3/examples/zpipe.c +191 -0
  232. data/ext/src/third-party/zlib-1.2.3/examples/zran.c +404 -0
  233. data/ext/src/third-party/zlib-1.2.3/gzio.c +1026 -0
  234. data/ext/src/third-party/zlib-1.2.3/infback.c +623 -0
  235. data/ext/src/third-party/zlib-1.2.3/inffast.c +318 -0
  236. data/ext/src/third-party/zlib-1.2.3/inffast.h +11 -0
  237. data/ext/src/third-party/zlib-1.2.3/inffixed.h +94 -0
  238. data/ext/src/third-party/zlib-1.2.3/inflate.c +1368 -0
  239. data/ext/src/third-party/zlib-1.2.3/inflate.h +115 -0
  240. data/ext/src/third-party/zlib-1.2.3/inftrees.c +329 -0
  241. data/ext/src/third-party/zlib-1.2.3/inftrees.h +55 -0
  242. data/ext/src/third-party/zlib-1.2.3/make_vms.com +461 -0
  243. data/ext/src/third-party/zlib-1.2.3/minigzip.c +322 -0
  244. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.bor +109 -0
  245. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.dj2 +104 -0
  246. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.emx +69 -0
  247. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.msc +106 -0
  248. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.tc +94 -0
  249. data/ext/src/third-party/zlib-1.2.3/old/Makefile.riscos +151 -0
  250. data/ext/src/third-party/zlib-1.2.3/old/README +3 -0
  251. data/ext/src/third-party/zlib-1.2.3/old/descrip.mms +48 -0
  252. data/ext/src/third-party/zlib-1.2.3/old/os2/Makefile.os2 +136 -0
  253. data/ext/src/third-party/zlib-1.2.3/old/os2/zlib.def +51 -0
  254. data/ext/src/third-party/zlib-1.2.3/old/visual-basic.txt +160 -0
  255. data/ext/src/third-party/zlib-1.2.3/old/zlib.html +971 -0
  256. data/ext/src/third-party/zlib-1.2.3/projects/README.projects +41 -0
  257. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/README.txt +73 -0
  258. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/example.dsp +278 -0
  259. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/minigzip.dsp +278 -0
  260. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/zlib.dsp +609 -0
  261. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/zlib.dsw +59 -0
  262. data/ext/src/third-party/zlib-1.2.3/qnx/package.qpg +141 -0
  263. data/ext/src/third-party/zlib-1.2.3/trees.c +1219 -0
  264. data/ext/src/third-party/zlib-1.2.3/trees.h +128 -0
  265. data/ext/src/third-party/zlib-1.2.3/uncompr.c +61 -0
  266. data/ext/src/third-party/zlib-1.2.3/win32/DLL_FAQ.txt +397 -0
  267. data/ext/src/third-party/zlib-1.2.3/win32/Makefile.bor +107 -0
  268. data/ext/src/third-party/zlib-1.2.3/win32/Makefile.emx +69 -0
  269. data/ext/src/third-party/zlib-1.2.3/win32/Makefile.gcc +141 -0
  270. data/ext/src/third-party/zlib-1.2.3/win32/Makefile.msc +126 -0
  271. data/ext/src/third-party/zlib-1.2.3/win32/VisualC.txt +3 -0
  272. data/ext/src/third-party/zlib-1.2.3/win32/zlib.def +60 -0
  273. data/ext/src/third-party/zlib-1.2.3/win32/zlib1.rc +39 -0
  274. data/ext/src/third-party/zlib-1.2.3/zconf.h +332 -0
  275. data/ext/src/third-party/zlib-1.2.3/zconf.in.h +332 -0
  276. data/ext/src/third-party/zlib-1.2.3/zlib.3 +159 -0
  277. data/ext/src/third-party/zlib-1.2.3/zlib.h +1357 -0
  278. data/ext/src/third-party/zlib-1.2.3/zutil.c +318 -0
  279. data/ext/src/third-party/zlib-1.2.3/zutil.h +269 -0
  280. data/lib/bio-velvet_underground.rb +12 -0
  281. data/lib/bio-velvet_underground/external/VERSION +1 -0
  282. data/lib/bio-velvet_underground/velvet_underground.rb +72 -0
  283. data/spec/binary_sequence_store_spec.rb +27 -0
  284. data/spec/data/1/CnyUnifiedSeq +0 -0
  285. data/spec/spec_helper.rb +31 -0
  286. metadata +456 -0
@@ -0,0 +1,466 @@
1
+ /*
2
+ * A C++ I/O streams interface to the zlib gz* functions
3
+ *
4
+ * by Ludwig Schwardt <schwardt@sun.ac.za>
5
+ * original version by Kevin Ruland <kevin@rodin.wustl.edu>
6
+ *
7
+ * This version is standard-compliant and compatible with gcc 3.x.
8
+ */
9
+
10
+ #ifndef ZFSTREAM_H
11
+ #define ZFSTREAM_H
12
+
13
+ #include <istream> // not iostream, since we don't need cin/cout
14
+ #include <ostream>
15
+ #include "zlib.h"
16
+
17
+ /*****************************************************************************/
18
+
19
+ /**
20
+ * @brief Gzipped file stream buffer class.
21
+ *
22
+ * This class implements basic_filebuf for gzipped files. It doesn't yet support
23
+ * seeking (allowed by zlib but slow/limited), putback and read/write access
24
+ * (tricky). Otherwise, it attempts to be a drop-in replacement for the standard
25
+ * file streambuf.
26
+ */
27
+ class gzfilebuf : public std::streambuf
28
+ {
29
+ public:
30
+ // Default constructor.
31
+ gzfilebuf();
32
+
33
+ // Destructor.
34
+ virtual
35
+ ~gzfilebuf();
36
+
37
+ /**
38
+ * @brief Set compression level and strategy on the fly.
39
+ * @param comp_level Compression level (see zlib.h for allowed values)
40
+ * @param comp_strategy Compression strategy (see zlib.h for allowed values)
41
+ * @return Z_OK on success, Z_STREAM_ERROR otherwise.
42
+ *
43
+ * Unfortunately, these parameters cannot be modified separately, as the
44
+ * previous zfstream version assumed. Since the strategy is seldom changed,
45
+ * it can default and setcompression(level) then becomes like the old
46
+ * setcompressionlevel(level).
47
+ */
48
+ int
49
+ setcompression(int comp_level,
50
+ int comp_strategy = Z_DEFAULT_STRATEGY);
51
+
52
+ /**
53
+ * @brief Check if file is open.
54
+ * @return True if file is open.
55
+ */
56
+ bool
57
+ is_open() const { return (file != NULL); }
58
+
59
+ /**
60
+ * @brief Open gzipped file.
61
+ * @param name File name.
62
+ * @param mode Open mode flags.
63
+ * @return @c this on success, NULL on failure.
64
+ */
65
+ gzfilebuf*
66
+ open(const char* name,
67
+ std::ios_base::openmode mode);
68
+
69
+ /**
70
+ * @brief Attach to already open gzipped file.
71
+ * @param fd File descriptor.
72
+ * @param mode Open mode flags.
73
+ * @return @c this on success, NULL on failure.
74
+ */
75
+ gzfilebuf*
76
+ attach(int fd,
77
+ std::ios_base::openmode mode);
78
+
79
+ /**
80
+ * @brief Close gzipped file.
81
+ * @return @c this on success, NULL on failure.
82
+ */
83
+ gzfilebuf*
84
+ close();
85
+
86
+ protected:
87
+ /**
88
+ * @brief Convert ios open mode int to mode string used by zlib.
89
+ * @return True if valid mode flag combination.
90
+ */
91
+ bool
92
+ open_mode(std::ios_base::openmode mode,
93
+ char* c_mode) const;
94
+
95
+ /**
96
+ * @brief Number of characters available in stream buffer.
97
+ * @return Number of characters.
98
+ *
99
+ * This indicates number of characters in get area of stream buffer.
100
+ * These characters can be read without accessing the gzipped file.
101
+ */
102
+ virtual std::streamsize
103
+ showmanyc();
104
+
105
+ /**
106
+ * @brief Fill get area from gzipped file.
107
+ * @return First character in get area on success, EOF on error.
108
+ *
109
+ * This actually reads characters from gzipped file to stream
110
+ * buffer. Always buffered.
111
+ */
112
+ virtual int_type
113
+ underflow();
114
+
115
+ /**
116
+ * @brief Write put area to gzipped file.
117
+ * @param c Extra character to add to buffer contents.
118
+ * @return Non-EOF on success, EOF on error.
119
+ *
120
+ * This actually writes characters in stream buffer to
121
+ * gzipped file. With unbuffered output this is done one
122
+ * character at a time.
123
+ */
124
+ virtual int_type
125
+ overflow(int_type c = traits_type::eof());
126
+
127
+ /**
128
+ * @brief Installs external stream buffer.
129
+ * @param p Pointer to char buffer.
130
+ * @param n Size of external buffer.
131
+ * @return @c this on success, NULL on failure.
132
+ *
133
+ * Call setbuf(0,0) to enable unbuffered output.
134
+ */
135
+ virtual std::streambuf*
136
+ setbuf(char_type* p,
137
+ std::streamsize n);
138
+
139
+ /**
140
+ * @brief Flush stream buffer to file.
141
+ * @return 0 on success, -1 on error.
142
+ *
143
+ * This calls underflow(EOF) to do the job.
144
+ */
145
+ virtual int
146
+ sync();
147
+
148
+ //
149
+ // Some future enhancements
150
+ //
151
+ // virtual int_type uflow();
152
+ // virtual int_type pbackfail(int_type c = traits_type::eof());
153
+ // virtual pos_type
154
+ // seekoff(off_type off,
155
+ // std::ios_base::seekdir way,
156
+ // std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out);
157
+ // virtual pos_type
158
+ // seekpos(pos_type sp,
159
+ // std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out);
160
+
161
+ private:
162
+ /**
163
+ * @brief Allocate internal buffer.
164
+ *
165
+ * This function is safe to call multiple times. It will ensure
166
+ * that a proper internal buffer exists if it is required. If the
167
+ * buffer already exists or is external, the buffer pointers will be
168
+ * reset to their original state.
169
+ */
170
+ void
171
+ enable_buffer();
172
+
173
+ /**
174
+ * @brief Destroy internal buffer.
175
+ *
176
+ * This function is safe to call multiple times. It will ensure
177
+ * that the internal buffer is deallocated if it exists. In any
178
+ * case, it will also reset the buffer pointers.
179
+ */
180
+ void
181
+ disable_buffer();
182
+
183
+ /**
184
+ * Underlying file pointer.
185
+ */
186
+ gzFile file;
187
+
188
+ /**
189
+ * Mode in which file was opened.
190
+ */
191
+ std::ios_base::openmode io_mode;
192
+
193
+ /**
194
+ * @brief True if this object owns file descriptor.
195
+ *
196
+ * This makes the class responsible for closing the file
197
+ * upon destruction.
198
+ */
199
+ bool own_fd;
200
+
201
+ /**
202
+ * @brief Stream buffer.
203
+ *
204
+ * For simplicity this remains allocated on the free store for the
205
+ * entire life span of the gzfilebuf object, unless replaced by setbuf.
206
+ */
207
+ char_type* buffer;
208
+
209
+ /**
210
+ * @brief Stream buffer size.
211
+ *
212
+ * Defaults to system default buffer size (typically 8192 bytes).
213
+ * Modified by setbuf.
214
+ */
215
+ std::streamsize buffer_size;
216
+
217
+ /**
218
+ * @brief True if this object owns stream buffer.
219
+ *
220
+ * This makes the class responsible for deleting the buffer
221
+ * upon destruction.
222
+ */
223
+ bool own_buffer;
224
+ };
225
+
226
+ /*****************************************************************************/
227
+
228
+ /**
229
+ * @brief Gzipped file input stream class.
230
+ *
231
+ * This class implements ifstream for gzipped files. Seeking and putback
232
+ * is not supported yet.
233
+ */
234
+ class gzifstream : public std::istream
235
+ {
236
+ public:
237
+ // Default constructor
238
+ gzifstream();
239
+
240
+ /**
241
+ * @brief Construct stream on gzipped file to be opened.
242
+ * @param name File name.
243
+ * @param mode Open mode flags (forced to contain ios::in).
244
+ */
245
+ explicit
246
+ gzifstream(const char* name,
247
+ std::ios_base::openmode mode = std::ios_base::in);
248
+
249
+ /**
250
+ * @brief Construct stream on already open gzipped file.
251
+ * @param fd File descriptor.
252
+ * @param mode Open mode flags (forced to contain ios::in).
253
+ */
254
+ explicit
255
+ gzifstream(int fd,
256
+ std::ios_base::openmode mode = std::ios_base::in);
257
+
258
+ /**
259
+ * Obtain underlying stream buffer.
260
+ */
261
+ gzfilebuf*
262
+ rdbuf() const
263
+ { return const_cast<gzfilebuf*>(&sb); }
264
+
265
+ /**
266
+ * @brief Check if file is open.
267
+ * @return True if file is open.
268
+ */
269
+ bool
270
+ is_open() { return sb.is_open(); }
271
+
272
+ /**
273
+ * @brief Open gzipped file.
274
+ * @param name File name.
275
+ * @param mode Open mode flags (forced to contain ios::in).
276
+ *
277
+ * Stream will be in state good() if file opens successfully;
278
+ * otherwise in state fail(). This differs from the behavior of
279
+ * ifstream, which never sets the state to good() and therefore
280
+ * won't allow you to reuse the stream for a second file unless
281
+ * you manually clear() the state. The choice is a matter of
282
+ * convenience.
283
+ */
284
+ void
285
+ open(const char* name,
286
+ std::ios_base::openmode mode = std::ios_base::in);
287
+
288
+ /**
289
+ * @brief Attach to already open gzipped file.
290
+ * @param fd File descriptor.
291
+ * @param mode Open mode flags (forced to contain ios::in).
292
+ *
293
+ * Stream will be in state good() if attach succeeded; otherwise
294
+ * in state fail().
295
+ */
296
+ void
297
+ attach(int fd,
298
+ std::ios_base::openmode mode = std::ios_base::in);
299
+
300
+ /**
301
+ * @brief Close gzipped file.
302
+ *
303
+ * Stream will be in state fail() if close failed.
304
+ */
305
+ void
306
+ close();
307
+
308
+ private:
309
+ /**
310
+ * Underlying stream buffer.
311
+ */
312
+ gzfilebuf sb;
313
+ };
314
+
315
+ /*****************************************************************************/
316
+
317
+ /**
318
+ * @brief Gzipped file output stream class.
319
+ *
320
+ * This class implements ofstream for gzipped files. Seeking and putback
321
+ * is not supported yet.
322
+ */
323
+ class gzofstream : public std::ostream
324
+ {
325
+ public:
326
+ // Default constructor
327
+ gzofstream();
328
+
329
+ /**
330
+ * @brief Construct stream on gzipped file to be opened.
331
+ * @param name File name.
332
+ * @param mode Open mode flags (forced to contain ios::out).
333
+ */
334
+ explicit
335
+ gzofstream(const char* name,
336
+ std::ios_base::openmode mode = std::ios_base::out);
337
+
338
+ /**
339
+ * @brief Construct stream on already open gzipped file.
340
+ * @param fd File descriptor.
341
+ * @param mode Open mode flags (forced to contain ios::out).
342
+ */
343
+ explicit
344
+ gzofstream(int fd,
345
+ std::ios_base::openmode mode = std::ios_base::out);
346
+
347
+ /**
348
+ * Obtain underlying stream buffer.
349
+ */
350
+ gzfilebuf*
351
+ rdbuf() const
352
+ { return const_cast<gzfilebuf*>(&sb); }
353
+
354
+ /**
355
+ * @brief Check if file is open.
356
+ * @return True if file is open.
357
+ */
358
+ bool
359
+ is_open() { return sb.is_open(); }
360
+
361
+ /**
362
+ * @brief Open gzipped file.
363
+ * @param name File name.
364
+ * @param mode Open mode flags (forced to contain ios::out).
365
+ *
366
+ * Stream will be in state good() if file opens successfully;
367
+ * otherwise in state fail(). This differs from the behavior of
368
+ * ofstream, which never sets the state to good() and therefore
369
+ * won't allow you to reuse the stream for a second file unless
370
+ * you manually clear() the state. The choice is a matter of
371
+ * convenience.
372
+ */
373
+ void
374
+ open(const char* name,
375
+ std::ios_base::openmode mode = std::ios_base::out);
376
+
377
+ /**
378
+ * @brief Attach to already open gzipped file.
379
+ * @param fd File descriptor.
380
+ * @param mode Open mode flags (forced to contain ios::out).
381
+ *
382
+ * Stream will be in state good() if attach succeeded; otherwise
383
+ * in state fail().
384
+ */
385
+ void
386
+ attach(int fd,
387
+ std::ios_base::openmode mode = std::ios_base::out);
388
+
389
+ /**
390
+ * @brief Close gzipped file.
391
+ *
392
+ * Stream will be in state fail() if close failed.
393
+ */
394
+ void
395
+ close();
396
+
397
+ private:
398
+ /**
399
+ * Underlying stream buffer.
400
+ */
401
+ gzfilebuf sb;
402
+ };
403
+
404
+ /*****************************************************************************/
405
+
406
+ /**
407
+ * @brief Gzipped file output stream manipulator class.
408
+ *
409
+ * This class defines a two-argument manipulator for gzofstream. It is used
410
+ * as base for the setcompression(int,int) manipulator.
411
+ */
412
+ template<typename T1, typename T2>
413
+ class gzomanip2
414
+ {
415
+ public:
416
+ // Allows insertor to peek at internals
417
+ template <typename Ta, typename Tb>
418
+ friend gzofstream&
419
+ operator<<(gzofstream&,
420
+ const gzomanip2<Ta,Tb>&);
421
+
422
+ // Constructor
423
+ gzomanip2(gzofstream& (*f)(gzofstream&, T1, T2),
424
+ T1 v1,
425
+ T2 v2);
426
+ private:
427
+ // Underlying manipulator function
428
+ gzofstream&
429
+ (*func)(gzofstream&, T1, T2);
430
+
431
+ // Arguments for manipulator function
432
+ T1 val1;
433
+ T2 val2;
434
+ };
435
+
436
+ /*****************************************************************************/
437
+
438
+ // Manipulator function thunks through to stream buffer
439
+ inline gzofstream&
440
+ setcompression(gzofstream &gzs, int l, int s = Z_DEFAULT_STRATEGY)
441
+ {
442
+ (gzs.rdbuf())->setcompression(l, s);
443
+ return gzs;
444
+ }
445
+
446
+ // Manipulator constructor stores arguments
447
+ template<typename T1, typename T2>
448
+ inline
449
+ gzomanip2<T1,T2>::gzomanip2(gzofstream &(*f)(gzofstream &, T1, T2),
450
+ T1 v1,
451
+ T2 v2)
452
+ : func(f), val1(v1), val2(v2)
453
+ { }
454
+
455
+ // Insertor applies underlying manipulator function to stream
456
+ template<typename T1, typename T2>
457
+ inline gzofstream&
458
+ operator<<(gzofstream& s, const gzomanip2<T1,T2>& m)
459
+ { return (*m.func)(s, m.val1, m.val2); }
460
+
461
+ // Insert this onto stream to simplify setting of compression level
462
+ inline gzomanip2<int,int>
463
+ setcompression(int l, int s = Z_DEFAULT_STRATEGY)
464
+ { return gzomanip2<int,int>(&setcompression, l, s); }
465
+
466
+ #endif // ZFSTREAM_H