2016년 5월 11일 수요일

PacBio SMRT analysis의 필터링은 두 단계?

PacBio 데이터를 SMRT analysis에서 직접 다루면서 수치로 표현되는 결과물을 점검하다보면 혼동스러울 때가 있다. Running이 전부 끝나면 나타나는 overview 화면의 "Number of Bases"는 실제 subread filtering 세부 결과창에 나타나는 "Total Number of Bases"보다 약간 크기 때문이다. 이를 확실하게 정리하고자 오늘을 글을 작성한다.

아마도 이러한 오해는 필터링이 실제로 두 단계에 걸쳐서 일어나는 것에서 출발한다. Subread filtering, 즉 SMRTbell 라이브러리의 양 끝에 붙은 단일 가닥의 어댑터 서열을 polymerase read(진정한 raw data)로부터 제거하는 것이 subread filtering의 핵심인데, 이보다 앞서서 기본적인 필터링(아마도 quality에 의존하는?)이 이루어지는 것으로 보인다. Report 탭을 보면 GENERAL 항목 아래에 Overview, Filtering, Subread Filtering이 각각 존재하는 것도 그런 이유일 것이다. 아래 그림에서 보인 리포트는 효모의 HGAP 결과 리포트이다. Total contig length가 12Mb를 넘으므로 SMRT cell 하나로는 시퀀싱 분량이 다소 부족하다고 생각된다. Average reference coverage가 41.8x에 불과하자 않은가? 박테리아 시료는 SMRT cell 하나로 충분하다.


Overview 항목에서 보이는 염기쌍 수는 첫 단계의 필터링을 거친 염기쌍 수와 같다(빨강색 상자). 그리고 Pre-assembly에 투입되는 염기쌍의 수는 subread filtering을 통과한 염기쌍의 수와 같다(연두색 상자).

SMRT analysis와 관련한 정확한 수치를 한눈에 파악하려면 View data 창에서 job을 선택한 다음 웹 브라우저 맨 하단에 나오는 Metrics..를 클릭하여 저장되는 csv 파일을 참조하는 것이 가장 바람직하다. 그런데 정보의 종류가 너무 많다. 무려 64종이나 된다...

  1. jobid - Job ID
  2. jobname - Job Name
  3. overview.ncells - SMRT Cells
  4. overview.nmovies - Movies
  5. filtering_report.mean_read_score_pre_filter - Mean Read Score
  6. filtering_report.base_n_post_filter - Number of Bases
  7. filtering_report.reads_n_post_filter - Number of Reads
  8. filtering_report.mean_read_length_pre_filter - Mean Read Length
  9. filtering_report.mean_read_score_post_filter - Mean Read Score
  10. filtering_report.n50_read_length_post_filter - N50 Read Length
  11. filtering_report.mean_read_length_post_filter - Mean Read Length
  12. filtering_report.n50_read_length_pre_filter - N50 Read Length
  13. filtering_report.reads_n_pre_filter - Number of Reads
  14. filtering_report.base_n_pre_filter - Number of Bases
  15. filter_subread.filter_subread_mean - Mean Subread length
  16. filter_subread.filter_subread_n50 - N50
  17. filter_subread.filter_subread_nbases - Total Number of Bases
  18. filter_subread.filter_subread_nreads - Number of Reads
  19. adapter.adapter_dimers - Adapter Dimers (0-10bp)
  20. adapter.short_inserts - Short Inserts (11-100bp)
  21. adapter.medium_inserts - Medium Inserts
  22. adapter.hq_adapter_dimers - Adapter Dimers
  23. adapter.hq_short_inserts - Short Inserts
  24. adapter.hq_medium_inserts - Medium Inserts
  25. loading.productivity_c1 - Productive ZMWs
  26. loading.productivity_c2 - ZMW Loading Productivity 2
  27. loading.productivity_c3 - ZMW Loading Productivity 3
  28. loading.productivity_c4 - ZMW Loading Productivity 4
  29. mapping_stats.mapped_subreadlength_n50 - Mapped Subread Length N50 (bp)
  30. mapping_stats.mapped_readlength_q95 - Mapped Polymerase Read Length 95% (bp)
  31. mapping_stats.mapped_subread_readlength_mean - Mapped Subread Length Mean (bp)
  32. mapping_stats.mapped_readlength_max - Mapped Polymerase Read Length Max (bp)
  33. mapping_stats.mapped_subread_bases_n - Mapped Subread Bases
  34. mapping_stats.mean_max_subread_readlength - Mapped Read Length of Insert
  35. mapping_stats.pct_first_subreads_ts_lt_100 - Reads Starting Within 100 bp (%)
  36. mapping_stats.number_of_aligned_reads - Number of Aligned Reads
  37. mapping_stats.mapped_reads_n - Mapped Reads
  38. mapping_stats.mapped_bases_n - Mapped Polymerase Bases
  39. mapping_stats.pct_first_subreads_ts_lt_50 - Reads Starting Within 50 bp (%)
  40. mapping_stats.mapped_subread_accuracy_mean - Mapped Subread Accuracy
  41. mapping_stats.mean_first_subread_readlength - First Subread Length
  42. mapping_stats.mapped_readlength_n50 - Mapped N50
  43. mapping_stats.mapped_full_subread_readlength_mean - Mapped Full Subread Length
  44. mapping_stats.mapped_subreads_n - Mapped Subreads
  45. mapping_stats.mapped_readlength_mean - Mapped Polymerase Read Length
  46. coverage.depth_coverage_mean - Mean Coverage
  47. coverage.missing_bases_pct - Missing Bases (%)
  48. preassembly.polymerase_read_bases - Polymerase Read Bases
  49. preassembly.length_cutoff - Length Cutoff
  50. preassembly.seed_bases - Seed Bases
  51. preassembly.preassembled_bases - Pre-Assembled bases
  52. preassembly.preassembled_yield - Pre-Assembled Yield
  53. preassembly.presssembled_reads - Pre-Assembled Reads
  54. preassembly.presssembled_readlength - Pre-Assembled Reads Length
  55. preassembly.preassembled_n50 - Pre-Assembled N50
  56. polished_assembly.polished_contigs - Polished Contigs
  57. polished_assembly.max_contig_length - Max Contig Length
  58. polished_assembly.n_50_contig_length - N50 Contig Length
  59. polished_assembly.sum_contig_lengths - Sum of Contig Lengths
  60. variants.mean_contig_length - Average Reference Length
  61. variants.weighted_mean_bases_called - Average Reference Bases Called
  62. variants.weighted_mean_concordance - Average Reference Consensus Concordance
  63. variants.weighted_mean_coverage - Average Reference Coverage
  64. variants.longest_contig_name - Longest Reference Contig


댓글 없음: