matsen / pplacer

Phylogenetic placement and downstream analysis
http://matsen.fredhutch.org/pplacer/
GNU General Public License v3.0
74 stars 18 forks source link

allow pplacer to mmap instead of doing large allocations #256

Closed habnabit closed 12 years ago

matsen commented 12 years ago

Aaron-- seems to be working great. I think that all that's needed before merging is a bit of docs describing what mmap is, and how it can help with very large problems, and better catching of permissions problems:

rhino2 re/microbiome-demo ‹dev*› » time pplacer -c vaginal_16s.refpkg --mmap-file /test.mm src/p4z1r36.fasta
Running pplacer v1.1.alpha13rc1-1-gafd445c analysis on src/p4z1r36.fasta...
Found reference sequences in given alignment file. Using those for reference alignment.
Pre-masking sequences... sequence length cut from 2196 to 275.
Determining figs... figs disabled.
Allocating memory for internal nodes... Uncaught exception: Unix.Unix_error(1, "open", "/test.mm")
Fatal error: exception Unix.Unix_error(1, "open", "/test.mm")
Raised at file "src/batInnerIO.ml", line 0, characters 0-0
Called from file "list.ml", line 69, characters 12-15
Called from file "printexc.ml", line 67, characters 4-11
Re-raised at file "printexc.ml", line 71, characters 10-11
Called from file "list.ml", line 0, characters 0-0
pplacer -c vaginal_16s.refpkg --mmap-file /test.mm src/p4z1r36.fasta  0.82s user 0.00s system 98% cpu 0.830 total
matsen commented 12 years ago

Also, when this is merged @koadman would like an OS X dev binary build.

habnabit commented 12 years ago
Allocating memory for internal nodes... Uncaught exception: Unix.Unix_error(1, "open", "/test.mm")

I'm not sure what you want to see instead of this. I can make it give the strerror for the errno 1, at least. That would say "permission denied" on most systems.

matsen commented 12 years ago

That sounds great. Then seems great to merge!

On Sun, Jun 3, 2012 at 2:19 PM, Aaron Gallagher reply@reply.github.com wrote:

    Allocating memory for internal nodes... Uncaught exception: Unix.Unix_error(1, "open", "/test.mm")

I'm not sure what you want to see instead of this. I can make it give the strerror for the errno 1, at least. That would say "permission denied" on most systems.


Reply to this email directly or view it on GitHub: https://github.com/matsen/pplacer/pull/256#issuecomment-6089154

Frederick "Erick" Matsen, Assistant Member Fred Hutchinson Cancer Research Center http://matsen.fhcrc.org/