NGS現場の会第2回_アメリエフ株式会社_Qcleaner

5,062
-1

Published on

Published in: Health & Medicine
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,062
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

NGS現場の会第2回_アメリエフ株式会社_Qcleaner

  1. 1. FA S TQ フ ァ イ ル を 対 象 と し たQCツールの開発と性能比較 2012年5月24日 アメリエフ株式会社
  2. 2. FASTQフォーマットについてNGSから得られるテキストベースのリード配列ファイルの形式の一つ @SEQ_ID GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT + !*((((***+))%%%++)(%%%%).1***-+*))**55CCF>>>>>>CCCCCCC65 http://en.wikipedia.org/wiki/FASTQ_format 1行目: ID 2行目: リードの塩基配列 3行目: オプション 4行目: 2行目の塩基に対応した Phred クオリティ値 (ASCIIコードで表記) 2
  3. 3. リードデータのQCNGSから得られる raw-data は以下の問題を含むことがある  データそのものが破損(e.g. クオリティ行が抜けている)  Illumina CASAVA filter の結果への対処  リード全体、及び末端のクオリティが低い  未知の塩基(N)の数が多い  タグ配列の存在マッピング前に、raw-dataのクオリティコントロール(QC)が必須 データ量が膨大(数十GB)なため処理が大変 3
  4. 4. 従来のQC方法 処理の流れ 使用ツール 長所 データクオリティチェック FastQC ・ 全てフリーソフトIllumina CASAVA filter [Y] を除去 grep ・ 広く使われている クオリティ20未満が80%以上の FastX 短所 リードを除去 ・ 複数のソフトを使用(手間がかかる) クオリティ20未満の末端をトリム ・ cmpfastq: メモリを大量消費未知の塩基(N)が多いリード除去 ・ FASTQ形式にマッチしないリードの PRINSEQ 検出ができない 配列長が短いリード除去 片側のみのリードを除外 cmpfastq データクオリティチェック FastQC *タグ配列に関する処理は現時点では除く 4
  5. 5. Qcleanerを用いる方法 処理の流れ 使用ツールFASTQ形式にマッチするかチェック  Qcleaner: 弊社独自開発ツール データクオリティチェック FastQC  Perlで作成 (ソースは弊社オリジナル)Illumina CASAVA filter [Y] を除去  複数ツールの機能を一つに統合 クオリティ20未満が80%以上の リードを除去 長所 Qcleaner ・ コマンド一つ打つだけで実行できる クオリティ20未満の末端をトリム ・ FASTQ形式のチェック機能も搭載未知の塩基(N)が多いリード除去 ・ メモリ消費を抑えたので 大容量データにも対応 配列長が短いリード除去 ・ 片側のみのリードを除去する際の 片側のみのリードを除外 処理をcmpfastqに比べて 大幅に高速化 データクオリティチェック FastQC *タグ配列に関する処理は現時点では除く 5
  6. 6. Qcleanerの使用方法使い方:qcleaner.pl --i1 <input file 1> --i2 <input file 2> --o <output dir> --qp <qvalue,percent> -n <number> --trim <qvalue> --length <length num> --write --i1 <file> Input fastq_1 file --i2 <file> Input fastq_2 file (this script treats pair-end) --o <dir> Output directory name (default: output files are created directly below) --qp <int,int> Check a low quality read, <quality value, percent> --n <int> Allowable number of N content --trim <int> Both term bases are trimmed based on this qvalue. --length <int> Check a short read. --write Output excluded reads in each phase使用例: $ ./qcleaner.pl --i1 ERR034601_1.fastq --i2 ERR034601_2.fastq –o out --qp 20,80 -n 6 --trim 20 --length 20 --write 6
  7. 7. QC性能比較対象FASTQファイル Accession: ERR034601, data size 19 GB × 2 Sample: Human, exome sequencing of the JPT Experiment: Illumina HiSeq 2000, 90 bp, paired-endQC条件 リード除去の条件: ・ Illumina CASAVA filterの結果がY ・ クオリティ値が20未満の塩基が80%以上存在 ・ 未知の塩基(N)の数が6個以上存在 ・ リード長が20塩基未満 ・ QC処理の結果発生したシングルリードの除外 リードトリミングの条件: ・ 両末端のクオリティ値が20未満の塩基をトリム 7
  8. 8. 結果: 処理時間の比較 従来のQC法 Qcleaner データクオリティチェック(FastQC) 20分 20分 Illumina CASAVA filter [Y] を除去 4分 12分 クオリティ20未満が80%以上の リードを除去 41分 クオリティ20未満の末端をトリム 3時間31分 5時間12分 未知の塩基(N)が多いリード除去 35分 配列長が短いリード除去 34分 片側のみのリードを除外 3時間22分 27分 データクオリティチェック(FastQC) 19分 17分 Total time 9時間26分 6時間28分 同じQC内容での処理時間はQcleanerの方が従来のQCより短い Qcleanerの[FASTQ形式のチェック機能: ON] → プラス 4時間程度かかる 8
  9. 9. 結果: メモリ使用量の比較 25 従来のQC Qcleaner 20Memory usage (GB) 15 10 5 0 0 50 100 150 200 250 300 350 400 450 500 550 600 Execution time (min) *Qcleanerは[FASTQ形式のチェック機能: ON] で計測 メモリ使用量も、Qcleanerの方が従来のQCより大幅に少ない 9
  10. 10. 結果:リード・塩基数の変化 ERR034601_1.fastq ERR034601_2.fastq 従来のQC Qcleaner 従来のQC Qcleanerリード数(処理前からの割合) 57,019,726(96.24%) 57,019,726(96.24%) 57,019,726(96.24%) 57,019,726(96.24%)塩基数(処理前からの割合) 4,941,135,848(92.66%) 4,941,135,848(92.66%) 4,871,975,403(91.37%) 4,871,975,403(91.37%) リード最大長さ 90 90 90 90 リード平均長さ 86.66 86.66 85.44 85.44 リード長さ中央値 90 90 90 90 リード最少長さ 20 20 20 20 最頻値 90 90 90 90 最頻値の数 47,125,726 47,125,726 44,127,821 44,127,821 範囲 71 71 71 71 標準偏差 10.39 10.39 12.13 12.13 従来のQCとQcleanerの結果は、完全に一致する。 10
  11. 11. 結果: Base quality 処理前 従来のQC QcleanerBase quality score ERR034601_1.fastq ERR034601_2.fastq Position in read (bp) 赤線:中央値 , 黄箱:四分位数間領域 ( 25 - 75 % ), ひげ:上10 %・下90%, 青線:平均値 11
  12. 12. 結果:N含有量の変化 0.05 ERR034601_1.fastq 0.04 処理前 従来のQC Qcleaner 0.03 0.02Per base N content 0.01 0 0.125 ERR034601_2.fastq 0.1 0.075 0.05 0.025 0 Position in read 12
  13. 13. Length distribution (×107) 0 1 2 3 4 5 0 1 2 3 4 5 40 50 40 50 20-21 20-21 22-23 22-23 24-25 24-25 26-27 26-27 28-29 28-29 30-31 30-31 32-33 32-33 従来のQC 34-35 34-35 36-37 36-37 ERR034601_2.fastq ERR034601_1.fastq 38-39 38-39 40-41 40-41 42-43 42-43 44-45 44-45 Qcleaner 46-47 46-47 48-49 48-49 50-51 50-51 52-53 52-53 54-55 54-55 56-57 56-57 58-59 58-59 60-61 60-61 Sequence Length 62-63 62-63 64-65 64-65 66-67 66-67 68-69 68-69 70-71 70-71 結果:リード長の分布 72-73 72-73 74-75 74-75 76-77 76-77 78-79 78-79 80-81 80-81 82-83 82-83 84-85 84-85 86-87 86-87 88-89 88-89 90-91 90-9113
  14. 14. まとめ Qcleanerはコマンド一つで実行できる。 Qcleanerは従来のQCと完全に同じ精度でリードクオリティを コントロールできる。 処理時間は従来のQCと比較して短い。(約30%の高速化) メモリ使用量は従来のQCと比較して大幅に削減。 追加機能として、QcleanerではFastq形式のチェックも可能。 14

×