voxel を用いた DNA のモデル作成に向けて佐藤七海

1(指導教員：オベル加藤ナタナエル)

はじめに

近年, 情報分野で DNA を扱う手法として,DNA コン
ピューティング [1] や DNA オリガミ [2] が注目されている. DNA コンピューティングは,DNA に潜む優れた情報処理能力を見出し, それを計算に生かそうとする分野であり,DNA オリガミは,DNA 鎖を折り曲げながら, ナノ構造体を作り出す手法である. シミュレー
タとしては OxDNA が用いられることが多く,OxDNAは,DNA の構造を比較的正確に表すという良さがある.
一方, らせん構造や塩基の組といった複雑な構造をシミュレーションするため, 実行時間がかかること,DNAが変形する様子を表すのが困難であることが問題点として挙げられる. そこで, 塩基の組を, ３次元構造をシミュレーションするための立体格子である voxel で置き換えれば, 形状を簡易化でき, 実行速度の速いモデルの作成が期待できるのではないかと考えた. さらに,voxelを変形させることで,DNA が変形する様子を表せるのではないかと考えた. 本研究では, その準備として, テストプログラムを作成し, シミュレーションを試みる.

2

図 1: OxDNA による EXAMPLE データのシミュレーション結果

特定の力を加えた際, ボクセルが移動する様子をシミュレーションする. 以下, シミュレーションを行う手
順を述べる.

4.1

Voxelyze と VoxCad

1. 初期位置 (0,0,0) で,voxel を固定した場合
2. 初期位置 (i,0,0)(1 ≤ i ≤ 9) で, 力の有無を指定しなかった場合
3. 初期位置 (10,0,0) で, 一様分布乱数を用い,-1∼ 1Nの力で z 軸方向に引っ張った場合
以下, 初期位置が (i,0,0)(0 ≤ i ≤ 10) の voxelを”voxeli”と呼ぶことにする. voxel0 を固定するのは,基準点として使用し, 他の voxel がどのように移動したのかをわかりやすくするためである. 本来であれば,実際の DNA とパラメータの値を同じにするべきだが,テストプログラムであるため, このような設定でシミュレーションを行う.

持続長

持続長とは, 溶液中におけるポリマー鎖の硬直具合と, 変形する際にかかるエネルギーを計算するのに有効な指標である. 持続長が小さいほど, 柔らかな素材で曲がり具合が大きい. 持続長を ”Lps ” と表すと, 実
験結果から以下の式へ曲線近似を行うことで, 最適なa と Lps の値が求まる.

<nk · n0 > = a ∗ exp(− k/Lps )voxel の座標を求める

Voxelyze を用いて,10000 タイムステップごとの voxelの座標を調べる. タイムステップとは, 試行を行う回数を意味する. 以下の場合における voxel のシミュレーションを行う.

Voxelyze と Voxcad[3] は,voxel のシミュレーションライブラリであり,Jonathan Hiller によって開発された. 静的なモデルも動的なモデルも扱うことができ,柔軟な素材が変形する様子をシミュレーションするために用いられる. Voxelyze で計算した結果は,Voxcadを用いて可視化することができるが,Voxcad は,Windows と Linux でのみ実行可能である. 本研究ではMacOS を使用しているため,Voxelyze で計算した結果は,VPython を用いて可視化することにする. VPythonとは,Python で 3D グラフィックスを扱うことができるライブラリである. 座標や色を指定することで,voxelを簡単に表示することができる.

3

モデルの作成方法

4

4.2

可視化する

前 述 し た 通 り, 本 研 究 で は,VoxCad の 代 わ り にVPython を用いる. 求めた 10000 回分の座標から voxelを可視化するが, その際, グラデーションを用いて,voxelが移動する様子をわかりやすく表示する.

(1)<nk · n0 > は, らせんベクトル間の相関関係を表す. 扱うベクトルは正規化するため, <nk · n0 > の値が 1 の場合は, 塩基が直線上に並んでいることを表す. 図 1は,OxDNA を用いた場合の計算結果を示している. これは,OxDNA の EXAMPLE ファイルに含まれていた
図 [4] を見やすくするためにかき直したものであり,Persistence Length を計算するために必要な, ドット積と変数の関係を示している. 曲線近似により,a の値は0.99, 持続長は 123.55 と求まった. なお,k の値は 0 以上 39 以下である.

4.3

持続長を求める

シミュレーションを行うだけでなく, 持続長を求め,モデルの曲がり具合を調べる. まずは, タイムステップが 10000 の場合の座標から, 式 (1) における <nk · n0 >を計算する. voxelk の中心座標を (xk , yk , zk ) とすると, <nk · n0 > は,< nk · n0 >=< (xk+1 − xk )(x1 − x0 )+(yk+1 − yk )(y1 − y0 ) + (zk+1 − zk )(z1 − z0 ) > (2)1ことで, 正確に持続長を求める手法を考えたい. その後は,OxDNA の EXAMPLE ファイルに含まれているDNA のモデルと同じ塩基の並びをもつモデルを作成していく. そのために, まずは, 塩基の組の座標をどのように表すのかということを検討したい. 塩基の結合の強さは, 水素結合により, 組ごとに異なるため, どのようにモデルに反映させるのかということも考えたい.
さらに, モデルの作成後は, 持続長を求め, 図 2 のグラフと比較して精度を確認したり,voxel が動く様子や変形する様子を表したりし, 実物に近いモデルを作成したい.のように計算できる. さらに,k の値を適切に変化させ,曲線近似を用いることで, 式 (1) 中の a と Lps の最適値を求め, 持続長を計算する. voxel10 に関しては, プログラムを実行する度に異なる結果の座標が得られるため,10 回分の平均をとったドット積を使用する.

5実行結果

実行結果は, 図 2,3 の通りである. 図 3 は,voxel0∼10におけるシミュレーションの結果を示している. 図 3bは, タイムステップが 1∼10000 のときの voxel0∼10 を表示したものである. 左が,z 軸の正の方向から見た図であり, 右は角度を変えて見た図である. 青い voxel がvoxel0 であり, 緑から黄緑, 黄色へと変化している部
分が voxel1,3,5,7,9, 赤から橙色, 黄色へと変化している部分が voxel2,4,6,8,10 である. すなわち, 黄色に近い色ほど, タイムステップが大きく, 赤や緑に近い色ほど, タイムステップが小さい. voxel0 以外は,x 軸方向と z 軸方向の広範囲に存在していることから,10000 タイムステップの中で幅広く移動したことがわかる. これは,voxel10 は,z 軸方向への力をランダムに指定したことが原因だと考えられる. 図 3a は, タイムステップ
が 9990∼10000 のときのみの voxel0∼ 10 のシミュレーションの結果である. タイムステップが 9990∼10000
においては, どの voxel もそれほど大きくは変化していないことがわかる.
図 2 は, タイムステップが 10000 におけるドット積と変数の関係を示している. simulation data と曲線近似の結果に差が見られることから, 今回のテストプログラムを,DNA のシミュレーションにそのまま使用することができないことが確認できる. 計算の結果, 持続長は 13.98 であり,OxDNA の EXAMPLE データと比較するとかなり小さく, 柔らかい素材で構成されており, 曲がり具合が大きいことがわかる.

(a) タイムステップ 9990∼10000 の結果(b) タ イ ム ス テップ
1∼10000 の結果

図 3: voxel0∼ 10 のシミュレーション結果

参考文献[1] 小 倉 裕 介. DNA コンピューティングの原理と展開. 生産と技術 第 63 巻 第 3 号 (2011)[2] P.W.K. Rothemund:Folding DNA to create
nanoscale shapes and patterns, Nature, vol.440,
pp.297–302, 2006.
[3] Jonathan Hiller and Hod Lipson. Dynamic
simulation of soft heterogeneous objects.
ArXiv:1212.2845,2012.

図 2: タイムステップが 10000 のときのシミュレーション
結果

6[4] Petr Sulc. Calculating persistence length . April
12, 2012

まとめと今後の課題

本研究では, 座標を指定した場合の voxel によるシミュレーションを行った. Voxelyze を用いることで,特定の力を加えたとき,voxel がどのように移動するのかを可視化することができた. また, 持続長を求め, モデルの素材の硬さや曲がり具合を調べた. しかし, 曲線近似とシミュレーションデータの誤差は大きく, 求まった持続長は正確な値ではない. 今後は,voxel にかける力を,DNA の塩基にかかる力と限りなく近づける2