问题
源码下载的 LEfSe,或者使用 conda install -c bioconda lefse 安装完成后,执行分析出现报错:
$ lefse-format_input.py hmp_aerobiosis_small.txt hmp_aerobiosis_small.in -c 1 -s 2 -u 3 -o 1000000$ run_lefse.py hmp_aerobiosis_small.in hmp_aerobiosis_small.resNumber of significantly discriminative features: 51 ( 131 ) before internal wilcoxonNumber of discriminative features with abs LDA score > 2.0 : 51$ lefse-plot_res.py hmp_aerobiosis_small.res hmp_aerobiosis_small.pngTraceback (most recent call last):File "/Bio/Bioinfo/Pipeline/SoftWare/Anaconda2/bin/lefse-plot_res.py", line 177, in <module>else: plot_histo_hor(params['output_file'],params,data,len(data['cls']) == 2,params['report_features'])File "/Bio/Bioinfo/Pipeline/SoftWare/Anaconda2/bin/lefse-plot_res.py", line 70, in plot_histo_horax = fig.add_subplot(111,frame_on=False,axis_bgcolor=params['back_color'])File "/Bio/Bioinfo/Pipeline/SoftWare/Anaconda2/lib/python2.7/site-packages/matplotlib/figure.py", line 1239, in add_subplota = subplot_class_factory(projection_class)(self, *args, **kwargs)File "/Bio/Bioinfo/Pipeline/SoftWare/Anaconda2/lib/python2.7/site-packages/matplotlib/axes/_subplots.py", line 77, in __init__self._axes_class.__init__(self, fig, self.figbox, **kwargs)File "/Bio/Bioinfo/Pipeline/SoftWare/Anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.py", line 539, in __init__self.update(kwargs)File "/Bio/Bioinfo/Pipeline/SoftWare/Anaconda2/lib/python2.7/site-packages/matplotlib/artist.py", line 888, in updatefor k, v in props.items()]File "/Bio/Bioinfo/Pipeline/SoftWare/Anaconda2/lib/python2.7/site-packages/matplotlib/artist.py", line 881, in _update_propertyraise AttributeError('Unknown property %s' % k)AttributeError: Unknown property axis_bgcolor
原因
出现报错主要原因是 matplotlib==2.2.0 起把部分功能函数移除了,我们需要回退 matplotlib 版本。

$ pythonPython 2.7.15 |Anaconda custom (64-bit)| (default, May 1 2018, 23:32:55)[GCC 7.2.0] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import matplotlib>>> matplotlib.__version__'2.2.2'>>>
解决
$ pip install matplotlib==1.5 #注意不要用conda, 以免发生环境conflicts
重新测试
$ wget http://huttenhower.sph.harvard.edu/webfm_send/129 -O hmp_aerobiosis_small.txt$ format_input.py hmp_aerobiosis_small.txt hmp_aerobiosis_small.in -c 1 -s 2 -u 3 -o 1000000$ run_lefse.py hmp_aerobiosis_small.in hmp_aerobiosis_small.res$ plot_res.py hmp_aerobiosis_small.res hmp_aerobiosis_small.png

问题解决!
