Closed laserson closed 6 years ago
hm, sorry about that. It runs fine on my installs, but the mac thing is certainly suspicous -- I don't know for a fact that anyone's used it on osx. There can't possibly be much different, but I'm not familiar enough to know what would need to be changed on osx.
I wonder if you could try the test suite,
./test/test.py
I wonder if a different compiler could be defining size_type
here to something differerent? That seems unlikely, but I don't have a lot of other ideas yet.
Good call, as I see the build script runs a smaller number of tests. The main test script fails like so:
$ test/test.py
annotate-ref-simu ./bin/partis annotate --plot-performance --plotdir test/new-results/simu-ref-performance --only-csv-plots --is-simu --sw-cachefname test/reference-results/test/parameters/simu/sw-cache.csv --infname test/reference-results/test/simu.csv --parameter-dir test/r[...]
partition-ref-simu ./bin/partis partition --n-max-queries 500 --n-precache-procs 10 --biggest-logprob-cluster-to-calculate 5 --biggest-naive-seq-cluster-to-calculate 5 --persistent-cachefname test/new-results/cache-ref-partition.csv --is-simu --sw-cachefname test/reference-res[...]
log tail:
File "/Users/laserson/repos/partis/python/utils.py", line 1785, in run_cmds
finish_process(iproc, procs, n_tries, cmdfos[iproc], dbgfo=cmdfos[iproc]['dbgfo'], batch_system=batch_system, batch_options=batch_options, debug=debug, ignore_stderr=ignore_stderr)
File "/Users/laserson/repos/partis/python/utils.py", line 1812, in finish_process
raise Exception(failstr)
Exception: exceeded max number of tries for cmd
/Users/laserson/repos/partis/packages/ham/bcrham --algorithm viterbi --hmmdir /Users/laserson/repos/partis/test/reference-results/test/parameters/simu/hmm/hmms --datadir /tmp/laserson/hmms/771957/germline-sets --infile /tmp/laserson/hmms/771957/hmm-0/hmm_input.csv --outfile /tmp/laserson/hmms/771957/hmm-0/hmm_output.csv --locus igh --random-seed 1 --only-cache-new-vals --output-cachefname /tmp/laserson/hmms/771957/hmm-0/hmm_cached_info.csv --cache-naive-seqs --ambig-base N
look for output in /tmp/laserson/hmms/771957/hmm-0 and /tmp/laserson/hmms/771957/hmm-0
exceeded max number of tries for cmd
/Users/laserson/repos/partis/packages/ham/bcrham --algorithm viterbi --hmmdir /Users/laserson/repos/partis/test/reference-results/test/parameters/simu/hmm/hmms --datadir /tmp/laserson/hmms/771957/germline-sets --infile /tmp/laserson/hmms/771957/hmm-0/hmm_input.csv --outfile /tmp/laserson/hmms/771957/hmm-0/hmm_output.csv --locus igh --random-seed 1 --only-cache-new-vals --output-cachefname /tmp/laserson/hmms/771957/hmm-0/hmm_cached_info.csv --cache-naive-seqs --ambig-base N
look for output in /tmp/laserson/hmms/771957/hmm-0 and /tmp/laserson/hmms/771957/hmm-0
And same error
Assertion failed: (naive_seqs_.count(queries) == 0), function CalculateNaiveSeq, file _build/glomerator.cc, line 702.
ok, I'll try to round up an osx machine to test it on and figure out what the deal is. I'd been meaning to add osx-specific directions anyway. In the meantime you're probably best off running in docker, though.
ok I still haven't managed to try this on an os-x machine, but someone else just successfully installed/built it on their os-x laptop. They pretty much took the apt-get/pip installs and tried them first with brew, then with pip if that didn't work.
Did they run the same test suite? I had no problem with the build, but test/test.py
failed.
oh, darn, you're right it was only the partition that was crashing for you, just had him go back and run partitioning and it crashes with the same error.
Yays, it's repeatable. Not-yays, that is so weird. Well, I'll dig through and work it out. Maybe the compiler's treating the nullptr
keyword differently? Sorry for the trouble.
ok this seems to fix it on Branden's install. Let me know if it doesn't fix it for you.
the issue was a line like this:
map[key] = getval();
where getval()
checks to make sure that key
isn't already in map
. The os-x compiler apparently evaluates the LHS before the RHS, i.e. adds key
to map
before calling getval()
, which causes the check in getval()
to fail.
oh, also: I added a little os-x specific installation info to the manual here
https://github.com/psathyrella/partis/blob/master/manual.md#installation-from-scratch
it'd be lovely if you have anything to add to it if you could let me know.
Now I get
$ test/test.py
annotate-ref-simu ./bin/partis annotate --plot-performance --plotdir test/new-results/simu-ref-performance --only-csv-plots --is-simu --sw-cachefname test/reference-results/test/parameters/simu/sw-cache.csv --infname test/reference-results/test/simu.csv --parameter-dir test/r[...]
partition-ref-simu ./bin/partis partition --n-max-queries 500 --n-precache-procs 10 --biggest-logprob-cluster-to-calculate 5 --biggest-naive-seq-cluster-to-calculate 5 --persistent-cachefname test/new-results/cache-ref-partition.csv --is-simu --sw-cachefname test/reference-res[...]
seed-partition-ref-simu ./bin/partis partition --n-max-queries 500 --persistent-cachefname test/new-results/cache-ref-partition.csv --dont-precache-naive-seqs --is-simu --sw-cachefname test/reference-results/test/parameters/simu/sw-cache.csv --infname test/reference-results/test/si[...]
vsearch-partition-ref-simu ./bin/partis partition --naive-vsearch --n-max-queries 500 --persistent-cachefname test/new-results/cache-ref-partition.csv --dont-precache-naive-seqs --is-simu --sw-cachefname test/reference-results/test/parameters/simu/sw-cache.csv --infname test/reference[...]
log tail:
errread, errwrite)
File "/Users/laserson/miniconda3/envs/py27/lib/python2.7/subprocess.py", line 1024, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
water time: 0.7
hmm
naive hfrac bounds: 0.036 0.036 (0.131 mean mutation in parameter dir test/reference-results/test/parameters/simu/hmm)
collapsed 500 sequences into 296 unique naive sequences
using hfrac bound for vsearch 0.036
running vsearch 20 times (once for each cdr3 length class):
ah, that must be the result of me just having the vsearch binary in the repo. I'll probably add the os-x version and look up how to test at run time what os I'm running on? That might not scale, though, I'll have to read a bit.
https://github.com/psathyrella/partis/commit/87ac0d54e921f5240d2be7b9ea1c6726d9c4d59c
ok, this is fixed (added darwin vsearch binary and started checking for os). Let me know if you have any other problems.
I just built partis from scratch on my mac. I can successfully run the
annotate
command frommanual.md
. However, when I run thepartition
commandI get the following output
The
/tmp/...
directory contains a file callederr
with contents