hahnlab / CAFE5

Version 5 of the CAFE phylogenetics software
Other
109 stars 22 forks source link

std::out of range error #153

Open kalimero0411 opened 10 months ago

kalimero0411 commented 10 months ago

I tried running cafe5 with many species and got a valid lambda only after removing 17 OGs (from orthofinder). However, afterwards I always get the following error:

Filtering families not present at the root from: 46627 to 16060

No root family size distribution specified, using uniform distribution
Inferring processes for Base model
Score (-lnL): 839506.19397248
Maximum possible lambda for this topology: 4.5203052110078
Computing pvalues...
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 721) >= this->size() (which is 721)

I tried decreasing the CPU number to 1 and inputting the lambda manually. The happens in the conda environment v5.0 as well as the v5.1 from GitHub.

Could you advise me on what could be done? Thank you.

benfulton commented 10 months ago

Can you share your tree and input files? Or send them directly to me if you prefer. What lambda did you input manually?

kalimero0411 commented 10 months ago

Hi Dr. Fulton, Firstly, thank you for responding to my request. I have attached the files I used to create this issue. Orthogroups.GeneCount.cafe5.tsv and SpeciesTree_rooted.txt.ultrametric.tre are the initial inputs for the first estimation run that failed due to large differentials between min and max count, the log file of which is cafe5.log. Next, I removed some orthogroups to (detailed in removed) and re-ran the analysis with Orthogroups.GeneCount.cafe5_reduced.tsv and the same tree. The log file for this run is cafe5_reduced.log. The run resulted in an estimated lambda (detailed in lambda) and two output files ( Base_results.txt and Base_family_likelihoods.txt), but failed after "Computing pvalues...". The orthogroups and tree were made with orthofinder. I have already run this analysis with very similar input and got back complete results. Any advice you could provide would be much appreciated. Thank you again. cafe5.tar.gz

On Mon, 23 Oct 2023 at 16:50, Ben Fulton @.***> wrote:

Can you share your tree and input files? Or send them directly to me if you prefer. What lambda did you input manually?

— Reply to this email directly, view it on GitHub https://github.com/hahnlab/CAFE5/issues/153#issuecomment-1775246517, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJCHDOYAOXFC2AMO2KVHGATYAZYZTAVCNFSM6AAAAAA6J6WVICVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZVGI2DMNJRG4 . You are receiving this because you authored the thread.Message ID: @.***>

benfulton commented 10 months ago

This appears to be a bug in CAFE in handling family sizes over 1000. I believe you only have one, in the very first family, so if you remove that one it should work.

If you are technically inclined, you could edit config.h and modify the value of MAX_STACK_FAMILY_SIZE to 2000 and that should work as well.

We'll try to get a fix in, but I don't know for when we have another CAFE release planned.

xiongqian123456789 commented 2 months ago

Hello

I also met this error as follows: cat cafe.e7330161 terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check: __n (which is 801) >= this->size() (which is 801) /var/spool/pbs/mom_priv/jobs/7330161.gatk1.SC: line 38: 34880 Aborted (core dumped) cafe5 -i gene.counts.tab -t tree.withTime.nwk -p -o 3results --cores 40 -l 0.001

And I checkd the input file with no family > 1000; And I also could not find the config.h file to modify the value of MAX_STACK_FAMILY_SIZE.

Really appreaciated for your help!