AdmiralenOla / Scoary

Pan-genome wide association studies
GNU General Public License v3.0
147 stars 35 forks source link

RuntimeError: maximum recursion depth exceeded while calling a Python object #69

Open mlaziz opened 5 years ago

mlaziz commented 5 years ago

I am trying to run scoary on roary output from 3100 samples. I get the following error RuntimeError: maximum recursion depth exceeded while calling a Python object

I tried both python versions 2.7 and 3.5 but the error remains the same

AdmiralenOla commented 5 years ago

Hi @mlaziz, and sorry for not getting back to you sooner. Thanks for reporting this. 3100 samples is a larger dataset than I ever tested Scoary on, and unfortunately it seems python has some problems with very deep recursions. (As will be happening here since Scoary browses every possible sub-tree in your 3100 sample phylogeny)

I would at some point like to fix this, either by changing the algorithm to a loop structure or by increasing the allowed recursion depth. (Not sure if the latter is recommended).

For now, I think you're better off by sub-sampling your data a little.

AdmiralenOla commented 5 years ago

Same problem as #56

nickp60 commented 5 years ago

I have the same issue, with ~1300 samples; will try subsampling...

AdmiralenOla commented 5 years ago

Note: It is also possible to increase the default allowed recursion depth using sys.setrecursionlimit(5000).