Rosemeis / pcangsd

Framework for analyzing low depth NGS data in heterogeneous populations using PCA.
GNU General Public License v3.0
47 stars 11 forks source link

Single-precision types in `eigs` and `eighs` #18

Closed sunnvor closed 5 years ago

sunnvor commented 5 years ago

Hi, When I run PCAngsd with my data I get this error about eigs.

Error message: /usr/lib64/python2.7/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.py:65: UserWarning: Single-precision types in eigs and eighs are not supported currently. Double precision routines are used instead. warnings.warn("Single-precision types in eigs and eighs " Traceback (most recent call last): File "/software/angsd/pcangsd/pcangsd.py", line 179, in C, Pi, e = covariance.pcaEM(L, args.e, f, args.iter, args.tole, args.threads) File "/software/angsd/pcangsd/covariance.py", line 77, in pcaEM W = estimateSVD(E, K, Pi) File "/software/angsd/pcangsd/covariance.py", line 18, in estimateSVD np.dot(W*s, U, out=Pi) ValueError: output array is not acceptable (must have the right type, nr dimensions, and be a C-Array)

Command: python /software/angsd/pcangsd/pcangsd.py -beagle genolikeT4.beagle.gz -admix -o FirstPCArunT4 -threads 10

I get the same error when I don't use the -admix option. I ran NGSadmix using the same data file without problems.

Cheers, Sunnvor

Rosemeis commented 5 years ago

Hi Sunnvor,

I'm pretty sure the problem roots in very outdated python packages (especially scipy). Try and update all the dependencies.

Best, Jonas

sunnvor commented 5 years ago

Thanks Jonas. Updating the packages worked :)