DNA親子鑑定と遺伝子診断の結果を晒すことについて

このツイートを見て、

こうツイートしたら、「DNAの複製にはエラーがあるからハッシュでは無理」「そもそも交叉があるのでは」と言われた。そもそも、DNAでの親子鑑定が何を調べているのかも知らなかったので、整理する。DNAを秘匿したまま親子関係を証明する方法はあるのだろうか?

参考文献

http://www.rocus.co.jp/faq/faq.htm

DNA親子鑑定をしている会社のFAQ。値段とか「裁判でも使えます」とかのアピールはどこの会社も書いているけど、原理などがあまり書かれていない。このサイトには詳しく書かれていた。

以前に買った本。書名と表紙を見て、簡単に書かれている薄い本かと思いきや、けっこう厚いし詳しく書かれていた。オススメ。

DNA親子鑑定の原理

人間の細胞の中には46本のDNA(≒染色体)があって、2本ずつ対になっている。この「対になっている」というのは、DNAが二本鎖の螺旋というのとはまた別。DNAの二本鎖はAとT、GとCが対になると決まっているので、情報量は無いし、この先の話にも関係が無い。精子卵子は、この対になった染色体のどちらか一方のみを持っている。子供は両親の染色体を1本ずつ持っているので、そのことを確認すれば、親子鑑定ができる。

他方の親の親子関係が確定していて、そのDNAも使えると、精度があがるらしい。面白い。

DNA親子鑑定で調べているもの

10年前くらいに、「ヒトのDNAの全ての塩基配列の解析ができた」と話題になった。その頃ならばもの凄いコストが掛かっただろうけど、今は20万円くらいでできるらしい。

http://gene-nex.com/

とはいえ、それでも全塩基配列は高い。Wikipediaによると、STR(Short tandem repeat)という部分を調べるとのこと。DNAの中には同じ塩基配列が何度も繰り返される部分が多くあって、この繰り返し数は(数千年、数万年というスケールでは)比較的変化しやすい。変化しやすいといっても、人類全体で数十種類という程度。Wikipediaの「アリル」というのが染色体1本分。12種類の中から順番を無視して2個選ぶ場合の数は、たしかに78種類になる。ここで例に書かれている数字が繰り返し数だろうか?

DNA中のある塩基配列から別の塩基配列までの長さを調べるというのは、PCR法で簡単にできる。そういえば、大学の一般教養の実験にあった。調べたいDNAと、調べたい部分の両端の塩基配列を持ったDNAを溶液に入れて、熱したり冷ましたりを繰り返すと、調べたい部分だけが大量に複製される。あとはこれをゼリーの端入れて電気泳動すると、長さに対応した部分にバンドが見える。

DNAを非公開にした親子鑑定

既存のDNA親子鑑定に乗っかるならば、結局何ができれば良いかというと、「各人はDNAの場所ごとに数十種類のパターンの中から2個のパターンを持っている。親と思われる人と、子と思われる人で、2個のパターンが1個も共通していない場所が少なくとも1個はあるか?」という問いに答えること。何か上手いアルゴリズムはあるだろうか?

2個のパターンは順不同でしか得られない。各染色体はランダムに選ばれるし、たとえ同じ染色体であっても、交叉によって途中で入れ替わることはわりと頻繁にあるらしい。なので、私がツイートしたような方法は使えない。

Wikipediaの「組み合わせ50億通り」というのは、親子鑑定の精度としては充分かもしれないが、ハッシュの逆算に耐えるには少なすぎるので、ハッシュみたいな方法で非公開を担保するなら、調べる場所は増やす必要がありそう。

この調べている部分はたぶん遺伝子ではないので、そもそも公開しても体質や遺伝病がバレる不利益は無いのではと思ったけど、全く別の場所で採取されたDNAが自分のものかどうかを調べることに流用されたり、今回の親子鑑定とは別の親子鑑定に勝手に使われたりというリスクがあるのかもしれない。これらのリスクを考えると、ハッシュ化のような方法はそもそもダメそう。

親子鑑定において、DNAの複製エラーは全く考慮されないらしい。どこのサイトを見ても「親子であることは99%以上などの確率的に分かります。親子でないということは確実に分かります」と書いてある。DNAが子供に伝わるときに書き換わることを考慮しているならば、こういう書き方にはならない。DNAには様々な修正機能もあって、エラーは驚異的に低く抑えられている。1塩基あたり、10-10から10-11程度とのこと。たしかに、DNAの一部だけを見るなら無視できるほどに小さい。

親子鑑定をする人と、親子鑑定の結果を知りたい人の両方が信頼できる診断会社があるならば、「終わったら全部廃棄して」と言ってその会社に任せれば良いだけなので、実際にはそれぞれが別の会社に何かを依頼するはず。そのような状況だとそもそも相手が嘘を吐く可能性も考えないといけない。

実際にこれで何かをしようとしているわけではなくて、単なる思考実験なので、前提条件は何でも良いけど、何か暗号論的に面白い話はできるだろうか?

遺伝子診断

以前にMYCODEの遺伝子診断を受けたことがある。MYCODEの場合は病気のなりやすさや体質ごとに、その判断に使用した塩基が見られる。

f:id:kusano_k:20170320001540p:plain

※HTMLを書き換えて、乱数で決めた場所を「あなたの遺伝子型」にしたので、私の結果ではない(かもしれないし、私の結果かもしれない)。

これ、そのまま親子鑑定に使えそうだ。2個並んでいる塩基が、染色体対それぞれの塩基だと思う。「体脂肪率が○○なタイプです」からの逆算も当然できるはず。遺伝子診断結果を公開することのリスクとして、保険を断られたり会社をクビになったりということが良く言われるが、勝手に親子診断をされてしまうというリスクのほうが大きそう。MYCODEの場合は、「あなたは○○癌に日本人の平均より2倍なりやすい」程度で、遺伝子疾患などは調べていないので、前者のリスクはそんなに無さそう。

MYCODEの結果をそのまま他人に見せる人はいないだろうけど、「MYCODEを受けたら、体脂肪率が○○と言われた」くらいならうっかり言ってしまいそう。家族間でそんな話をしていると……((((((;゚Д゚))))))