做宏基因组分析时,会用到drep
软件去冗余,有时会出现checkM failed
的错误
$dRep dereplicate dreplicated_out -g bins/*fa # 运行命令
错误信息如下:
Running checkM
!!! checkM failed !!!
官方文档提到了几个解决方案
https://drep.readthedocs.io/en/latest/advanced_use.html#troubleshooting-checkm
这里先用其中一个方法处理(单独跑checkm再将结果给drep用):
第一步
自己用checkM跑一下评估
checkm运行命令:
checkm lineage_wf -t 6 -x fa --nt --tab_table -f checkm_out.txt bins/ checkm_result
第二步
从checkm的结果文件checkm_out.txt
中提取信息,新建一个genome_info.csv
文件;
-
文件格式:
第一行 header 是genome,completeness,contamination,随后每行就是每个fa的对应信息,注意字母全为小写;
第一列是要跑drep的各个fa文件的名称,第二列和第三列分别是fa对应的完整度completeness、污染度contamination,它俩必须是0-100的值; -
文件示例:
genome,completeness,contamination
Enterococcus_casseliflavus_EC20.fasta,98.28,0.0
Enterococcus_faecalis_T2.fna,98.28,0.0
第三步
准备好文件后就可以跑dRep
了,只要加一个参数--genomeInfo
就可
dRep dereplicate dreplicated_out -g bins/*fa --genomeInfo genome_info.csv
随后可能的报错
如果出现Both Bdb and a genome list are found- either don't include a genome list or start a new work directory!
信息,就删掉输出目录rm -r dreplicated_out/
再跑;
如果出现fastANI
找不到的话,找到这个python文件, python*/site-packages/drep/d_cluster/external.py
,93行左右有一个exe_loc = drep.get_exe('fastANI')
,93行没有的话就自己搜一下在哪行,把这行改成:
exe_loc = "你的fastANI执行文件路径,可以在命令行用 which fastANI 查看,如果没有的话就安装一个"
如果又有报错提示*/dreplicated_out/data/fastANI_files/fastANI_out_*
这个文件不存在,依旧修改上面那个文件,把--minFraction改成--minFrag:
# cmd = [exe_loc, '--ql', glist, '--rl', glist, '-o', out_base, '--matrix', '-t', str(p), "--minFraction", str(0)]
cmd = [exe_loc, '--ql', glist, '--rl', glist, '-o', out_base, '--matrix', '-t', str(p), "--minFrag", str(0)]
标签:checkm,--,dRep,报错,genome,fastANI,out
From: https://www.cnblogs.com/hereisjun/p/17553664.html