metaWRAP画图报错修正

丶灬走出姿态 提交于 2019-11-29 17:12:49

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行同理

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