Skip to content
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

error with "submitClumpak.py -b" #16

Open
Gefsy opened this issue Dec 11, 2023 · 4 comments
Open

error with "submitClumpak.py -b" #16

Gefsy opened this issue Dec 11, 2023 · 4 comments
Assignees
Labels

Comments

@Gefsy
Copy link

Gefsy commented Dec 11, 2023

Hi steve,
I tried to use the AdmixPipe v3 in Docker as tutorials. But i got same error like "Cannot calculate best k because Standard deviation of 'Ln Prob of Data' for K=1 is zero. at /etc/perl/BestKByEvannoAccessor.pm line 315." when i used both example_files and my own data to find the best K value.
I would like to know how to solve this problem, thank you very much.

@stevemussmann
Copy link
Owner

That error is coming from the CLUMPAK package (i.e., someone else's code) so I might be limited in what help I can provide unless it is being caused by something upstream from that point in my code.

The first thing that comes to mind is that I've seen an error like that if I performed only a single replicate (-R option in admixturePipeline.py). What command did you use to execute admixturePipeline.py?

@Gefsy
Copy link
Author

Gefsy commented Dec 12, 2023

Thanks for your reply
I just used “ admixturePipeline.py -m popmap.txt -v input.vcf -k 1 -K 10 -n 16 -t 100 -a 0.05”,with - R default = 20

@stevemussmann
Copy link
Owner

Interesting. I haven't had that before but I'll look into it. Unfortunately my best recommendation until I [hopefully] resolve this is to avoid running k=1 if you're going to try using the Evanno method.

@stevemussmann stevemussmann self-assigned this Dec 13, 2024
@stevemussmann
Copy link
Owner

Apologies for the lateness of this reply if github sends you a notification about this issue. I'm slowly working through the backlog of issues for this pipeline.

I have addressed issue #16 by implementing a function in submitClumpak.py that checks for stdev = 0 at k=1. If found, k=1 is deleted from the loglikelihood file ll_all.txt and the bestK pipeline is then executed for all other K values.

If this function is triggered, then a warning message is printed to stdout notifying the user of this behavior.

This feature is fully implemented in the github repository as of commit 9172bbb, but is not yet available in the Docker container. I am working on a larger update to the Docker container to fix several other issues (mostly surrounding submitClumpak.py) and update Python and its dependencies to newer versions. The updated container should be live (hopefully) within the next month. I will leave this issue open until the new container is uploaded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants