能否使用qsub直接提交命令而非脚本?(附SGE作业示例)
关于qsub直接提交命令而非脚本的问题解答
可以直接用qsub提交命令,无需单独写脚本文件,但你给出的命令格式有误,需要调整
正确的命令写法
要把需要执行的命令用bash -c包裹,同时把SGE的作业参数(比如-pe smp 33)放在qsub之后、bash -c之前。另外你命令里的$/data/...是错误写法,直接写路径不需要加$(那是脚本里引用变量的语法)。
修正后的命令示例:
qsub -pe smp 33 -N run_bowtie2 -cwd -l h_vmem=6G bash -c 'gzip -dc /data/bioinfo/READS2/R1_001.fastq.gz | bowtie --chunkmbs 300 --best -m 1 -p 6 --phred33 -q /data/bioinfo/genome_data/Caenorhabditis_elegans/UCSC/ce10/Sequence/BowtieIndex/genome - -S /data/bioinfo/READS2/aln/R1_001.sam'
几个关键注意点
- SGE的参数(如
-pe、-N、-cwd、-l)必须放在qsub和实际执行的命令之间,不能混在后面的命令里 - 带管道、空格的复杂命令一定要用单引号包裹,避免被本地shell提前解析成多个命令
- 直接写文件路径时别加
$,只有引用脚本里定义的变量时才需要用$ - 这种方式适合快速测试或简单任务,复杂作业还是写脚本更方便维护
内容的提问来源于stack exchange,提问作者Norman Kuo
相关产品推荐
相关产品推荐

