phyloacc / PhyloAcc

PhyloAcc a software to detect the changes of conservation of a genomic region
GNU General Public License v3.0
26 stars 12 forks source link

PLOT.genPlots(globs):tkinter.TclError: unknown color name "white" #38

Closed 1221li closed 1 year ago

1221li commented 1 year ago

Dear author, Thank you very much for developing an interesting software, which is very helpful to me, but I have some problems. first of all, when I run the 'phyloacc.py' , This error occured: image Of course, this may be a problem with the configuration of my environment variables, but I hope you can give me some helpful suggestions, such as changing the color variables in the script. Then,I'm a little confused about the results of the run. image In the result files,I can got the informations about 'locus,num-seqs,length,avg-nogap-seq-len,variable-sites,unique-seqs,informative-sites,num-sites-w-gap,num-sites-half-gap,num-seqs-half-gap,low-qual,batch-type,num-unique-seqs,node-scf-sum,num-nodes,node-scf-avg,perc-low-scf-nodes,low-scf-nodes',so what means? and the posterior probabilities and BF1,BF2,R1,R2 values in papers, how do I get them? I am looking forward to your reply ! Best wishes!

gwct commented 1 year ago

Hello, Sorry about the long delay, I missed the notification for this issue somehow.

It looks like the tkinter.TclError: unknown color name "white" error you're referring to has to do with some incompatible interactions between some previous versions of matplotlib and tk (tkinter). See https://github.com/matplotlib/matplotlib/issues/18999 and https://github.com/matplotlib/matplotlib/issues/8960 for more info.

This likely means the versions of those packages in your current environment are out of date. What versions do those display as when you run conda list when you are in the environment with PhyloAcc installed? For me they are:

matplotlib-base           3.5.2            py39h700656a_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge

It is possible that you ran conda install phyloacc in an environment with older versions of these packages already installed, in which case you could try updating them within the environment. Otherwise, you could create a fresh conda environment and install PhyloAcc there. The good news is that this error doesn't affect the batching done by phyloacc.py -- that should have all occurred before this point in the code -- but just the plots it generates at the end.


As for your second question about how to get the BFs and posterior probabilities, you'll have to execute the batches with the provided snakemake script. The command phyloacc.py is just a pre-processing script designed to split the input loci into batches to be run on a compute cluster -- PhyloAcc has not been run yet. If you have a cluster setup with SLURM as the job scheduler you should be able to execute the snakemake command which should be written at the end of the log file (phyloacc-out-09-18-2022.04-47-58.log). See the README on the website for more information, and let me know if you have any more questions!

gwct commented 1 year ago

Closing due to inactivity.