metaWRAP画图报错修正

匿名 (未验证) 提交于 2019-12-03 00:06:01

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 

这种错误一般有两种可能:

  1. 找到的good bin只有一个,请参考Plotting error during bin_refinement #179
  2. 运行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行同理

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!