-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
facilitating 3 population model convergence #86
Comments
Hi, thank you for using GADMA! Inferencing the demographic history for three populations can be time-consuming. Do you have a total of 192 diploid individuals? If so, then it will be time-consuming indeed. You can check the processing speed in any of the following files: You have two options (as you have already mentioned):
If you are using dadi, not moments, then you should use Bayesian optimization for three populations in almost any case. |
Thank you, Ekaterina, for your very helpful response! I have decided to both downsample the SFS and use Bayesian optimization. I just wanted to follow up with you as I have struggled getting optimization to work. Manual GADMA installation has not worked for me in the past, just trying to get the correct combination of dependencies together. For my work with GADMA thus far, I have used a conda installation. However, my conda installation doesn't have access to the Bayesian optimization algorithm as currently installed: |
Hi, I am glad to hear from you. From my experience, it can be difficult to install specific versions of packages using conda - as I remember it force you to use the last version. However, if it suits you, you can install all required versions (bayes_opt.txt) using pip. Python should be able to use all packages that are installed either by conda or pip. However, make sure that the fresh versions you installed with conda are uninstalled, otherwise there can be a conflict. I hope that helps. The last thing: what OS are you using? Just in case: SMAC that is required for Bayesian optimization is not working for Windows. Best regards, |
Hi, Ekaterina- Thanks so much!
where gadma_reqs.txt is
then
I get a numpy error that other installation approaches have also been giving me in these recent attempts:
Thank you for being so responsive and helpful!! My best, |
Hi, Ekaterina- I just thought I'd follow up on this question! Thanks so much, |
Dear Emma, Thank you for reminding me about your issue, sorry for slow reply. Yes, it is definitely numpy version that causes the error you see. I can recommend to uninstall numpy from conda and install it manually using pip and specific version. For example, I tested numpy 1.22.4 and it worked fine. To install specific version: I will also try to fix this error in the next release. Best regards, |
Hi, Ekaterina! - Thanks so much for your suggestion. I have tried installation pathways through both pip and conda, and still am unable to complete the installation of GADMA with Bayesian optimization. In my previous installation of GADMA (before I was using Bayesian optimization), I really struggled with installation via pip, and eventually overcame the difficulty by relying entirely on conda. Now, layering on the requirements for Bayesian optimization, conda is also not delivering! The continual problem that appears to come up is numpy. I have tried both specifying particular versions (and I've tried many possible versions), but also tried not specifying in the hopes that either mamba or conda will be able to detect and resolve incompatibilities during installation. Something that would really be lovely would be to have a conda/mamba compatibility requirements file with all the exact versions required to play together nicely for GADMA run with the dadi engine, the Bayesian optimization algorithm, and moments (to allow visualization). This is what I've been attempting to compile as I try different combinations of module versions... I did initially try putting together the various requirement files from the GADMA github install, but numpy (as ever) causes problems. I would be so grateful for any support you can provide! I have come back to this challenge every few weeks, hoping that I'd be newly inspired to solve this puzzle, but I have had no luck since my initial install woes in November! My very best, |
Dear Emma, I am sure that together we can solve this problem! Let us check the following things:
What version of smac do you have?
I am sorry, I am not familiar with mamba, I usually use conda environments where it is allowed to install packages both using conda and pip. Is it also allowed in mamba? I am looking forward to hear from you! Best regards, |
Hi, Ekatarina - Thanks so much for your support. I can't wait to get things installed properly! Mamba does let you install things using both it and pip! To follow up on your suggestions, what I first did was pip uninstall any versions of dependencies for GADMA currently on my system. I then tried specifying the versions of numpy and smac during a fresh mamba install, to make sure I end up with the versions we know should work (numpy=1.22.4, smac=0.13.1). Then, I downloaded GADMA with git and installed GADMA itself with the Next, I tried setting up all my dependencies with conda again, but instead doing the conda install of gadma. In this instance, the install doesn't complete successfully:
As I mentioned before, I had been using python 3.8 until this point. Now, I instead moved to python 3.7 again, and specified nlopt=2.7.0 in my list of requirements. Sadly, now I find that numpy and python start fighting:
What I would love to try would be to specify the versions of all the dependencies in my conda install, copying exactly what we know works on your system! Might you share these dependency versions? |
Dear Emma, Wow, thank you for the details! Below, I provide the steps that I used just now to install and run GADMA on my laptop, I hope that will help you. First, you said that versions of numpy and smac were overwritten after pip installation of GADMA. That usually means that pip does not see these packages to be installed for some reason. If you installed them using mamba, probably there is a solution how to tell pip about mamba installation directory. Second, I would recommend to use Python 3.8 as it appears to be more reliable version. Here my steps how I installed GADMA in local environment:
I did not try, but probably this should also work:
Here is the output of my
Best regards, |
Hi, Ekaterina- Thank you so much for your kindness and helpfulness in guiding me through this installation procedure! With the information you provided and the support of an incredible labmate, I was finally able to complete this installation process. In case others are struggling, I want to share this solution here !!
This worked perfectly for him. I still have some issue with pip, so needed to run separately Thanks, again, so much, Ekaterina! I am thrilled to have GADMA with BO running now!! |
Hi @steigeec, I am glad you have successfully overcame installation issue! Please let me know if you have any further questions. Ekaterina |
Hi, Ekaterina -
Thanks again for this incredibly useful program!
I had a great experience using for 2-population models. Ultimately, I want to implement for a 3-population model, but GADMA has not been able to print any models yet (192 individuals total, and 6.7million SNPs). To facilitate convergence, I changed my final structure to match the initial structure: [1,1,1], but GADMA has been running 30 processes for a month now and hasn't been able to print a model. Do you recommend that I implement the Bayesian optimization ensemble that is shown in the example of inference with four and five populations? Or perhaps I should consider downprojecting my data? Might you have other recommendations for how to assist in convergence?
Thanks so much!
The text was updated successfully, but these errors were encountered: