圧縮されたfastqファイルをマージする方法は?

圧縮されたfastqファイルをマージする方法は?

gzipで圧縮されたfastqファイルをマージする方法は? 1巻も読んで2巻も読んでみたけど

zcat file_1.fastq.gz file_2.fastq.gz | gzip > combined.fastq.gz 

しかし、それは私に同じではない読み取り数を与えます。なぜ?
別の方法がありますか?

答え1

2つのファイルを結合(接続)するには、以下を使用しますcat

$ cat file1 file2 >file3

これらの圧縮形式の構造により、これは、およびgzip(他の項目も可能)を使用してbzip2圧縮されたファイルにも適用されます。xz

たとえば、2つの圧縮されたFastaファイル(またはリンクする2つの圧縮ファイル)があるとします。

$ gzcat file1.fa.gz
>seq1
ACTACTACTACTACTACTACTACTACT

$ gzcat file2.fa.gz
>seq1
GATAGATAGATAGATAGATAGATAGATAAAAAAAA

解凍または再圧縮せずに組み合わせた。

$ cat file1.fa.gz file2.fa.gz >file3.fa.gz

結果は結合された圧縮ファイルです。

$ gzcat file3.fa.gz
>seq1
ACTACTACTACTACTACTACTACTACT
>seq1
GATAGATAGATAGATAGATAGATAGATAAAAAAAA

何らかの方法で誤ったデータが提供された場合は、元のファイルの1つ(またはその両方)にエラーがある可能性があります。

答え2

努力する:

tar -cvzf fastq.tar.gz /path/to/all/fastqs/*.gz

それともtarをスキップしますか?

答え3

代わりにこれを行う:

#!/bin/bash
gzip -d $1 && gzip -d $2
1A=`sed 's/.gz//g`
2A=`sed 's/.gz//g`
cat $2A >> $1A
gzip -c $1A > $1A.gz

移動する:

$> bash yourNewScriptIMadeForYou file1.gz file2.gz

説明する

  • 行1では、環境をBashとして宣言します。
  • 行2では、GZIP [-d]を呼び出してアーカイブを抽出します。 「&&」演算子は、「これが有効な場合は次のようにしてください」を意味します。
  • 行3-4:入力$ 1と$ 2から「.gz」サフィックスを削除するためのストリーミングテキスト処理。
  • 行5:$ 2Aの内容を$ 1Aの本文の末尾にリンクします。
  • 行6:最初のファイル入力と同じ名前で新しいGZIPファイルを作成するか、両方のファイルを含めたい場合...

    gzip -c $1A > $1A$2A.gz

あなたのディレクトリ構造を表示し、fastqファイルを結合する方法を説明してください。あなたのニーズに完全に合ったより良いスクリプトを作成できます。

関連情報