linearham crashed
Closed this issue · 7 comments
root@d4094c82cf56:/linearham# scons --run-linearham
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scripts/generate_revbayes_rev_file.py templates/revbayes_asr_template.rev --fasta-path output/cluster-0/cluster_seqs.fasta --mcmc-iter 10000 --mcmc-thin 10 --tune-iter 5000 --tune-thin 100 --num-rates 4 --seed 0 --output-path output/cluster-0/mcmciter10000_mcmcthin10_tuneiter5000_tunethin100_numrates4_rngseed0/revbayes_run.rev
lib/revbayes/projects/cmake/rb output/cluster-0/mcmciter10000_mcmcthin10_tuneiter5000_tunethin100_numrates4_rngseed0/revbayes_run.rev > output/cluster-0/mcmciter10000_mcmcthin10_tuneiter5000_tunethin100_numrates4_rngseed0/revbayes_run.stdout.log
_build/linearham/linearham --pipeline --yaml-path output/cluster-0/cluster.yaml --cluster-ind 0 --hmm-param-dir output/parameter_dir/hmm/hmms --seed 0 --num-rates 4 --input-path output/cluster-0/mcmciter10000_mcmcthin10_tuneiter5000_tunethin100_numrates4_rngseed0/revbayes_run.trees --output-path output/cluster-0/mcmciter10000_mcmcthin10_tuneiter5000_tunethin100_numrates4_rngseed0/lh_revbayes_run.trees
linearham: _build/linearham/VDJGermline.cpp:51: std::unordered_map<std::__cxx11::basic_string<char>, linearham::GermlineGene> linearham::CreateGermlineGeneMap(std::__cxx11::string): Assertion `dir != nullptr' failed.
Aborted (core dumped)
scons: *** [output/cluster-0/mcmciter10000_mcmcthin10_tuneiter5000_tunethin100_numrates4_rngseed0/lh_revbayes_run.trees] Error 134
scons: building terminated because of errors.
I haven't been able to reproduce this crash yet but it looks like it is crashing here:
https://github.com/matsengrp/linearham/blob/master/src/VDJGermline.cpp#L51
i.e. the --hmm-param-dir
in the _build/linearham/linearham
command (which comes from --parameter-dir
) does not exist. I will keep trying, but it would be useful to know if you ran --run-partis
prior to this or if you set any defaults so that I can try to reproduce by running things exactly as you did.
Thanks!
I'm not sure how many similar null ptr checks are scattered around the linearham code, but it would be really nice if they could be replaced with error messages that give the user a better clue what's wrong. Something like throwing a runtime error with a message like "hmm_param_dir not found" would give the user a really good shot at fixing the problem themselves, since --hmm-param-dir is a something that was just passed in to linearham so they have some control over it, whereas asserting "dir" isn't null ptr sounds more like a coding error or memory issue than a dir not existing.
I like this style of throwing things, although I wouldn't put the ERROR text these days since it's already getting kicked to std err.
@scharch it seems like linearham is trying and failing to use output/parameter_dir
as your parameter dir for --run-linearham
. Does that directory exist and does what does it contain? What happens if you instead specify the parameter dir
generated separately by a previous version of partis
Yes, the directory exists; I copied the partis output there when I was having trouble specifying the command line options.
root@d4094c82cf56:/linearham# ls output/paramter_dir/hmm/hmms/
IGHD1-1_star_01.yaml IGHD3-22_star_01.yaml IGHJ4_star_02.yaml IGHV3-11_star_05.yaml IGHV3-74_star_01.yaml
IGHD1-20_star_01.yaml IGHD3-3_star_01.yaml IGHJ5_star_01.yaml IGHV3-11_star_06.yaml IGHV3-7_star_03.yaml
IGHD1-26_star_01.yaml IGHD3-3_star_02.yaml IGHJ5_star_02.yaml IGHV3-13_star_04.yaml IGHV4-30-2_star_01.yaml
IGHD1-7_star_01.yaml IGHD3-9_star_01.yaml IGHJ6_star_02.yaml IGHV3-15_star_01.yaml IGHV4-31_star_03.yaml
IGHD2-15_star_01.yaml IGHD4-17_star_01.yaml IGHV1-18_star_04.yaml IGHV3-20_star_01.yaml IGHV4-34_star_01.yaml
IGHD2-21_star_01.yaml IGHD5-12_star_01.yaml IGHV1-24_star_01.yaml IGHV3-21_star_01.yaml IGHV4-38-2_star_02.yaml
IGHD2-21_star_02.yaml IGHD5-18_star_01.yaml IGHV1-2_star_04.yaml IGHV3-23_star_01.yaml IGHV4-39_star_01.yaml
IGHD2-2_star_01.yaml IGHD6-13_star_01.yaml IGHV1-3_star_01.yaml IGHV3-30_star_18.yaml IGHV4-4_star_02.yaml
IGHD2-2_star_02.yaml IGHD6-19_star_01.yaml IGHV1-46_star_01.yaml IGHV3-43_star_01.yaml IGHV4-59_star_01.yaml
IGHD2-2_star_03.yaml IGHD6-25_star_01.yaml IGHV1-58_star_02.yaml IGHV3-48_star_02.yaml IGHV4-59_star_08.yaml
IGHD2-8_star_01.yaml IGHD6-6_star_01.yaml IGHV1-69_star_02.yaml IGHV3-49_star_04.yaml IGHV4-61_star_08.yaml
IGHD2-8_star_02.yaml IGHD7-27_star_01.yaml IGHV1-69_star_10.yaml IGHV3-53_star_01.yaml IGHV5-10-1_star_03.yaml
IGHD3-10_star_01.yaml IGHJ1_star_01.yaml IGHV2-26_star_01.yaml IGHV3-64_star_01.yaml IGHV5-51_star_01.yaml
IGHD3-10_star_02.yaml IGHJ2_star_01.yaml IGHV2-5_star_01.yaml IGHV3-64_star_05+G240C.yaml IGHV6-1_star_01.yaml
IGHD3-16_star_01.yaml IGHJ3_star_01.yaml IGHV2-5_star_02.yaml IGHV3-72_star_01.yaml IGHV7-4-1_star_02.yaml
IGHD3-16_star_02.yaml IGHJ3_star_02.yaml IGHV2-70_star_11.yaml IGHV3-73_star_01.yaml
possible a spelling error? output/paramter_dir
?
Awwwwww hell