bacpop / PopPUNK

PopPUNK 👨‍🎤 (POPulation Partitioning Using Nucleotide Kmers)
https://www.bacpop.org/poppunk
Apache License 2.0
87 stars 17 forks source link

AttributeError: module 'pp_sketchlib' has no attribute 'sparsifyDists' #241

Closed drhoads closed 1 year ago

drhoads commented 1 year ago

Versions poppunk v2.5.0 pp-sketchlib v2.0.1 Command used and output returned I bash a script file containing: poppunk --create-db --output PoppunkDB --r-files r-list.txt --external-clustering external_clusters.csv --overwrite --threads 8 poppunk --fit-model lineage --ref-db PoppunkDB --output PopPunkLineageModel --graph-weights --overwrite --threads 8 poppunk_visualise --ref-db PoppunkDB --model-dir PopPunkLineageModel --output Poppunk_viz --overwrite --microreact --threads 8

Output returned: (Poppunk) drhoads@ARSC-A-G4LJXP3:/mnt/f/DNAwork/Sagnetis/908PI2$ bash runpoppunk.sh PopPUNK (POPulation Partitioning Using Nucleotide Kmers) (with backend: sketchlib v2.0.1 sketchlib: /home/drhoads/miniconda3/envs/Poppunk/lib/python3.10/site-packages/pp_sketchlib.cpython-310-x86_64-linux-gnu.so)

Graph-tools OpenMP parallelisation enabled: with 8 threads Mode: Building new database from input sequences Sketching 58 genomes using 8 thread(s) Progress (CPU): 58 / 58 Writing sketches to file Calculating random match chances using Monte Carlo Calculating distances using 8 thread(s) Progress (CPU): 100.0%

Done PopPUNK (POPulation Partitioning Using Nucleotide Kmers) (with backend: sketchlib v2.0.1 sketchlib: /home/drhoads/miniconda3/envs/Poppunk/lib/python3.10/site-packages/pp_sketchlib.cpython-310-x86_64-linux-gnu.so)

Graph-tools OpenMP parallelisation enabled: with 8 threads Mode: Fitting lineage model to reference database

Traceback (most recent call last): File "/home/drhoads/miniconda3/envs/Poppunk/bin/poppunk", line 11, in sys.exit(main()) File "/home/drhoads/miniconda3/envs/Poppunk/lib/python3.10/site-packages/PopPUNK/main.py", line 491, in main model.fit(distMat, args.use_accessory) File "/home/drhoads/miniconda3/envs/Poppunk/lib/python3.10/site-packages/PopPUNK/models.py", line 1086, in fit pp_sketchlib.sparsifyDists( AttributeError: module 'pp_sketchlib' has no attribute 'sparsifyDists'

Graph-tools OpenMP parallelisation enabled: with 8 threads PopPUNK: visualise Unable to locate previous model fit in PopPunkLineageModel (Poppunk) drhoads@ARSC-A-G4LJXP3:/mnt/f/DNAwork/Sagnetis/908PI2$

Describe the bug Not certain what to try on this, first time to see this error. This is on a new instance of WSL2Ubuntu in Win11, and installed poppunk from bioconda.

drhoads commented 1 year ago

Oops. forgot to change the subject.

johnlees commented 1 year ago

I think this is likely due to an API breaking change in sketchlib, can you try with version 2.0.0 rather than 2.0.1. This will be fixed in poppunk 2.6.0, which is due imminently

Originally posted by @johnlees in https://github.com/bacpop/PopPUNK/issues/234#issuecomment-1310177169

johnlees commented 1 year ago

Fixed in #232, release coming later