plot_taxa_summary.py error

298 views
Skip to first unread message

mbourgey

unread,
Dec 14, 2015, 4:20:37 PM12/14/15
to Qiime 1 Forum
Hello,

I'm trying to run qiime 1.9.1 but get an error while I'm running this command:
plot_taxa_summary.py -i alpha_diversity/taxonomic_affiliation/otu_normalized_table_L2.txt -l Phylum -t png -x 20 -y 12 -c bar -o alpha_diversity/test

the generated error is:
```
File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/bin/plot_taxa_summary.py", line 4, in <module>
    __import__('pkg_resources').run_script('qiime==1.9.1', 'plot_taxa_summary.py')
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 745, in run_script
   
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 1670, in run_script
   
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime-1.9.1-py2.7.egg/EGG-INFO/scripts/plot_taxa_summary.py", line 278, in <module>
    main()
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime-1.9.1-py2.7.egg/EGG-INFO/scripts/plot_taxa_summary.py", line 274, in main
    resize_nth_label, label_type, include_html_legend)
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime-1.9.1-py2.7.egg/qiime/plot_taxa_summary.py", line 1138, in make_all_charts
    resize_nth_label, label_type, include_html_legend))
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime-1.9.1-py2.7.egg/qiime/plot_taxa_summary.py", line 1073, in get_counts
    label_type, include_html_legend))
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime-1.9.1-py2.7.egg/qiime/plot_taxa_summary.py", line 861, in make_HTML_table
    props={'title': title})
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime-1.9.1-py2.7.egg/qiime/plot_taxa_summary.py", line 662, in make_area_bar_chart
    background_color, img_abs, generate_image_type, dpi)
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime-1.9.1-py2.7.egg/qiime/plot_taxa_summary.py", line 187, in make_legend
    shadow=False, fancybox=False)
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-linux-x86_64.egg/matplotlib/figure.py", line 1251, in legend
    l = Legend(self, handles, labels, *args, **kwargs)
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-linux-x86_64.egg/matplotlib/legend.py", line 385, in __init__
    self._init_legend_box(handles, labels, markerfirst)
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-linux-x86_64.egg/matplotlib/legend.py", line 654, in _init_legend_box
    fontsize, handlebox))
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-linux-x86_64.egg/matplotlib/legend_handler.py", line 119, in legend_artist
    fontsize, handlebox.get_transform())
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-linux-x86_64.egg/matplotlib/legend_handler.py", line 252, in create_artists
    self.update_prop(p, orig_handle, legend)
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-linux-x86_64.egg/matplotlib/legend_handler.py", line 78, in update_prop
    legend._set_artist_props(legend_handle)
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-linux-x86_64.egg/matplotlib/legend.py", line 401, in _set_artist_props
    a.set_figure(self.figure)
  File "/lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-linux-x86_64.egg/matplotlib/artist.py", line 640, in set_figure
    raise RuntimeError("Can not put single artist in "
RuntimeError: Can not put single artist in more than one figure
```

From what I understand the function try to overload the legend and matplotlib raise the error.

long story short:
I first get an error with the display that I correct while adding the line
```
backend : agg
```
to ~/.config/matplotlib/matplotlibrc but now this new exception occurs.

Any idea of what is wrong and how I could solve this problem ?
I tried with different input files and different parameters value for -t -x -y and -c but nothing could solve this.

for you information this is the detail of my installation:

print_qiime_config.py -t

System information
==================
         Platform:    linux2
   Python version:    2.7.10 (default, Dec  4 2015, 15:57:27)  [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]
Python executable:    /lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/bin/python

QIIME default reference information
===================================
For details on what files are used as QIIME's default references, see here:
 https://github.com/biocore/qiime-default-reference/releases/tag/0.1.3

Dependency versions
===================
          QIIME library version:    1.9.1
           QIIME script version:    1.9.1
qiime-default-reference version:    0.1.3
                  NumPy version:    1.10.1
                  SciPy version:    0.16.1
                 pandas version:    0.17.1
             matplotlib version:    1.5.0
            biom-format version:    2.1.5
                   h5py version:    2.5.0 (HDF5 version: 1.8.5)
                   qcli version:    0.1.1
                   pyqi version:    0.3.2
             scikit-bio version:    0.2.3
                 PyNAST version:    1.2.2
                Emperor version:    0.9.51
                burrito version:    0.9.1
       burrito-fillings version:    0.1.1
              sortmerna version:    SortMeRNA version 2.0, 29/11/2014
              sumaclust version:    SUMACLUST Version 1.0.00
                  swarm version:    Swarm 1.2.19 [Dec  7 2015 10:18:50]
                          gdata:    Installed.

QIIME config values
===================
For definitions of these settings and to learn how to configure QIIME, see here:
 http://qiime.org/install/qiime_config.html
 http://qiime.org/tutorials/parallel_qiime.html

                     blastmat_dir:    /lb/project/mugqic/analyste_dev/software/qiime/qiime-1.9.1/blast-2.2.22-release/data
      pick_otus_reference_seqs_fp:    /lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime_default_reference/gg_13_8_otus/rep_set/97_otus.fasta
                         sc_queue:    all.q
      topiaryexplorer_project_dir:    None
     pynast_template_alignment_fp:    /lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime_default_reference/gg_13_8_otus/rep_set_aligned/85_otus.pynast.fasta
                  cluster_jobs_fp:    start_parallel_jobs.py
pynast_template_alignment_blastdb:    None
assign_taxonomy_reference_seqs_fp:    /lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime_default_reference/gg_13_8_otus/rep_set/97_otus.fasta
                     torque_queue:    friendlyq
                    jobs_to_start:    1
                       slurm_time:    None
            denoiser_min_per_core:    50
assign_taxonomy_id_to_taxonomy_fp:    /lb/project/mugqic/analyste_dev/software/python/Python-2.7.10/lib/python2.7/site-packages/qiime_default_reference/gg_13_8_otus/taxonomy/97_otu_taxonomy.txt
                         temp_dir:    /tmp/
                     slurm_memory:    None
                      slurm_queue:    None
                      blastall_fp:    /lb/project/mugqic/analyste_dev/software/qiime/qiime-1.9.1/blast-2.2.22-release/bin/blastall
                 seconds_to_sleep:    1

QIIME base install test results
===============================
.........
----------------------------------------------------------------------
Ran 9 tests in 0.267s

OK

Yoshiki Vázquez Baeza

unread,
Dec 15, 2015, 1:01:56 AM12/15/15
to Qiime 1 Forum
Hello,

I don't know what might be going on, but it seems like this is using matplotlib 1.5.0 which is a rather new release, would you mind trying out version 1.4.3? Maybe try doing:

pip install 'matplotlib==1.4.3'

Then I think plot_taxa_summary.py should work.

Thanks!

Yoshiki.

mbourgey

unread,
Dec 15, 2015, 8:56:03 AM12/15/15
to Qiime 1 Forum
Thank you Yoshiki,

I will give a try and let you know !


Mathieu

mbourgey

unread,
Dec 15, 2015, 10:08:13 AM12/15/15
to Qiime 1 Forum
Hello Yoshiki,

uninstalling matplotlib 1.5.0 and reinstalling 1.4.3 solve the problem.

Any idea if this is a bug of matplotlib or a change in their API ? (sorry I'm currious :) )

Thank you again


Mathieu

Yoshiki Vázquez Baeza

unread,
Dec 15, 2015, 12:11:47 PM12/15/15
to Qiime 1 Forum
Hello,

At this point I'm not sure, haven't had a chance to look at it into much detail, but I noticed our continuous integration build failing with a similar error and we know most stable releases <1.5.0 worked just fine.

Thanks!

Yoshiki.

Colin Brislawn

unread,
Dec 15, 2015, 12:26:26 PM12/15/15
to Qiime 1 Forum
Yoshiki, 

We are still getting failures in the Jenkins CI related to this error:

Colin

Yoshiki Vázquez Baeza

unread,
Dec 15, 2015, 12:48:26 PM12/15/15
to Qiime 1 Forum
Thanks Colin, I just opened an issue about it:
Reply all
Reply to author
Forward
0 new messages