アメリエフの技術ブログ

Amelieff Staff Blog

FASTQをペアリードに分割する

今日は ペアエンドリードのデータ を2つのFASTQファイルにする方法を紹介します。

f:id:Fuku-I:20200228181609p:plain:w250
ペアを分ける(手描き)

single とpaired-end について詳しくはイルミナさんのWEBサイトを貼っておきます(手抜き)

Paired-End vs. Single-Read Sequencing Technology

SRAから

リードアーカイブから取得した ~~.sra をFASTQに変換するときに、「分割してください」と指定します。
変換には SRA-Toolkit のfastq-dump を使います。
fasterq-dump でももちろんOKです。

fastq-dump --split-files DRR000001.sra
## または
fasterq-dump --split-files DRR000001.sra

オプションは代わりに --split-3 でもきっと大丈夫。

FASTQから

FASTA/Q操作のスペシャリストSeqkit を使って分割します。

bioinf.shenwei.me

これのような、ペアリード情報が1つのファイルに収まっており
〇〇-1と〇〇-2が隣り合って記述されているデータを入力として、

@ID:10014:19887/1
CTTAAAATGTCGCTGTTTGGAGACACAATTGCCTACCTGCATACATTAAC
+
BCCCEFFFFFFEGGGGGGGGGGHGHHHGHHHHHHHHHHHHHHHHHHHHHH
@ID:10014:19887/2
GCAGATAGAGGCACCAATTAGTGCTTTCTGTATATCAGTTAAGCATCCCC
+
CCCCCFFFFFFCGGGGGGGGGGHHHHHHHHGHHHHHHHHHHHHHHHHHHH
@ID:10063:6652/1
AGCTGAGACCATCTGCATTTCCCGTCTCACTCCTGGCACTGAGGATCTCG
+
BBBBCFFFFDFFGGGGGGGGGGHGHGHHHHHHHHHHHHHHHHHGHHHHHH
@ID:10063:6652/2
GCTCATAGCAGAGCAGCGAGATCCTCAGTGCCAGGAGTGAGACGGGAAAT
+
CCCDCFFFFFFFGGGGGGGGGGHHHHHHHHHHHHHHGHHHHHHGGGGGHH
@ID:10132:11696/1
GTTGCCTGTATGATGCACTGTTAAAACAGGCCTCAAAAAGATTGCAACAT
+
AAA3>FFFFFFFGGGGGGGGGGHHHHHHHHGGHHHHHHHGGHHHHHHHHH
@ID:10132:11696/2
CAGAAATACTGATCAGAGGAACATGATTCTTGAAGAACAATGCTACGCTA
+
CCCCCFFFFFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHGGGG
@ID:10132:13569/1
TTCCAAGGGGATTCTGTTTGCCATGTCACCCTTGGTCAAAGCCAAGGGAA

以下のように2つに分けたいとします。

@ID:10014:19887/1
CTTAAAATGTCGCTGTTTGGAGACACAATTGCCTACCTGCATACATTAAC
+
BCCCEFFFFFFEGGGGGGGGGGHGHHHGHHHHHHHHHHHHHHHHHHHHHH
@ID:10063:6652/1
AGCTGAGACCATCTGCATTTCCCGTCTCACTCCTGGCACTGAGGATCTCG
+
BBBBCFFFFDFFGGGGGGGGGGHGHGHHHHHHHHHHHHHHHHHGHHHHHH
@ID:10132:11696/1
GTTGCCTGTATGATGCACTGTTAAAACAGGCCTCAAAAAGATTGCAACAT
+
AAA3>FFFFFFFGGGGGGGGGGHHHHHHHHGGHHHHHHHGGHHHHHHHHH
@ID:10014:19887/2
GCAGATAGAGGCACCAATTAGTGCTTTCTGTATATCAGTTAAGCATCCCC
+
CCCCCFFFFFFCGGGGGGGGGGHHHHHHHHGHHHHHHHHHHHHHHHHHHH
@ID:10063:6652/2
GCTCATAGCAGAGCAGCGAGATCCTCAGTGCCAGGAGTGAGACGGGAAAT
+
CCCDCFFFFFFFGGGGGGGGGGHHHHHHHHHHHHHHGHHHHHHGGGGGHH
@ID:10132:11696/2
CAGAAATACTGATCAGAGGAACATGATTCTTGAAGAACAATGCTACGCTA
+
CCCCCFFFFFFFGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHGGGG

順番が揃っていなかったら・・・

これもSeqkit を使ってソートしましょう。

seqkit sort -n -o merged.fastq shuffle.fastq 

-n は FASTQのfull name でソートする
-o は出力名を決めるオプションです。

実行!

seqkit split2 でFASTQファイルを分割します。

seqkit split2  -p 2 merged.fastq.gz  

-p は 分割数を指定するオプションです。

特に指定しないと新しいディレクトリが作られ、2ファイルが収まっています。

$ ls  merged.sorted.rename.fastq.split/
merged.sorted.rename.part_001.fastq
merged.sorted.rename.part_002.fastq

👏👏

余談ですが、Q&Aサイトを見ていたら、
Seqkitのほか、C やperl、pythonのbioformatsパッケージなど、 プログラミング言語を使って分けている猛者もいるようです。