finishm 0.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.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/.gitmodules +3 -0
- data/.rspec +1 -0
- data/Gemfile +31 -0
- data/LICENSE.txt +20 -0
- data/README.md +59 -0
- data/Rakefile +51 -0
- data/VERSION +1 -0
- data/bin/assembly_visualiser +106 -0
- data/bin/check_primer_combinations.rb +73 -0
- data/bin/contig_joiner.rb +244 -0
- data/bin/contigs_against_assembly.rb +153 -0
- data/bin/finishm +143 -0
- data/bin/finishm_assembler +55 -0
- data/bin/finishm_gap_closer.rb +241 -0
- data/bin/kmer_abundance_file_tool.rb +49 -0
- data/bin/kmer_pattern_to_assembly.rb +377 -0
- data/bin/kmer_profile_finder.rb +92 -0
- data/bin/kmers_count_parse.d +52 -0
- data/bin/kmers_count_tabulate.d +123 -0
- data/bin/kmers_count_tabulate.rb +84 -0
- data/bin/pcr_result_parser.rb +108 -0
- data/bin/primer_finder.rb +119 -0
- data/bin/read_selection_by_kmer.d +174 -0
- data/bin/scaffold_by_pattern.rb +119 -0
- data/bin/scaffold_connection_possibilities_to_knowns.rb +193 -0
- data/bin/scaffold_end_coverages.rb +69 -0
- data/bin/trail_validator.rb +84 -0
- data/ext/mkrf_conf.rb +56 -0
- data/ext/src/Makefile +140 -0
- data/ext/src/src/allocArray.c +305 -0
- data/ext/src/src/allocArray.h +86 -0
- data/ext/src/src/autoOpen.c +107 -0
- data/ext/src/src/autoOpen.h +18 -0
- data/ext/src/src/binarySequences.c +813 -0
- data/ext/src/src/binarySequences.h +125 -0
- data/ext/src/src/concatenatedGraph.c +233 -0
- data/ext/src/src/concatenatedGraph.h +30 -0
- data/ext/src/src/concatenatedPreGraph.c +262 -0
- data/ext/src/src/concatenatedPreGraph.h +29 -0
- data/ext/src/src/correctedGraph.c +2643 -0
- data/ext/src/src/correctedGraph.h +32 -0
- data/ext/src/src/dfib.c +509 -0
- data/ext/src/src/dfib.h +69 -0
- data/ext/src/src/dfibHeap.c +89 -0
- data/ext/src/src/dfibHeap.h +39 -0
- data/ext/src/src/dfibpriv.h +105 -0
- data/ext/src/src/fib.c +628 -0
- data/ext/src/src/fib.h +78 -0
- data/ext/src/src/fibHeap.c +79 -0
- data/ext/src/src/fibHeap.h +41 -0
- data/ext/src/src/fibpriv.h +110 -0
- data/ext/src/src/globals.h +154 -0
- data/ext/src/src/graph.c +3932 -0
- data/ext/src/src/graph.h +233 -0
- data/ext/src/src/graphReConstruction.c +1472 -0
- data/ext/src/src/graphReConstruction.h +30 -0
- data/ext/src/src/graphStats.c +2167 -0
- data/ext/src/src/graphStats.h +72 -0
- data/ext/src/src/graphStructures.h +52 -0
- data/ext/src/src/kmer.c +652 -0
- data/ext/src/src/kmer.h +73 -0
- data/ext/src/src/kmerOccurenceTable.c +236 -0
- data/ext/src/src/kmerOccurenceTable.h +44 -0
- data/ext/src/src/kseq.h +223 -0
- data/ext/src/src/locallyCorrectedGraph.c +557 -0
- data/ext/src/src/locallyCorrectedGraph.h +40 -0
- data/ext/src/src/passageMarker.c +677 -0
- data/ext/src/src/passageMarker.h +137 -0
- data/ext/src/src/preGraph.c +1717 -0
- data/ext/src/src/preGraph.h +106 -0
- data/ext/src/src/preGraphConstruction.c +990 -0
- data/ext/src/src/preGraphConstruction.h +26 -0
- data/ext/src/src/probe_node_finder.c +84 -0
- data/ext/src/src/probe_node_finder.h +6 -0
- data/ext/src/src/readCoherentGraph.c +557 -0
- data/ext/src/src/readCoherentGraph.h +30 -0
- data/ext/src/src/readSet.c +1734 -0
- data/ext/src/src/readSet.h +67 -0
- data/ext/src/src/readToNode.c +218 -0
- data/ext/src/src/readToNode.h +35 -0
- data/ext/src/src/recycleBin.c +199 -0
- data/ext/src/src/recycleBin.h +58 -0
- data/ext/src/src/roadMap.c +342 -0
- data/ext/src/src/roadMap.h +65 -0
- data/ext/src/src/run.c +318 -0
- data/ext/src/src/run.h +52 -0
- data/ext/src/src/run2.c +744 -0
- data/ext/src/src/runReadToNode.c +29 -0
- data/ext/src/src/scaffold.c +1876 -0
- data/ext/src/src/scaffold.h +64 -0
- data/ext/src/src/shortReadPairs.c +1243 -0
- data/ext/src/src/shortReadPairs.h +32 -0
- data/ext/src/src/splay.c +259 -0
- data/ext/src/src/splay.h +43 -0
- data/ext/src/src/splayTable.c +1315 -0
- data/ext/src/src/splayTable.h +31 -0
- data/ext/src/src/tightString.c +362 -0
- data/ext/src/src/tightString.h +82 -0
- data/ext/src/src/utility.c +199 -0
- data/ext/src/src/utility.h +98 -0
- data/ext/src/third-party/zlib-1.2.3/ChangeLog +855 -0
- data/ext/src/third-party/zlib-1.2.3/FAQ +339 -0
- data/ext/src/third-party/zlib-1.2.3/INDEX +51 -0
- data/ext/src/third-party/zlib-1.2.3/Makefile +154 -0
- data/ext/src/third-party/zlib-1.2.3/Makefile.in +154 -0
- data/ext/src/third-party/zlib-1.2.3/README +125 -0
- data/ext/src/third-party/zlib-1.2.3/adler32.c +149 -0
- data/ext/src/third-party/zlib-1.2.3/adler32.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/algorithm.txt +209 -0
- data/ext/src/third-party/zlib-1.2.3/amiga/Makefile.pup +66 -0
- data/ext/src/third-party/zlib-1.2.3/amiga/Makefile.sas +65 -0
- data/ext/src/third-party/zlib-1.2.3/as400/bndsrc +132 -0
- data/ext/src/third-party/zlib-1.2.3/as400/compile.clp +123 -0
- data/ext/src/third-party/zlib-1.2.3/as400/readme.txt +111 -0
- data/ext/src/third-party/zlib-1.2.3/as400/zlib.inc +331 -0
- data/ext/src/third-party/zlib-1.2.3/compress.c +79 -0
- data/ext/src/third-party/zlib-1.2.3/compress.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/configure +459 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/README.contrib +71 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/buffer_demo.adb +106 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/mtest.adb +156 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/read.adb +156 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/readme.txt +65 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/test.adb +463 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-streams.adb +225 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-streams.ads +114 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-thin.adb +141 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-thin.ads +450 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.adb +701 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.ads +328 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.gpr +20 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/asm586/README.586 +43 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/asm586/match.S +364 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/asm686/README.686 +34 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/asm686/match.S +329 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/blast/Makefile +8 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/blast/README +4 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/blast/blast.c +444 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/blast/blast.h +71 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/blast/test.pk +0 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/blast/test.txt +1 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/delphi/ZLib.pas +557 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/delphi/ZLibConst.pas +11 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/delphi/readme.txt +76 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/delphi/zlibd32.mak +93 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.build +33 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.chm +0 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.sln +21 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/LICENSE_1_0.txt +23 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/readme.txt +58 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/infback9/README +1 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/infback9/infback9.c +608 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/infback9/infback9.h +37 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inffix9.h +107 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inflate9.h +47 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inftree9.c +323 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inftree9.h +55 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/inflate86/inffas86.c +1157 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/inflate86/inffast.S +1368 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream/test.cpp +24 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream/zfstream.cpp +329 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream/zfstream.h +128 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream2/zstream.h +307 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream2/zstream_test.cpp +25 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/README +35 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/TODO +17 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/test.cc +50 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/zfstream.cc +479 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/zfstream.h +466 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masm686/match.asm +413 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/bld_ml64.bat +2 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/gvmat64.asm +513 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/gvmat64.obj +0 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffas8664.c +186 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffasx64.asm +392 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffasx64.obj +0 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/readme.txt +28 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/bld_ml32.bat +2 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32.asm +972 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32.obj +0 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32c.c +62 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/inffas32.asm +1083 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/inffas32.obj +0 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/mkasm.bat +3 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/readme.txt +21 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ChangeLogUnzip +67 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/Makefile +25 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/crypt.h +132 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ioapi.c +177 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ioapi.h +75 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/iowin32.c +270 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/iowin32.h +21 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/miniunz.c +585 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/minizip.c +420 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/mztools.c +281 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/mztools.h +31 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/unzip.c +1598 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/unzip.h +354 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/zip.c +1219 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/minizip/zip.h +235 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/pascal/example.pas +599 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/pascal/readme.txt +76 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/pascal/zlibd32.mak +93 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/pascal/zlibpas.pas +236 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/puff/Makefile +8 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/puff/README +63 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/puff/puff.c +837 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/puff/puff.h +31 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/puff/zeros.raw +0 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/testzlib/testzlib.c +275 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/testzlib/testzlib.txt +10 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/untgz/Makefile +14 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/untgz/Makefile.msc +17 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/untgz/untgz.c +674 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/readme.txt +73 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/miniunz.vcproj +126 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/minizip.vcproj +126 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/testzlib.vcproj +126 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlib.rc +32 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibstat.vcproj +246 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.def +92 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.sln +78 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.vcproj +445 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/miniunz.vcproj +566 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/minizip.vcproj +563 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/testzlib.vcproj +948 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/testzlibdll.vcproj +567 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlib.rc +32 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibstat.vcproj +870 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.def +92 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.sln +144 -0
- data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.vcproj +1219 -0
- data/ext/src/third-party/zlib-1.2.3/crc32.c +423 -0
- data/ext/src/third-party/zlib-1.2.3/crc32.h +441 -0
- data/ext/src/third-party/zlib-1.2.3/crc32.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/deflate.c +1736 -0
- data/ext/src/third-party/zlib-1.2.3/deflate.h +331 -0
- data/ext/src/third-party/zlib-1.2.3/deflate.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/example +0 -0
- data/ext/src/third-party/zlib-1.2.3/example.c +565 -0
- data/ext/src/third-party/zlib-1.2.3/examples/README.examples +42 -0
- data/ext/src/third-party/zlib-1.2.3/examples/fitblk.c +233 -0
- data/ext/src/third-party/zlib-1.2.3/examples/gun.c +693 -0
- data/ext/src/third-party/zlib-1.2.3/examples/gzappend.c +500 -0
- data/ext/src/third-party/zlib-1.2.3/examples/gzjoin.c +448 -0
- data/ext/src/third-party/zlib-1.2.3/examples/gzlog.c +413 -0
- data/ext/src/third-party/zlib-1.2.3/examples/gzlog.h +58 -0
- data/ext/src/third-party/zlib-1.2.3/examples/zlib_how.html +523 -0
- data/ext/src/third-party/zlib-1.2.3/examples/zpipe.c +191 -0
- data/ext/src/third-party/zlib-1.2.3/examples/zran.c +404 -0
- data/ext/src/third-party/zlib-1.2.3/gzio.c +1026 -0
- data/ext/src/third-party/zlib-1.2.3/gzio.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/infback.c +623 -0
- data/ext/src/third-party/zlib-1.2.3/infback.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/inffast.c +318 -0
- data/ext/src/third-party/zlib-1.2.3/inffast.h +11 -0
- data/ext/src/third-party/zlib-1.2.3/inffast.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/inffixed.h +94 -0
- data/ext/src/third-party/zlib-1.2.3/inflate.c +1368 -0
- data/ext/src/third-party/zlib-1.2.3/inflate.h +115 -0
- data/ext/src/third-party/zlib-1.2.3/inflate.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/inftrees.c +329 -0
- data/ext/src/third-party/zlib-1.2.3/inftrees.h +55 -0
- data/ext/src/third-party/zlib-1.2.3/inftrees.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/libz.a +0 -0
- data/ext/src/third-party/zlib-1.2.3/make_vms.com +461 -0
- data/ext/src/third-party/zlib-1.2.3/minigzip +0 -0
- data/ext/src/third-party/zlib-1.2.3/minigzip.c +322 -0
- data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.bor +109 -0
- data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.dj2 +104 -0
- data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.emx +69 -0
- data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.msc +106 -0
- data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.tc +94 -0
- data/ext/src/third-party/zlib-1.2.3/old/Makefile.riscos +151 -0
- data/ext/src/third-party/zlib-1.2.3/old/README +3 -0
- data/ext/src/third-party/zlib-1.2.3/old/descrip.mms +48 -0
- data/ext/src/third-party/zlib-1.2.3/old/os2/Makefile.os2 +136 -0
- data/ext/src/third-party/zlib-1.2.3/old/os2/zlib.def +51 -0
- data/ext/src/third-party/zlib-1.2.3/old/visual-basic.txt +160 -0
- data/ext/src/third-party/zlib-1.2.3/old/zlib.html +971 -0
- data/ext/src/third-party/zlib-1.2.3/projects/README.projects +41 -0
- data/ext/src/third-party/zlib-1.2.3/projects/visualc6/README.txt +73 -0
- data/ext/src/third-party/zlib-1.2.3/projects/visualc6/example.dsp +278 -0
- data/ext/src/third-party/zlib-1.2.3/projects/visualc6/minigzip.dsp +278 -0
- data/ext/src/third-party/zlib-1.2.3/projects/visualc6/zlib.dsp +609 -0
- data/ext/src/third-party/zlib-1.2.3/projects/visualc6/zlib.dsw +59 -0
- data/ext/src/third-party/zlib-1.2.3/qnx/package.qpg +141 -0
- data/ext/src/third-party/zlib-1.2.3/trees.c +1219 -0
- data/ext/src/third-party/zlib-1.2.3/trees.h +128 -0
- data/ext/src/third-party/zlib-1.2.3/trees.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/uncompr.c +61 -0
- data/ext/src/third-party/zlib-1.2.3/uncompr.o +0 -0
- data/ext/src/third-party/zlib-1.2.3/win32/DLL_FAQ.txt +397 -0
- data/ext/src/third-party/zlib-1.2.3/win32/Makefile.bor +107 -0
- data/ext/src/third-party/zlib-1.2.3/win32/Makefile.emx +69 -0
- data/ext/src/third-party/zlib-1.2.3/win32/Makefile.gcc +141 -0
- data/ext/src/third-party/zlib-1.2.3/win32/Makefile.msc +126 -0
- data/ext/src/third-party/zlib-1.2.3/win32/VisualC.txt +3 -0
- data/ext/src/third-party/zlib-1.2.3/win32/zlib.def +60 -0
- data/ext/src/third-party/zlib-1.2.3/win32/zlib1.rc +39 -0
- data/ext/src/third-party/zlib-1.2.3/zconf.h +332 -0
- data/ext/src/third-party/zlib-1.2.3/zconf.in.h +332 -0
- data/ext/src/third-party/zlib-1.2.3/zlib.3 +159 -0
- data/ext/src/third-party/zlib-1.2.3/zlib.h +1357 -0
- data/ext/src/third-party/zlib-1.2.3/zutil.c +318 -0
- data/ext/src/third-party/zlib-1.2.3/zutil.h +269 -0
- data/ext/src/third-party/zlib-1.2.3/zutil.o +0 -0
- data/lib/assembly/a_b_visualiser.rb +169 -0
- data/lib/assembly/acyclic_connection_finder.rb +81 -0
- data/lib/assembly/all_orfs.rb +615 -0
- data/lib/assembly/bad_format_writer.rb +46 -0
- data/lib/assembly/bam_probe_read_selector.rb +48 -0
- data/lib/assembly/bubbly_assembler.rb +842 -0
- data/lib/assembly/c_probe_node_finder.rb +38 -0
- data/lib/assembly/connection_interpreter.rb +350 -0
- data/lib/assembly/contig_printer.rb +400 -0
- data/lib/assembly/coverage_based_graph_filter.rb +68 -0
- data/lib/assembly/depth_first_search.rb +63 -0
- data/lib/assembly/dijkstra.rb +216 -0
- data/lib/assembly/fluffer.rb +253 -0
- data/lib/assembly/graph_explorer.rb +85 -0
- data/lib/assembly/graph_generator.rb +315 -0
- data/lib/assembly/height_finder.rb +355 -0
- data/lib/assembly/hybrid_velvet_graph.rb +70 -0
- data/lib/assembly/input_genome.rb +182 -0
- data/lib/assembly/kmer_coverage_based_path_filter.rb +65 -0
- data/lib/assembly/node_finder.rb +171 -0
- data/lib/assembly/oriented_node_trail.rb +507 -0
- data/lib/assembly/paired_end_assembler.rb +53 -0
- data/lib/assembly/paired_end_neighbour_finder.rb +176 -0
- data/lib/assembly/probed_graph.rb +105 -0
- data/lib/assembly/read_input.rb +79 -0
- data/lib/assembly/read_to_node.rb +37 -0
- data/lib/assembly/scaffold_breaker.rb +126 -0
- data/lib/assembly/sequence_hasher.rb +71 -0
- data/lib/assembly/single_coherent_paths_between_nodes.rb +533 -0
- data/lib/assembly/single_coherent_wanderer.rb +261 -0
- data/lib/assembly/single_ended_assembler.rb +441 -0
- data/lib/assembly/velvet_c_binding.rb +54 -0
- data/lib/assembly/velvet_graph_sequence_extractor.rb +123 -0
- data/lib/external/VERSION +1 -0
- data/lib/finishm/assemble.rb +224 -0
- data/lib/finishm/explore.rb +217 -0
- data/lib/finishm/finisher.rb +303 -0
- data/lib/finishm/fluff.rb +122 -0
- data/lib/finishm/gapfiller.rb +325 -0
- data/lib/finishm/orfs_finder.rb +88 -0
- data/lib/finishm/path_counter.rb +90 -0
- data/lib/finishm/primers.rb +425 -0
- data/lib/finishm/primers_check.rb +176 -0
- data/lib/finishm/roundup.rb +344 -0
- data/lib/finishm/sequence.rb +142 -0
- data/lib/finishm/visualise.rb +430 -0
- data/lib/finishm/wander.rb +270 -0
- data/lib/kmer_abundance_pattern.rb +79 -0
- data/lib/kmer_multi_abundance_file.rb +48 -0
- data/lib/oligo_designer.rb +88 -0
- data/lib/priner.rb +66 -0
- data/spec/acyclic_connection_finder_spec.rb +551 -0
- data/spec/all_orfs_spec.rb +443 -0
- data/spec/assemble_spec.rb +186 -0
- data/spec/bubbly_assembler_spec.rb +707 -0
- data/spec/c_node_finder_spec.rb +58 -0
- data/spec/connection_interpreter_spec.rb +284 -0
- data/spec/contig_printer_spec.rb +291 -0
- data/spec/coverage_based_graph_filter_spec.rb +102 -0
- data/spec/data/6_3e4e5e6e.1vANME.bam +0 -0
- data/spec/data/6_3e4e5e6e.1vANME.bam.bai +0 -0
- data/spec/data/acyclic_connection_finder/1/probes.fa +5 -0
- data/spec/data/acyclic_connection_finder/1/random1.fa +2 -0
- data/spec/data/acyclic_connection_finder/1/random1.sammy.fa.gz +0 -0
- data/spec/data/acyclic_connection_finder/1/random2.fa +2 -0
- data/spec/data/acyclic_connection_finder/1/random2.sammy.fa.gz +0 -0
- data/spec/data/assembly/1_simple_bubble_uneven_coverage/random3000.fa +39 -0
- data/spec/data/assembly/1_simple_bubble_uneven_coverage/random3000.slightly_changed.fa +39 -0
- data/spec/data/assembly/1_simple_bubble_uneven_coverage/reads_combined.fa.gz +0 -0
- data/spec/data/assembly_visualiser/Contig_6_1_to_250.fa.kmers31 +220 -0
- data/spec/data/assembly_visualiser/Contig_7_1_to_250.fa.kmers31 +220 -0
- data/spec/data/assembly_visualiser/Graph +46 -0
- data/spec/data/assembly_visualiser/start_kmers1 +2 -0
- data/spec/data/bands.csv +1 -0
- data/spec/data/c_probe_node_finder/1/CnyUnifiedSeq +0 -0
- data/spec/data/c_probe_node_finder/1/CnyUnifiedSeq.names +544 -0
- data/spec/data/c_probe_node_finder/1/Graph2 +668 -0
- data/spec/data/c_probe_node_finder/1/LastGraph +668 -0
- data/spec/data/c_probe_node_finder/1/Log +756 -0
- data/spec/data/c_probe_node_finder/1/PreGraph +11 -0
- data/spec/data/c_probe_node_finder/1/Roadmaps +2009 -0
- data/spec/data/c_probe_node_finder/1/contigs.fa +29 -0
- data/spec/data/c_probe_node_finder/1/stats.txt +6 -0
- data/spec/data/contig_printer/1/HOWTO_RECREATE +17 -0
- data/spec/data/contig_printer/1/contigs.fa +4 -0
- data/spec/data/contig_printer/1/seq.fa +2408 -0
- data/spec/data/contig_printer/1/seq.fa.svg +153 -0
- data/spec/data/contig_printer/1/seq.fa.velvet/Graph2 +2953 -0
- data/spec/data/contig_printer/1/seq.fa.velvet/LastGraph +2953 -0
- data/spec/data/contig_printer/1/seq.fa.velvet/Log +21 -0
- data/spec/data/contig_printer/1/seq.fa.velvet/PreGraph +27 -0
- data/spec/data/contig_printer/1/seq.fa.velvet/Roadmaps +5182 -0
- data/spec/data/contig_printer/1/seq.fa.velvet/Sequences +3612 -0
- data/spec/data/contig_printer/1/seq.fa.velvet/contigs.fa +36 -0
- data/spec/data/contig_printer/1/seq.fa.velvet/stats.txt +14 -0
- data/spec/data/contig_printer/1/seq.faVseq2_1to550.fa.bam +0 -0
- data/spec/data/contig_printer/1/seq.faVseq2_1to550.fa.bam.bai +0 -0
- data/spec/data/contig_printer/1/seq.node12.fa +4 -0
- data/spec/data/contig_printer/1/seq1_1to550.fa +2 -0
- data/spec/data/contig_printer/1/seq2_1to550.fa +2 -0
- data/spec/data/contig_printer/1/seq2_1to550.fa.fai +1 -0
- data/spec/data/explore/1/2seqs.sammy.fa +12004 -0
- data/spec/data/explore/1/HOWTO_RECREATE.txt +6 -0
- data/spec/data/explore/1/a.fa +2 -0
- data/spec/data/explore/1/seq1_and_a.fa +3 -0
- data/spec/data/explore/1/seq2.fa +2 -0
- data/spec/data/fluff/1/2seqs.sammy.fa +12004 -0
- data/spec/data/fluff/1/HOWTO_RECREATE.txt +5 -0
- data/spec/data/fluff/1/seq1.fa +2 -0
- data/spec/data/fluff/1/seq2.fa +2 -0
- data/spec/data/gapfilling/1/reads.fa +171 -0
- data/spec/data/gapfilling/1/trail_with_Ns.fa +5 -0
- data/spec/data/gapfilling/1/velvetAssembly/Graph2 +130 -0
- data/spec/data/gapfilling/1/velvetAssembly/LastGraph +130 -0
- data/spec/data/gapfilling/1/velvetAssembly/Log +199 -0
- data/spec/data/gapfilling/1/velvetAssembly/PreGraph +7 -0
- data/spec/data/gapfilling/1/velvetAssembly/Roadmaps +239 -0
- data/spec/data/gapfilling/1/velvetAssembly/Sequences +281 -0
- data/spec/data/gapfilling/1/velvetAssembly/contigs.fa +12 -0
- data/spec/data/gapfilling/1/velvetAssembly/stats.txt +4 -0
- data/spec/data/gapfilling/2/HOWTO_recreate +17 -0
- data/spec/data/gapfilling/2/reference.fa +2 -0
- data/spec/data/gapfilling/2/reference_part1.fa +4 -0
- data/spec/data/gapfilling/2/reference_part2.fa +4 -0
- data/spec/data/gapfilling/2/sammy_reads.fa.gz +0 -0
- data/spec/data/gapfilling/2/with_gaps.fa +4 -0
- data/spec/data/gapfilling/3/HOWTO_recreate +4 -0
- data/spec/data/gapfilling/3/reads.fa.gz +0 -0
- data/spec/data/gapfilling/3/reference_part1.fa +4 -0
- data/spec/data/gapfilling/3/reference_part2.fa +4 -0
- data/spec/data/gapfilling/3/with_gaps.fa +4 -0
- data/spec/data/gapfilling/4/HOWTO_recreate +1 -0
- data/spec/data/gapfilling/4/reads.fa.gz +0 -0
- data/spec/data/gapfilling/5/HOWTO_RECREATE +7 -0
- data/spec/data/gapfilling/5/answer.fna +2 -0
- data/spec/data/gapfilling/5/gappy.fna +2 -0
- data/spec/data/gapfilling/5/reads.fa +17961 -0
- data/spec/data/gapfilling/5/velvet51_3.5/LastGraph +8337 -0
- data/spec/data/gapfilling/5/velvet51_3.5/Sequences +20921 -0
- data/spec/data/gapfilling/6/random1.fa +28 -0
- data/spec/data/gapfilling/6/random2.fa +28 -0
- data/spec/data/gapfilling/6/random_sequence_length_2000 +0 -0
- data/spec/data/gapfilling/6/reads.random1.fa.gz +0 -0
- data/spec/data/gapfilling/6/reads.random2.fa.gz +0 -0
- data/spec/data/gapfilling/6/to_gapfill.fa +22 -0
- data/spec/data/kmer_profile_to_assembly/multiple_abundance_file1.csv +2 -0
- data/spec/data/kmers_count1.csv +2 -0
- data/spec/data/kmers_count2.csv +3 -0
- data/spec/data/out +3 -0
- data/spec/data/positive_latching_pair.fa +2 -0
- data/spec/data/primers.csv +4 -0
- data/spec/data/read_selection_by_kmer/blacklist1.txt +1 -0
- data/spec/data/read_selection_by_kmer/input.fasta +6 -0
- data/spec/data/read_selection_by_kmer/whitelist1.txt +1 -0
- data/spec/data/read_selection_by_kmer/whitelist2.txt +2 -0
- data/spec/data/read_to_node/1_a_graph/HOWTO_RECREATE.txt +2 -0
- data/spec/data/read_to_node/1_a_graph/LastGraph +6695 -0
- data/spec/data/read_to_node/1_a_graph/ReadToNode.bin +0 -0
- data/spec/data/read_to_node/2_no_read256_or_259/HOWTO_RECREATE.txt +3 -0
- data/spec/data/read_to_node/2_no_read256_or_259/LastGraph +6693 -0
- data/spec/data/read_to_node/2_no_read256_or_259/ReadToNode.bin +0 -0
- data/spec/data/read_to_node/3_no_last_read/LastGraph +6694 -0
- data/spec/data/read_to_node/3_no_last_read/ReadToNode.bin +0 -0
- data/spec/data/t/details.txt +5 -0
- data/spec/data/t/details.txt.srt +5 -0
- data/spec/data/t/location.txt +3 -0
- data/spec/data/t/location.txt.srt +3 -0
- data/spec/data/tweak/1_gap_then_unscaffolded/answer.fa +2 -0
- data/spec/data/tweak/1_gap_then_unscaffolded/reads.fa.gz +0 -0
- data/spec/data/tweak/1_gap_then_unscaffolded/scaffolds.fa +6 -0
- data/spec/data/tweak/2_second_genome/answer2.fa +2 -0
- data/spec/data/tweak/2_second_genome/reads.fa.gz +0 -0
- data/spec/data/tweak/3_variant/answer.fa +2 -0
- data/spec/data/tweak/3_variant/lesser_answer.fa +2 -0
- data/spec/data/tweak/3_variant/reads.fa.gz +0 -0
- data/spec/data/tweak/3_variant/with_gaps.fa +2 -0
- data/spec/data/velvet_test_trails/Assem/Graph +17 -0
- data/spec/data/velvet_test_trails/Assem/Graph2 +40 -0
- data/spec/data/velvet_test_trails/Assem/LastGraph +40 -0
- data/spec/data/velvet_test_trails/Assem/Log +35 -0
- data/spec/data/velvet_test_trails/Assem/PreGraph +9 -0
- data/spec/data/velvet_test_trails/Assem/Roadmaps +89 -0
- data/spec/data/velvet_test_trails/Assem/Sequences +50 -0
- data/spec/data/velvet_test_trails/Assem/a.svg +53 -0
- data/spec/data/velvet_test_trails/Assem/contigs.fa +15 -0
- data/spec/data/velvet_test_trails/Assem/stats.txt +5 -0
- data/spec/data/velvet_test_trails/node_fwds.fa +8 -0
- data/spec/data/velvet_test_trails/node_seqs.fa +9 -0
- data/spec/data/velvet_test_trails/nodes_fwd_rev.fa +16 -0
- data/spec/data/velvet_test_trails/read1.fa +2 -0
- data/spec/data/velvet_test_trails/reads.fa +50 -0
- data/spec/data/velvet_test_trails_reverse/Assem/LastGraph +17 -0
- data/spec/data/velvet_test_trails_reverse/Assem/a.svg +53 -0
- data/spec/data/velvet_test_trails_reverse/reads_reversed.fa +10 -0
- data/spec/data/visualise/1/LastGraph +6695 -0
- data/spec/data/visualise/2_paired_end/HOWTO_RECREATE.txt +10 -0
- data/spec/data/visualise/2_paired_end/rand1.fa +2 -0
- data/spec/data/visualise/2_paired_end/rand2.fa +2 -0
- data/spec/data/visualise/2_paired_end/with_gaps.fa +8 -0
- data/spec/data/visualise/2_paired_end/with_gaps.read_pairs.fa.gz +0 -0
- data/spec/data/wander/1/random1.fa +2 -0
- data/spec/data/wander/1/random1.sammy.fa +804 -0
- data/spec/depth_first_search_spec.rb +190 -0
- data/spec/dijkstra_spec.rb +143 -0
- data/spec/explore_spec.rb +29 -0
- data/spec/fluffer_spec.rb +155 -0
- data/spec/gapfiller_spec.rb +107 -0
- data/spec/graph_explorer_spec.rb +475 -0
- data/spec/graph_generator_spec.rb +99 -0
- data/spec/height_finder_spec.rb +306 -0
- data/spec/kmer_abundance_pattern_spec.rb +56 -0
- data/spec/kmer_coverage_based_path_filter_spec.rb +73 -0
- data/spec/kmer_profile_finder_spec.rb +38 -0
- data/spec/kmers_count_tabulate_spec.rb +120 -0
- data/spec/oriented_node_trail_spec.rb +221 -0
- data/spec/paired_end_neighbours_spec.rb +126 -0
- data/spec/paths_between_nodes_spec.rb +349 -0
- data/spec/priner_spec.rb +7 -0
- data/spec/read_input_spec.rb +23 -0
- data/spec/read_selection_by_kmer_spec.rb +166 -0
- data/spec/read_to_node_spec.rb +35 -0
- data/spec/roundup_spec.rb +366 -0
- data/spec/scaffold_breaker_spec.rb +144 -0
- data/spec/sequence_spec.rb +43 -0
- data/spec/single_coherent_paths_between_nodes_spec.rb +492 -0
- data/spec/single_coherent_wanderer_spec.rb +120 -0
- data/spec/single_ended_assembler_spec.rb +398 -0
- data/spec/spec_helper.rb +310 -0
- data/spec/velvet_graph_sequence_extractor_spec.rb +80 -0
- data/spec/visualise_spec.rb +105 -0
- data/spec/wander_spec.rb +119 -0
- data/spec/watch_for_changes.sh +16 -0
- data/validation/fasta_compare.rb +72 -0
- data/validation/gapfill_simulate_perfect.rb +108 -0
- metadata +899 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
ZLib for Ada thick binding (ZLib.Ada)
|
|
2
|
+
Release 1.3
|
|
3
|
+
|
|
4
|
+
ZLib.Ada is a thick binding interface to the popular ZLib data
|
|
5
|
+
compression library, available at http://www.gzip.org/zlib/.
|
|
6
|
+
It provides Ada-style access to the ZLib C library.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Here are the main changes since ZLib.Ada 1.2:
|
|
10
|
+
|
|
11
|
+
- Attension: ZLib.Read generic routine have a initialization requirement
|
|
12
|
+
for Read_Last parameter now. It is a bit incompartible with previous version,
|
|
13
|
+
but extends functionality, we could use new parameters Allow_Read_Some and
|
|
14
|
+
Flush now.
|
|
15
|
+
|
|
16
|
+
- Added Is_Open routines to ZLib and ZLib.Streams packages.
|
|
17
|
+
|
|
18
|
+
- Add pragma Assert to check Stream_Element is 8 bit.
|
|
19
|
+
|
|
20
|
+
- Fix extraction to buffer with exact known decompressed size. Error reported by
|
|
21
|
+
Steve Sangwine.
|
|
22
|
+
|
|
23
|
+
- Fix definition of ULong (changed to unsigned_long), fix regression on 64 bits
|
|
24
|
+
computers. Patch provided by Pascal Obry.
|
|
25
|
+
|
|
26
|
+
- Add Status_Error exception definition.
|
|
27
|
+
|
|
28
|
+
- Add pragma Assertion that Ada.Streams.Stream_Element size is 8 bit.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
How to build ZLib.Ada under GNAT
|
|
32
|
+
|
|
33
|
+
You should have the ZLib library already build on your computer, before
|
|
34
|
+
building ZLib.Ada. Make the directory of ZLib.Ada sources current and
|
|
35
|
+
issue the command:
|
|
36
|
+
|
|
37
|
+
gnatmake test -largs -L<directory where libz.a is> -lz
|
|
38
|
+
|
|
39
|
+
Or use the GNAT project file build for GNAT 3.15 or later:
|
|
40
|
+
|
|
41
|
+
gnatmake -Pzlib.gpr -L<directory where libz.a is>
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
How to build ZLib.Ada under Aonix ObjectAda for Win32 7.2.2
|
|
45
|
+
|
|
46
|
+
1. Make a project with all *.ads and *.adb files from the distribution.
|
|
47
|
+
2. Build the libz.a library from the ZLib C sources.
|
|
48
|
+
3. Rename libz.a to z.lib.
|
|
49
|
+
4. Add the library z.lib to the project.
|
|
50
|
+
5. Add the libc.lib library from the ObjectAda distribution to the project.
|
|
51
|
+
6. Build the executable using test.adb as a main procedure.
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
How to use ZLib.Ada
|
|
55
|
+
|
|
56
|
+
The source files test.adb and read.adb are small demo programs that show
|
|
57
|
+
the main functionality of ZLib.Ada.
|
|
58
|
+
|
|
59
|
+
The routines from the package specifications are commented.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
Homepage: http://zlib-ada.sourceforge.net/
|
|
63
|
+
Author: Dmitriy Anisimkov <anisimkov@yahoo.com>
|
|
64
|
+
|
|
65
|
+
Contributors: Pascal Obry <pascal@obry.org>, Steve Sangwine <sjs@essex.ac.uk>
|
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
----------------------------------------------------------------
|
|
2
|
+
-- ZLib for Ada thick binding. --
|
|
3
|
+
-- --
|
|
4
|
+
-- Copyright (C) 2002-2003 Dmitriy Anisimkov --
|
|
5
|
+
-- --
|
|
6
|
+
-- Open source license information is in the zlib.ads file. --
|
|
7
|
+
----------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
-- $Id: test.adb,v 1.17 2003/08/12 12:13:30 vagul Exp $
|
|
10
|
+
|
|
11
|
+
-- The program has a few aims.
|
|
12
|
+
-- 1. Test ZLib.Ada95 thick binding functionality.
|
|
13
|
+
-- 2. Show the example of use main functionality of the ZLib.Ada95 binding.
|
|
14
|
+
-- 3. Build this program automatically compile all ZLib.Ada95 packages under
|
|
15
|
+
-- GNAT Ada95 compiler.
|
|
16
|
+
|
|
17
|
+
with ZLib.Streams;
|
|
18
|
+
with Ada.Streams.Stream_IO;
|
|
19
|
+
with Ada.Numerics.Discrete_Random;
|
|
20
|
+
|
|
21
|
+
with Ada.Text_IO;
|
|
22
|
+
|
|
23
|
+
with Ada.Calendar;
|
|
24
|
+
|
|
25
|
+
procedure Test is
|
|
26
|
+
|
|
27
|
+
use Ada.Streams;
|
|
28
|
+
use Stream_IO;
|
|
29
|
+
|
|
30
|
+
------------------------------------
|
|
31
|
+
-- Test configuration parameters --
|
|
32
|
+
------------------------------------
|
|
33
|
+
|
|
34
|
+
File_Size : Count := 100_000;
|
|
35
|
+
Continuous : constant Boolean := False;
|
|
36
|
+
|
|
37
|
+
Header : constant ZLib.Header_Type := ZLib.Default;
|
|
38
|
+
-- ZLib.None;
|
|
39
|
+
-- ZLib.Auto;
|
|
40
|
+
-- ZLib.GZip;
|
|
41
|
+
-- Do not use Header other then Default in ZLib versions 1.1.4
|
|
42
|
+
-- and older.
|
|
43
|
+
|
|
44
|
+
Strategy : constant ZLib.Strategy_Type := ZLib.Default_Strategy;
|
|
45
|
+
Init_Random : constant := 10;
|
|
46
|
+
|
|
47
|
+
-- End --
|
|
48
|
+
|
|
49
|
+
In_File_Name : constant String := "testzlib.in";
|
|
50
|
+
-- Name of the input file
|
|
51
|
+
|
|
52
|
+
Z_File_Name : constant String := "testzlib.zlb";
|
|
53
|
+
-- Name of the compressed file.
|
|
54
|
+
|
|
55
|
+
Out_File_Name : constant String := "testzlib.out";
|
|
56
|
+
-- Name of the decompressed file.
|
|
57
|
+
|
|
58
|
+
File_In : File_Type;
|
|
59
|
+
File_Out : File_Type;
|
|
60
|
+
File_Back : File_Type;
|
|
61
|
+
File_Z : ZLib.Streams.Stream_Type;
|
|
62
|
+
|
|
63
|
+
Filter : ZLib.Filter_Type;
|
|
64
|
+
|
|
65
|
+
Time_Stamp : Ada.Calendar.Time;
|
|
66
|
+
|
|
67
|
+
procedure Generate_File;
|
|
68
|
+
-- Generate file of spetsified size with some random data.
|
|
69
|
+
-- The random data is repeatable, for the good compression.
|
|
70
|
+
|
|
71
|
+
procedure Compare_Streams
|
|
72
|
+
(Left, Right : in out Root_Stream_Type'Class);
|
|
73
|
+
-- The procedure compearing data in 2 streams.
|
|
74
|
+
-- It is for compare data before and after compression/decompression.
|
|
75
|
+
|
|
76
|
+
procedure Compare_Files (Left, Right : String);
|
|
77
|
+
-- Compare files. Based on the Compare_Streams.
|
|
78
|
+
|
|
79
|
+
procedure Copy_Streams
|
|
80
|
+
(Source, Target : in out Root_Stream_Type'Class;
|
|
81
|
+
Buffer_Size : in Stream_Element_Offset := 1024);
|
|
82
|
+
-- Copying data from one stream to another. It is for test stream
|
|
83
|
+
-- interface of the library.
|
|
84
|
+
|
|
85
|
+
procedure Data_In
|
|
86
|
+
(Item : out Stream_Element_Array;
|
|
87
|
+
Last : out Stream_Element_Offset);
|
|
88
|
+
-- this procedure is for generic instantiation of
|
|
89
|
+
-- ZLib.Generic_Translate.
|
|
90
|
+
-- reading data from the File_In.
|
|
91
|
+
|
|
92
|
+
procedure Data_Out (Item : in Stream_Element_Array);
|
|
93
|
+
-- this procedure is for generic instantiation of
|
|
94
|
+
-- ZLib.Generic_Translate.
|
|
95
|
+
-- writing data to the File_Out.
|
|
96
|
+
|
|
97
|
+
procedure Stamp;
|
|
98
|
+
-- Store the timestamp to the local variable.
|
|
99
|
+
|
|
100
|
+
procedure Print_Statistic (Msg : String; Data_Size : ZLib.Count);
|
|
101
|
+
-- Print the time statistic with the message.
|
|
102
|
+
|
|
103
|
+
procedure Translate is new ZLib.Generic_Translate
|
|
104
|
+
(Data_In => Data_In,
|
|
105
|
+
Data_Out => Data_Out);
|
|
106
|
+
-- This procedure is moving data from File_In to File_Out
|
|
107
|
+
-- with compression or decompression, depend on initialization of
|
|
108
|
+
-- Filter parameter.
|
|
109
|
+
|
|
110
|
+
-------------------
|
|
111
|
+
-- Compare_Files --
|
|
112
|
+
-------------------
|
|
113
|
+
|
|
114
|
+
procedure Compare_Files (Left, Right : String) is
|
|
115
|
+
Left_File, Right_File : File_Type;
|
|
116
|
+
begin
|
|
117
|
+
Open (Left_File, In_File, Left);
|
|
118
|
+
Open (Right_File, In_File, Right);
|
|
119
|
+
Compare_Streams (Stream (Left_File).all, Stream (Right_File).all);
|
|
120
|
+
Close (Left_File);
|
|
121
|
+
Close (Right_File);
|
|
122
|
+
end Compare_Files;
|
|
123
|
+
|
|
124
|
+
---------------------
|
|
125
|
+
-- Compare_Streams --
|
|
126
|
+
---------------------
|
|
127
|
+
|
|
128
|
+
procedure Compare_Streams
|
|
129
|
+
(Left, Right : in out Ada.Streams.Root_Stream_Type'Class)
|
|
130
|
+
is
|
|
131
|
+
Left_Buffer, Right_Buffer : Stream_Element_Array (0 .. 16#FFF#);
|
|
132
|
+
Left_Last, Right_Last : Stream_Element_Offset;
|
|
133
|
+
begin
|
|
134
|
+
loop
|
|
135
|
+
Read (Left, Left_Buffer, Left_Last);
|
|
136
|
+
Read (Right, Right_Buffer, Right_Last);
|
|
137
|
+
|
|
138
|
+
if Left_Last /= Right_Last then
|
|
139
|
+
Ada.Text_IO.Put_Line ("Compare error :"
|
|
140
|
+
& Stream_Element_Offset'Image (Left_Last)
|
|
141
|
+
& " /= "
|
|
142
|
+
& Stream_Element_Offset'Image (Right_Last));
|
|
143
|
+
|
|
144
|
+
raise Constraint_Error;
|
|
145
|
+
|
|
146
|
+
elsif Left_Buffer (0 .. Left_Last)
|
|
147
|
+
/= Right_Buffer (0 .. Right_Last)
|
|
148
|
+
then
|
|
149
|
+
Ada.Text_IO.Put_Line ("ERROR: IN and OUT files is not equal.");
|
|
150
|
+
raise Constraint_Error;
|
|
151
|
+
|
|
152
|
+
end if;
|
|
153
|
+
|
|
154
|
+
exit when Left_Last < Left_Buffer'Last;
|
|
155
|
+
end loop;
|
|
156
|
+
end Compare_Streams;
|
|
157
|
+
|
|
158
|
+
------------------
|
|
159
|
+
-- Copy_Streams --
|
|
160
|
+
------------------
|
|
161
|
+
|
|
162
|
+
procedure Copy_Streams
|
|
163
|
+
(Source, Target : in out Ada.Streams.Root_Stream_Type'Class;
|
|
164
|
+
Buffer_Size : in Stream_Element_Offset := 1024)
|
|
165
|
+
is
|
|
166
|
+
Buffer : Stream_Element_Array (1 .. Buffer_Size);
|
|
167
|
+
Last : Stream_Element_Offset;
|
|
168
|
+
begin
|
|
169
|
+
loop
|
|
170
|
+
Read (Source, Buffer, Last);
|
|
171
|
+
Write (Target, Buffer (1 .. Last));
|
|
172
|
+
|
|
173
|
+
exit when Last < Buffer'Last;
|
|
174
|
+
end loop;
|
|
175
|
+
end Copy_Streams;
|
|
176
|
+
|
|
177
|
+
-------------
|
|
178
|
+
-- Data_In --
|
|
179
|
+
-------------
|
|
180
|
+
|
|
181
|
+
procedure Data_In
|
|
182
|
+
(Item : out Stream_Element_Array;
|
|
183
|
+
Last : out Stream_Element_Offset) is
|
|
184
|
+
begin
|
|
185
|
+
Read (File_In, Item, Last);
|
|
186
|
+
end Data_In;
|
|
187
|
+
|
|
188
|
+
--------------
|
|
189
|
+
-- Data_Out --
|
|
190
|
+
--------------
|
|
191
|
+
|
|
192
|
+
procedure Data_Out (Item : in Stream_Element_Array) is
|
|
193
|
+
begin
|
|
194
|
+
Write (File_Out, Item);
|
|
195
|
+
end Data_Out;
|
|
196
|
+
|
|
197
|
+
-------------------
|
|
198
|
+
-- Generate_File --
|
|
199
|
+
-------------------
|
|
200
|
+
|
|
201
|
+
procedure Generate_File is
|
|
202
|
+
subtype Visible_Symbols is Stream_Element range 16#20# .. 16#7E#;
|
|
203
|
+
|
|
204
|
+
package Random_Elements is
|
|
205
|
+
new Ada.Numerics.Discrete_Random (Visible_Symbols);
|
|
206
|
+
|
|
207
|
+
Gen : Random_Elements.Generator;
|
|
208
|
+
Buffer : Stream_Element_Array := (1 .. 77 => 16#20#) & 10;
|
|
209
|
+
|
|
210
|
+
Buffer_Count : constant Count := File_Size / Buffer'Length;
|
|
211
|
+
-- Number of same buffers in the packet.
|
|
212
|
+
|
|
213
|
+
Density : constant Count := 30; -- from 0 to Buffer'Length - 2;
|
|
214
|
+
|
|
215
|
+
procedure Fill_Buffer (J, D : in Count);
|
|
216
|
+
-- Change the part of the buffer.
|
|
217
|
+
|
|
218
|
+
-----------------
|
|
219
|
+
-- Fill_Buffer --
|
|
220
|
+
-----------------
|
|
221
|
+
|
|
222
|
+
procedure Fill_Buffer (J, D : in Count) is
|
|
223
|
+
begin
|
|
224
|
+
for K in 0 .. D loop
|
|
225
|
+
Buffer
|
|
226
|
+
(Stream_Element_Offset ((J + K) mod (Buffer'Length - 1) + 1))
|
|
227
|
+
:= Random_Elements.Random (Gen);
|
|
228
|
+
|
|
229
|
+
end loop;
|
|
230
|
+
end Fill_Buffer;
|
|
231
|
+
|
|
232
|
+
begin
|
|
233
|
+
Random_Elements.Reset (Gen, Init_Random);
|
|
234
|
+
|
|
235
|
+
Create (File_In, Out_File, In_File_Name);
|
|
236
|
+
|
|
237
|
+
Fill_Buffer (1, Buffer'Length - 2);
|
|
238
|
+
|
|
239
|
+
for J in 1 .. Buffer_Count loop
|
|
240
|
+
Write (File_In, Buffer);
|
|
241
|
+
|
|
242
|
+
Fill_Buffer (J, Density);
|
|
243
|
+
end loop;
|
|
244
|
+
|
|
245
|
+
-- fill remain size.
|
|
246
|
+
|
|
247
|
+
Write
|
|
248
|
+
(File_In,
|
|
249
|
+
Buffer
|
|
250
|
+
(1 .. Stream_Element_Offset
|
|
251
|
+
(File_Size - Buffer'Length * Buffer_Count)));
|
|
252
|
+
|
|
253
|
+
Flush (File_In);
|
|
254
|
+
Close (File_In);
|
|
255
|
+
end Generate_File;
|
|
256
|
+
|
|
257
|
+
---------------------
|
|
258
|
+
-- Print_Statistic --
|
|
259
|
+
---------------------
|
|
260
|
+
|
|
261
|
+
procedure Print_Statistic (Msg : String; Data_Size : ZLib.Count) is
|
|
262
|
+
use Ada.Calendar;
|
|
263
|
+
use Ada.Text_IO;
|
|
264
|
+
|
|
265
|
+
package Count_IO is new Integer_IO (ZLib.Count);
|
|
266
|
+
|
|
267
|
+
Curr_Dur : Duration := Clock - Time_Stamp;
|
|
268
|
+
begin
|
|
269
|
+
Put (Msg);
|
|
270
|
+
|
|
271
|
+
Set_Col (20);
|
|
272
|
+
Ada.Text_IO.Put ("size =");
|
|
273
|
+
|
|
274
|
+
Count_IO.Put
|
|
275
|
+
(Data_Size,
|
|
276
|
+
Width => Stream_IO.Count'Image (File_Size)'Length);
|
|
277
|
+
|
|
278
|
+
Put_Line (" duration =" & Duration'Image (Curr_Dur));
|
|
279
|
+
end Print_Statistic;
|
|
280
|
+
|
|
281
|
+
-----------
|
|
282
|
+
-- Stamp --
|
|
283
|
+
-----------
|
|
284
|
+
|
|
285
|
+
procedure Stamp is
|
|
286
|
+
begin
|
|
287
|
+
Time_Stamp := Ada.Calendar.Clock;
|
|
288
|
+
end Stamp;
|
|
289
|
+
|
|
290
|
+
begin
|
|
291
|
+
Ada.Text_IO.Put_Line ("ZLib " & ZLib.Version);
|
|
292
|
+
|
|
293
|
+
loop
|
|
294
|
+
Generate_File;
|
|
295
|
+
|
|
296
|
+
for Level in ZLib.Compression_Level'Range loop
|
|
297
|
+
|
|
298
|
+
Ada.Text_IO.Put_Line ("Level ="
|
|
299
|
+
& ZLib.Compression_Level'Image (Level));
|
|
300
|
+
|
|
301
|
+
-- Test generic interface.
|
|
302
|
+
Open (File_In, In_File, In_File_Name);
|
|
303
|
+
Create (File_Out, Out_File, Z_File_Name);
|
|
304
|
+
|
|
305
|
+
Stamp;
|
|
306
|
+
|
|
307
|
+
-- Deflate using generic instantiation.
|
|
308
|
+
|
|
309
|
+
ZLib.Deflate_Init
|
|
310
|
+
(Filter => Filter,
|
|
311
|
+
Level => Level,
|
|
312
|
+
Strategy => Strategy,
|
|
313
|
+
Header => Header);
|
|
314
|
+
|
|
315
|
+
Translate (Filter);
|
|
316
|
+
Print_Statistic ("Generic compress", ZLib.Total_Out (Filter));
|
|
317
|
+
ZLib.Close (Filter);
|
|
318
|
+
|
|
319
|
+
Close (File_In);
|
|
320
|
+
Close (File_Out);
|
|
321
|
+
|
|
322
|
+
Open (File_In, In_File, Z_File_Name);
|
|
323
|
+
Create (File_Out, Out_File, Out_File_Name);
|
|
324
|
+
|
|
325
|
+
Stamp;
|
|
326
|
+
|
|
327
|
+
-- Inflate using generic instantiation.
|
|
328
|
+
|
|
329
|
+
ZLib.Inflate_Init (Filter, Header => Header);
|
|
330
|
+
|
|
331
|
+
Translate (Filter);
|
|
332
|
+
Print_Statistic ("Generic decompress", ZLib.Total_Out (Filter));
|
|
333
|
+
|
|
334
|
+
ZLib.Close (Filter);
|
|
335
|
+
|
|
336
|
+
Close (File_In);
|
|
337
|
+
Close (File_Out);
|
|
338
|
+
|
|
339
|
+
Compare_Files (In_File_Name, Out_File_Name);
|
|
340
|
+
|
|
341
|
+
-- Test stream interface.
|
|
342
|
+
|
|
343
|
+
-- Compress to the back stream.
|
|
344
|
+
|
|
345
|
+
Open (File_In, In_File, In_File_Name);
|
|
346
|
+
Create (File_Back, Out_File, Z_File_Name);
|
|
347
|
+
|
|
348
|
+
Stamp;
|
|
349
|
+
|
|
350
|
+
ZLib.Streams.Create
|
|
351
|
+
(Stream => File_Z,
|
|
352
|
+
Mode => ZLib.Streams.Out_Stream,
|
|
353
|
+
Back => ZLib.Streams.Stream_Access
|
|
354
|
+
(Stream (File_Back)),
|
|
355
|
+
Back_Compressed => True,
|
|
356
|
+
Level => Level,
|
|
357
|
+
Strategy => Strategy,
|
|
358
|
+
Header => Header);
|
|
359
|
+
|
|
360
|
+
Copy_Streams
|
|
361
|
+
(Source => Stream (File_In).all,
|
|
362
|
+
Target => File_Z);
|
|
363
|
+
|
|
364
|
+
-- Flushing internal buffers to the back stream.
|
|
365
|
+
|
|
366
|
+
ZLib.Streams.Flush (File_Z, ZLib.Finish);
|
|
367
|
+
|
|
368
|
+
Print_Statistic ("Write compress",
|
|
369
|
+
ZLib.Streams.Write_Total_Out (File_Z));
|
|
370
|
+
|
|
371
|
+
ZLib.Streams.Close (File_Z);
|
|
372
|
+
|
|
373
|
+
Close (File_In);
|
|
374
|
+
Close (File_Back);
|
|
375
|
+
|
|
376
|
+
-- Compare reading from original file and from
|
|
377
|
+
-- decompression stream.
|
|
378
|
+
|
|
379
|
+
Open (File_In, In_File, In_File_Name);
|
|
380
|
+
Open (File_Back, In_File, Z_File_Name);
|
|
381
|
+
|
|
382
|
+
ZLib.Streams.Create
|
|
383
|
+
(Stream => File_Z,
|
|
384
|
+
Mode => ZLib.Streams.In_Stream,
|
|
385
|
+
Back => ZLib.Streams.Stream_Access
|
|
386
|
+
(Stream (File_Back)),
|
|
387
|
+
Back_Compressed => True,
|
|
388
|
+
Header => Header);
|
|
389
|
+
|
|
390
|
+
Stamp;
|
|
391
|
+
Compare_Streams (Stream (File_In).all, File_Z);
|
|
392
|
+
|
|
393
|
+
Print_Statistic ("Read decompress",
|
|
394
|
+
ZLib.Streams.Read_Total_Out (File_Z));
|
|
395
|
+
|
|
396
|
+
ZLib.Streams.Close (File_Z);
|
|
397
|
+
Close (File_In);
|
|
398
|
+
Close (File_Back);
|
|
399
|
+
|
|
400
|
+
-- Compress by reading from compression stream.
|
|
401
|
+
|
|
402
|
+
Open (File_Back, In_File, In_File_Name);
|
|
403
|
+
Create (File_Out, Out_File, Z_File_Name);
|
|
404
|
+
|
|
405
|
+
ZLib.Streams.Create
|
|
406
|
+
(Stream => File_Z,
|
|
407
|
+
Mode => ZLib.Streams.In_Stream,
|
|
408
|
+
Back => ZLib.Streams.Stream_Access
|
|
409
|
+
(Stream (File_Back)),
|
|
410
|
+
Back_Compressed => False,
|
|
411
|
+
Level => Level,
|
|
412
|
+
Strategy => Strategy,
|
|
413
|
+
Header => Header);
|
|
414
|
+
|
|
415
|
+
Stamp;
|
|
416
|
+
Copy_Streams
|
|
417
|
+
(Source => File_Z,
|
|
418
|
+
Target => Stream (File_Out).all);
|
|
419
|
+
|
|
420
|
+
Print_Statistic ("Read compress",
|
|
421
|
+
ZLib.Streams.Read_Total_Out (File_Z));
|
|
422
|
+
|
|
423
|
+
ZLib.Streams.Close (File_Z);
|
|
424
|
+
|
|
425
|
+
Close (File_Out);
|
|
426
|
+
Close (File_Back);
|
|
427
|
+
|
|
428
|
+
-- Decompress to decompression stream.
|
|
429
|
+
|
|
430
|
+
Open (File_In, In_File, Z_File_Name);
|
|
431
|
+
Create (File_Back, Out_File, Out_File_Name);
|
|
432
|
+
|
|
433
|
+
ZLib.Streams.Create
|
|
434
|
+
(Stream => File_Z,
|
|
435
|
+
Mode => ZLib.Streams.Out_Stream,
|
|
436
|
+
Back => ZLib.Streams.Stream_Access
|
|
437
|
+
(Stream (File_Back)),
|
|
438
|
+
Back_Compressed => False,
|
|
439
|
+
Header => Header);
|
|
440
|
+
|
|
441
|
+
Stamp;
|
|
442
|
+
|
|
443
|
+
Copy_Streams
|
|
444
|
+
(Source => Stream (File_In).all,
|
|
445
|
+
Target => File_Z);
|
|
446
|
+
|
|
447
|
+
Print_Statistic ("Write decompress",
|
|
448
|
+
ZLib.Streams.Write_Total_Out (File_Z));
|
|
449
|
+
|
|
450
|
+
ZLib.Streams.Close (File_Z);
|
|
451
|
+
Close (File_In);
|
|
452
|
+
Close (File_Back);
|
|
453
|
+
|
|
454
|
+
Compare_Files (In_File_Name, Out_File_Name);
|
|
455
|
+
end loop;
|
|
456
|
+
|
|
457
|
+
Ada.Text_IO.Put_Line (Count'Image (File_Size) & " Ok.");
|
|
458
|
+
|
|
459
|
+
exit when not Continuous;
|
|
460
|
+
|
|
461
|
+
File_Size := File_Size + 1;
|
|
462
|
+
end loop;
|
|
463
|
+
end Test;
|