bxlab / metaWRAP

MetaWRAP - a flexible pipeline for genome-resolved metagenomic data analysis
MIT License
391 stars 191 forks source link

AttributeError when plotting the reassembly summary plots #124

Open slambrechts opened 5 years ago

slambrechts commented 5 years ago

Dear metaWRAP team,

While running the reassemble_bins command from the tutorial (using metawrap v 1.1.3) , something went wrong while plotting the summary plots at the end:

Plotting completion data... Traceback (most recent call last): File "/opt/anaconda/bin/metawrap-scripts/plot_reassembly.py", line 68, in ax.set_axis_bgcolor('white') AttributeError: 'AxesSubplot' object has no attribute 'set_axis_bgcolor

Google leads me to: https://github.com/scikit-learn/scikit-learn/issues/10762... But I'm not sure I can fix this myself.

ursky commented 5 years ago

I'm curious - have you been able to get the same bin improvement plot from the bin_refinement module, or you haven't tried?

slambrechts commented 5 years ago

I'm not 100% sure, because it's a few days ago that I ran the bin_refinement step of the tutorial, but I'm pretty sure I didn't see a "Something went wrong with.... Exiting." message. One difference is that now I'm running metawrap 1.1.3, and when I ran bin_refinement, I was using v 1.1.2

ursky commented 5 years ago

Did the bin_refinement produce the plot or not?

slambrechts commented 5 years ago

Yes, both the binning results and intermediate binning results png and eps files are there

ursky commented 5 years ago

Ok, I think I know what happened. The plotting script uses the option set_axis_bgcolor, which is only available for older matplotlib versions, but was replaced by set_facecolor in newer matplotlib versions. Now, the metawrap installation enforces the older matplotlib version, so its likely that you have a newer version installed somewhere that Python is importing instead. Both the reassemble_bins and bin_refinement module plotting script use the same command, so I assume you must have run them in the slightly different contexts.

So I would re-try with a new conda environment. You dont have to re-run the module, just run the ~/miniconda2/bin/metawrap-scripts/plot_reassembly.py *.stats on the output files to make the plot. If that doesnt work, you can always just comment out the set_axis_bgcolor options or change them to set_facecolor in the plotting script itself.