You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

循环调用trim_galore处理测序文件报错‘--length: command not found’求助

问题描述

目录下有80个样本共160个配对测序文件,文件名以_1.fq.gz和_2.fq.gz结尾,示例:

G49Am24_1_100_a100_1.fq.gz
G49Am24_1_100_a100_2.fq.gz

单独处理单对文件时,trim_galore命令运行正常:

trim_galore --length 40 --quality 25 --paired ./G49Am24_1_100_a100_1.fq.gz ./G49Am24_1_100_a100_2.fq.gz

但批量处理的循环代码执行时,反复报错--length: command not found,循环代码如下:

for infile in *_1.fq.gz ; do
   base=$(basename ${infile} _1.fq.gz) > trim_galore --length 40 --quality 25 --paired ${infile} ${base}_2.fq.gz
done
解决方法

错误根源是变量赋值语句后多余的>符号:这个符号被bash解析为输出重定向,导致它把trim_galore当作要重定向的文件,而把--length当成了新的命令执行,自然会报“命令未找到”。

修正后的循环代码如下:

for infile in *_1.fq.gz ; do
   base=$(basename "${infile}" _1.fq.gz)
   trim_galore --length 40 --quality 25 --paired "${infile}" "${base}_2.fq.gz"
done

要点说明:

  • 把变量赋值和trim_galore命令分成两行,逻辑更清晰,避免语法混淆
  • 给变量加上双引号"",防止文件名中包含空格等特殊字符时出现解析错误

内容的提问来源于stack exchange,提问作者Kelli Anderson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 05:45:25