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ファイルを結合する方法を説明してください。あなたのニーズに完全に合ったより良いスクリプトを作成できます。