Closed huiqingyeooo closed 2 months ago
Hi,
Thank you for reaching out! I have looked a bit deep into this and it seems that the issue arises due to precision in the internal SVD process. I have tried to mitigate the issue throughout the framework.
Can you update your PCAngsd to v1.3 and try your scenario again? :-)
Best, Jonas
Hi Jonas,
Thank you so much for the update to pcangsd! It works well for me now (:
slurm-30609196 pcangsd.b2.t1.iter100.rep1.cov PCAngsd converged. 9m2s slurm-30609201 pcangsd.b2.t1.iter100.rep2.cov PCAngsd converged. 9m54s slurm-30609198 pcangsd.b2.t1.iter100.rep3.cov PCAngsd converged. 10m24s slurm-30609202 pcangsd.b2.t1.iter100.rep4.cov PCAngsd converged. 9m58s slurm-30609205 pcangsd.b2.t1.iter100.rep5.cov PCAngsd converged. 10m0s
slurm-30609197 pcangsd.b2.t1.iter200.rep1.cov PCAngsd converged. 9m14s slurm-30609204 pcangsd.b2.t1.iter200.rep2.cov PCAngsd converged. 9m48s slurm-30609199 pcangsd.b2.t1.iter200.rep3.cov PCAngsd converged. 9m42s slurm-30609200 pcangsd.b2.t1.iter200.rep4.cov PCAngsd converged. 10m37s slurm-30609203 pcangsd.b2.t1.iter200.rep5.cov PCAngsd converged. 9m54s
Hi! I noticed that the covariance matrix estimation does not converge when I use one thread for the run, but converges when 2 or more threads are used. So far I've tested this on one of my beagle datasets generated from angsd.
This is the script that I used with permutations on the number of threads (1/2/8) and number of iterations (100/800): pcangsd -b b2.beagle.gz -o pcangsd.b2.t1.iter100.rep1 --selection --admix --iter 100 -t 1
This is a summary of the runs: slurm-30586915 pcangsd.b2.t1.iter100.rep1.cov PCAngsd did not converge! 22m0s slurm-30586916 pcangsd.b2.t1.iter100.rep2.cov PCAngsd did not converge! 20m11s slurm-30586917 pcangsd.b2.t1.iter100.rep3.cov PCAngsd did not converge! 18m45s slurm-30586918 pcangsd.b2.t1.iter100.rep4.cov PCAngsd did not converge! 19m45s slurm-30586919 pcangsd.b2.t1.iter100.rep5.cov PCAngsd did not converge! 19m14s slurm-30586920 pcangsd.b2.t1.iter800.rep1.cov PCAngsd did not converge! 107m51s slurm-30586921 pcangsd.b2.t1.iter800.rep2.cov PCAngsd did not converge! 113m43s slurm-30586922 pcangsd.b2.t1.iter800.rep3.cov PCAngsd did not converge! 102m4s slurm-30586923 pcangsd.b2.t1.iter800.rep4.cov PCAngsd did not converge! 112m8s slurm-30586924 pcangsd.b2.t1.iter800.rep5.cov PCAngsd did not converge! 114m7s
slurm-30592789 pcangsd.b2.t2.iter100.rep1.cov PCAngsd converged. 5m15s slurm-30592792 pcangsd.b2.t2.iter100.rep2.cov PCAngsd converged. 5m22s slurm-30592785 pcangsd.b2.t2.iter100.rep3.cov PCAngsd converged. 5m8s slurm-30592788 pcangsd.b2.t2.iter100.rep4.cov PCAngsd converged. 5m48s slurm-30592790 pcangsd.b2.t2.iter100.rep5.cov PCAngsd converged. 5m18s slurm-30592786 pcangsd.b2.t2.iter800.rep1.cov PCAngsd converged. 7m12s slurm-30592787 pcangsd.b2.t2.iter800.rep2.cov PCAngsd converged. 5m17s slurm-30592791 pcangsd.b2.t2.iter800.rep3.cov PCAngsd converged. 5m44s slurm-30592794 pcangsd.b2.t2.iter800.rep4.cov PCAngsd converged. 5m41s slurm-30592793 pcangsd.b2.t2.iter800.rep5.cov PCAngsd converged. 5m39s
slurm-30586925 pcangsd.b2.t8.iter100.rep1.cov PCAngsd converged. 3m58s slurm-30586926 pcangsd.b2.t8.iter100.rep2.cov PCAngsd converged. 3m52s slurm-30586927 pcangsd.b2.t8.iter100.rep4.cov PCAngsd converged. 3m50s slurm-30586928 pcangsd.b2.t8.iter100.rep3.cov PCAngsd converged. 3m59s slurm-30586929 pcangsd.b2.t8.iter100.rep5.cov PCAngsd converged. 4m4s slurm-30586930 pcangsd.b2.t8.iter800.rep1.cov PCAngsd converged. 3m22s slurm-30586931 pcangsd.b2.t8.iter800.rep2.cov PCAngsd converged. 3m29s slurm-30586932 pcangsd.b2.t8.iter800.rep3.cov PCAngsd converged. 3m31s slurm-30586933 pcangsd.b2.t8.iter800.rep4.cov PCAngsd converged. 3m57s slurm-30586934 pcangsd.b2.t8.iter800.rep5.cov PCAngsd converged. 3m57s
Do you have any insights on this? Thank you! (: