通过从文本文件读取文件路径来执行作业数组

通过从文本文件读取文件路径来执行作业数组

我正在尝试使用下面的脚本执行作业数组。

#!/bin/bash --login
#$ -cwd
#$ -t 1-4

module load apps/bioinf
module load apps/trimmomatic/0.36/noarch

file=`awk "NR==$SGE_TASK_ID" ~/scratch/Genome/single_reads.txt`

trimmomatic SE $file $(basename $file) SLIDINGWINDOW:5:20 MINLEN:35

以前,当它读取仅包含当前目录中文件名的文本文件时,它可以工作。例如,名为 single_reads.txt 的原始文本文件包含:

ERR179588.fastq.gz
ERR179589.fastq.gz
ERR179590.fastq.gz 等等...

我现在正在尝试使用每行列出的文件路径,而不仅仅是文件名。例如:

〜/scratch/fasta_files/ERR1795288.fastq.gz。
〜/scratch/fasta_files/ERR1795289.fastq.gz 等等...

我不断收到此错误:

TrimmomaticSE: Started with arguments:
~/scratch/fasta_files/ERR1795288.fastq.gz ERR1795288.fastq.gz SLIDINGWINDOW:5:20 MINLEN:35
Automatically using 1 threads
Exception in thread "main" java.io.FileNotFoundException: ~/scratch/fasta_files/ERR1795288.fastq.gz (No such file or directory)

也许它将文件路径视为当前目录中的文件名,而不是其他目录中的文件。

抱歉,如果这是基本的,我是 bash 新手!

相关内容