Phred クオリティスコア

塩基配列をシーケンシングするときにエラーが発生する。そのエラーの生じる確率を perror とすると、クオリティスコア Q は以下のように計算される。

\[ Q = -10\log_{10}p_{error} \]

この計算式に基づいて、クオリティスコアとシーケンシングエラーが生じる確率の間に次のような関係を持つ。

  • クオリティスコアが 10 ならば、シーケンシングエラーが生じる確率は 10.0% であるから、読み取られた塩基の信頼度は 90.0% である。
  • クオリティスコアが 20 ならば、シーケンシングエラーが生じる確率は 1.0% であるから、読み取られた塩基の信頼度は 99.0% である。
  • クオリティスコアが 30 ならば、シーケンシングエラーが生じる確率は 0.1% であるから、読み取られた塩基の信頼度は 99.9% である。

シーケンサーで読み込まれたデータは、塩基データだけでなくクオリティデータも記載されている。例えば、一部の FASTQ ファイルをみると以下のようになっている。1 つのリードのデータは 4 行に渡って記載されている。1 行目と 3 行目が ID となっている。2 行目は塩基の種類で、4 行目はクオリティスコアとなっている。

@SRR1170086.1 HWI-ST845:120525:D10G7ACXX:8:1101:9728:1999 length=50
GTTTTTAAAATGAGTTTGCAAATATTACTGTATTTTTNTCCCATGCTTTT
+SRR1170086.1 HWI-ST845:120525:D10G7ACXX:8:1101:9728:1999 length=50
11=DDFFFFHHGFIGGIIJJJJIJJJJJJIIIIIJJJ#1?DHIJJIJIII
@SRR1170086.2 HWI-ST845:120525:D10G7ACXX:8:2316:19897:100799 length=50
CGATGGAATAGATTTCTCCAAGTTAGTTGGAGGCTAGTCTTCTCTACATA
+SRR1170086.2 HWI-ST845:120525:D10G7ACXX:8:2316:19897:100799 length=50
???DADDA:++22C::4:::AA33C,,,2EFECB;ED9D4?4*0?D0B9B

クオリティスコアを記載している行は数値ではなく、英数字や記号で記載されている。このような文字を ASCII 文字をいい、それぞれの ASCII 文字には ASCII コードとよばれるコードを持つ。ASCII コードと ASCII 文字は次のように対応している。左側が ASCII コードで、右側が ASCII 文字である。

           51  3      71  G      91  [     111  o
           52  4      72  H      92  \     112  p
33  !      53  5      73  I      93  ]     113  q
34  "      54  6      74  J      94  ^     114  r
35  #      55  7      75  K      95  _     115  s
36  $      56  8      76  L      96  `     116  t
37  %      57  9      77  M      97  a     117  u
38  &      58  :      78  N      98  b     118  v
39  '      59  ;      79  O      99  c     119  w
40  (      60  <      80  P     100  d     120  x
41  )      61  =      81  Q     101  e     121  y
42  *      62  >      82  R     102  f     122  z
43  +      63  ?      83  S     103  g     123  {
44  ,      64  @      84  T     104  h     124  |
45  -      65  A      85  U     105  i     125  }
46  .      66  B      86  V     106  j     126  ~
47  /      67  C      87  W     107  k
48  0      68  D      88  X     108  l 
49  1      69  E      89  Y     109  m 
50  2      70  F      90  Z     110  n

クオリティスコア(Q)と ASCII コードの間は次のような式に基づいて計算することができる。クオリティスコアは正式的には Phred quality score という。

\[ \text{ASCII code} = \text{Q} + 33 = -10\log_{10}p_{error} + 33 \]

例えば @SRR1170086.1 のリードの最初の塩基のクオリティが「1」となっている。そこで、ASCII 文字の「1」に対応する ASCII コードを確認すると「49」となっている。よって、この塩基のクオリティスコアは Q = 49 - 33 = 16 となる。

現在では、FASTQ に使われているクオリティスコアはほとんど上述のように Q + 33 のものを利用している。一部のシーケンサーが出力した FASTQ には Q + 64 として計算しているものもある。

上で見たように、利用できる ASCII 文字は 94 種類あるが、実際には 40 個前後しか使われている。例えば、Illumina 1.8+ が出力する FASTQ ファイルに書かれているクオリティは「!」〜「J」となっている。

 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.....................................................
 ..........................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX......................
 ...............................IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII......................
 .................................JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ......................
 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................................................
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 |                         |    |        |                              |                     |
33                        59   64       73                            104                   126
 0........................26...31.......40                                
                          -5....0........9.............................40 
                                0........9.............................40 
                                   3.....9.............................40 
 0.2......................26...31........41                               

 S - Sanger          Phred + 33
 X - Solexa          Solexa + 64
 I - Illumina 1.3+   Phred + 64
 J - Illumina 1.5+   Phred + 64
 L - Illumina 1.8+   Phred + 33

References