Ubuntu虚拟环境运行medaka_consensus遇多类错误求助
问题原因分析
1. "[main] unrecognized command ‘tools’" 错误
你的命令参数格式混乱:-t(线程数参数)需要紧跟具体数值,你写成了-t -o ~/medaka 10,导致程序错误解析参数——把10当成了medaka_consensus的子命令,而medaka_consensus并无此子命令(错误提示里的tools是参数解析混乱后的误报)。正确的参数写法应该是将线程数直接跟在-t后,比如:
medaka_consensus -i combined.fastq -d curated.fasta -t 10 -o ~/medaka -m r941_sup_plant_g610
2. 模型r941_sup_plant_g610未被识别
- medaka版本过低:该植物专用超高精度模型仅在medaka v1.7.0及以上版本中提供,若虚拟环境里的medaka版本太旧,会无法识别此模型。
- 模型文件缺失:medaka首次运行时会自动下载模型文件,若网络问题导致下载失败,对应模型目录会缺失文件,程序会自动 fallback 到默认模型。
- 名称拼写错误:官方提供的植物模型主流版本为
r941_sup_plant_g632,可能你误写了版本后缀。
3. samtools可调用但medaka检测不到
- 虚拟环境PATH被覆盖:安装tensorflow时可能修改了虚拟环境的环境变量,导致samtools所在路径被移出虚拟环境的
PATH。你在系统shell中能调用samtools,但medaka运行依赖的python进程环境PATH与当前shell不一致。 - 环境隔离限制:若samtools是通过系统包管理器或其他conda环境安装的,而medaka运行在pip创建的虚拟环境中,虚拟环境默认不会继承系统全部
PATH,导致medaka的子进程找不到samtools。 - 权限差异:虚拟环境运行medaka时的子进程权限,可能无法访问samtools的可执行文件,而你在shell中调用时用的是拥有完整权限的用户身份。
内容的提问来源于stack exchange,提问作者Karli
相关产品推荐
相关产品推荐

