2

後で使用できるように、.gz ファイルを解凍して変数に格納する必要があります。つまり、*.fastq.gz ファイルを生成し、それらを解凍して *.fastq ファイルだけを保持する必要があるという考えです。次に、その名前を変数に保存して、ファイルを呼び出してさらに処理できるようにします。

ここに、私が実行しているコードがあります: input: $file.fastq.gz ここで、$file はファイルの名前です (このコードはループ内にあるため、変更されます)。

reads=$(gunzip $file.fastq)
echo $reads

このコードの何が問題なのか誰か知っていますか? 出力が生成されず、プログラムがその時点にとどまるのはなぜですか? どうもありがとうございました!;)

4

3 に答える 3

0

1) reads=$(gunzip $file.fastq) <--- まず、.gz ファイルに対して gunzip を実行する必要があります

2) echo $reads - 非圧縮ファイルを変数 .. に格納することはできないため、変数 read が非圧縮ファイルの名前を持つことは期待できません。

むしろ使用する必要があります

gunzip $file.fastq.gz
if [[ $? -eq 0 ]]
then 
    reads="$file.fastq"
fi

または、Charles が提案する短い構文

if gunzip $file.fastq.gz
then 
    reads="$file.fastq"
fi
于 2014-03-04T16:15:59.907 に答える
0

zcat を使用します。

 reads=$(zcat $file.fastq)
于 2014-03-04T16:18:42.637 に答える