metaWRAP画图报错修正
关于metaWRAP
宏基因组分箱流程,可以通过比较多个分箱软件的结果来取最优,最近也有更新,conda可安装,自带kraken物种注释,可以进行重组装,很优秀。
安装和使用说明见:github
关于bug
在进行bin_refinement
时,metawrap会绘制bin的完整度(completion)和污染(contamination)的折线图,以此评估各个软件的分箱结果。
如果在运行这步代码时出现报错:
Traceback (most recent call last): File "/home/miniconda2/envs/metawrap/bin/metawrap-scripts/plot_binning_results.py", line 109, in <module> y_pos = data[bin_set][len(data[bin_set])*3/4] IndexError: list index out of range
这种错误一般有两种可能:
- 找到的good bin只有一个,请参考Plotting error during bin_refinement #179
- 运行
bin_refinement
需要设定-c完整度和-x污染度的,如果存在.stats文件中满足这两个条件的bin个数为0,那么也会有这个报错
针对第二种情况的结局方案
修改plot_binning_results.py,加入bin个数是否为0的判断语句
100-111行修改:
# start plotting data for rank, bin_set in enumerate(labels): if len(data[bin_set]) == 0: pass else: # chose a color! c=plot_colors[bin_set] # plot the data plt.plot(data[bin_set], lw=2.5, color=c) # add bin set label to plot y_pos = data[bin_set][len(data[bin_set])*3/4] x_pos=len(data[bin_set])*3/4 plt.text(x_pos, y_pos, bin_set, fontsize=18, color=c)
190-201行同理
来源:51CTO
作者:ruby912
链接:https://blog.csdn.net/ruby912/article/details/100861351