ComplexRI
概要例
本FreeFlexは、主に液体および界面系のさまざまな自由エネルギー計算に柔軟に対応できるMDプログラムとして開発された。液体界面でのwater finger座標によって初めてwater finger形成・切断の自由エネルギー障壁が明らかにされたように、既存の方法を超えた新たな座標が求められる場合も多い。FreeFlexは、一般化座標の設定が容易で汎用性が高く、それに対する拘束条件やバイアス・ポテンシャルを課したり、その座標上の自由エネルギー計算を実行しやすいように設計された。
現在のFreeFlexは、自由エネルギー計算手法として、
- 自由エネルギー摂動法 (overlapping distribution法)
- アンブレラサンプリング法
- レプリカ交換アンブレラサンプリング法
の3通りをサポートしている。分子モデルは、点電荷および点双極子の分極モデルをサポートする。MD計算のチューニングについても多くの工夫がなされている。
FreeFlexは、吉川信明君が自らの研究のために作成していたMDプログラムを母体として、2014年度より汎用化を目指した開発が始められた。吉川君、王聆鉴君および森田が開発に加わり、液液界面に関わる吉川、聆鉴君それぞれの研究に必要なMDプログラムを包括する形で開発された。2015年より杉林君、2016年より田原君、2017年より平野君、内藤君、小泉さん、2018年より伊藤君が開発チームに加わって、液液界面での電子移動反応やfaciliated ion transfer、グランドカノニカルMDの研究へと進んでいる。また信田君によってparticle mesh Ewald法やOpenMP並列化が実装され、従来より格段に高速化した。
チュートリアル 例
- チュートリアル01:水-DCM 界面のシミュレーション
- FreeFlex の基本的な使用方法のチュートリアルとして、コンパイル、系の作成、MD の実行といった一連の流れを説明する。
- また、計算結果を確認するために show_energy.exe を用いてエネルギーの時間変化をグラフとして表示する。
概要
本ComplexRIは全反射実験から得られた反射率あるいは吸光度のデータをもとにして媒質の複素屈折率の分散を出力するWebアプリケーションである。 1⃣実験の結果、 2⃣ファイル形式に関する入力、 3⃣実験の条件、 4⃣解析に関する条件 という四つの情報を入力として与えると、解析が行える。
チュートリアル
目次 |
---|
チュートリアル01:ファイルを入れて解析してみよう(入力1⃣を与える練習) |
チュートリアル02:解析に関する条件を指定しよう(入力4⃣を与える練習) |
チュートリアル03:ファイルの形式を変えてみよう(入力2⃣を与える練習) |
チュートリアル04:実験条件を変えてみよう。(入力3⃣を与える練習) |
チュートリアル05:自分で入力を考えてみよう。(入力1⃣,2⃣,3⃣,4⃣を与える練習) |
- ここでは1⃣実験の結果を入力として与えて解析結果を出力させてみよう。
- 実験結果のファイルはComplexRIのMANUALページのFile Listからダウンロードできる。
- 今回はDownload the File01のボタンを押してダウンロードしてこれを使用してほしい。
- ダウンロードが出来たらLSRページに行きファイルを入れてみよう。
- 入力は①から⑩の10個だ。今回は②Fileにダウンロードしたファイルを与えるだけでよい。
- それではexecute LSRボタンをクリックして解析してみよう。
- 解析結果は以下の画像のようなったはずである。
- ここまでComplexRIの基本的な流れを体験してもらった。
- ここで入れたファイルについて簡単に説明する。
- この様になっているはずである。
- 一列目には波数、二列目に一列目の波数の光が入射した時の反射率が(%)単位が並んだ構成になっている。
- この様に解析に必要な実験結果は波数とそれに対応する反射率の二種類だけであり、これだけの実験結果から解析が行えるということである。
- 結果については次のチュートリアルで説明する。
- ここでは4⃣解析に関する条件を入力として与えてみよう。
- まず、先程と同様にLSRページに行き②Fileにファイルを与える。これは前回と同じものを使用してほしい。
- 先程はこれで実行していたが、以下のように④と⑩に追加の設定をしてみよう。
- それではexecute LSRボタンをクリックして解析してみよう。
- 解析結果は以下のようなったはずである。
- ④と⑩の入力の意味を説明する前に、結果の見方について簡単に説明する。
- (1)数字、(2)表、(3)グラフが並んでいる。
- (2)表の数値はフィッティング関数のパラメータである。このフィッティング関数を足し合わせることで、左側の(3)グラフを描いている。また、このグラフの各点の値から反射率を計算してプロットしたのが右側の(3)グラフのcalculateである。実際の回帰ではこの表の数値をいろいろ試して、右側の(3)グラフのcalculateとexperimentと比較するということを行っている。ここで、experimentは入力ファイルとして与えられた反射率の値である。(1)数字は解析が終了した時点で、この比較の差がどれくらい小さくなったかを示している。具体的なフィッティング関数の形や方法については内部処理の説明などの説明01:フィッティング方法を参考にしてほしい。
- これを踏まえて、④と⑩の入力の意味を説明していこう。
- 説明は今回の結果をチュートリアル01の時と比較しながら行っていく。
- 図の比較は以下のようになる。
- ④の入力をしたことは、グラフの横軸の幅を設定することなっている。確かに、[入力4の図]と同じ範囲になっている。デフォルトの値で行われたチュートリアル01の時と比べると変化がわかりやすいと思う。
- このグラフの幅の設定は、言い換えると、解析する波数の範囲設定したことになっている。これは直前に説明した解析の原理から考えればわかる。(3)グラフのcalculateとexperimentを比較するのであった。このときグラフの横幅を変えれば、比べる範囲つまり解析の範囲を変えることに相当するということだ。
- 次に⑩について説明する。今回は[入力10の図]のように0.01した。解析は(1)数字がこの値より小さくなったら終了するようになっている。つまり解析の正確さもしくは厳しさを設定することになっている。これは小さくしすぎないように注意してほしい。なぜなら、比較の差分がこれよりも小さくならず、解析がとても長くなることがあるからだ。目安としてはデフォルトの0.02から0.01がよい。これは適宜試してみてほしい。
- ここでは2⃣ファイル形式に関する条件を入力として与えてみよう。
- チュートリアル01の時と同様にMANUALページのFile Listからファイルをダウンロードしてほしい。
- 今回はFile02を使う。
- ダウンロード出来たら、LSRページに行き②Fileにファイルを与える。
- 今回は③,⑤,⑥の入力を以下のように変更してみよう。
- それではexecute LSRボタンをクリックして解析してみよう。
- 解析結果は以下のようなったはずである。
- じつはこれはチュートリアル01と同じ結果になっている。
- 左がチュートリアル01の結果。右がチュートリアル03の結果。➡チュートリアル01の結果を直接見る。
- これは全く同じになっている。
- これは同じ実験結果を入力したことを意味している。しかし、チュートリアル01と02で使用した入力ファイルと今回使用した入力ファイルを比較すると、以下のように一見同じには見えない。これが同じであることを説明する。(一部分のみ示す。)
- 異なる点は2つある。
- 1つは行が3行になっていることである。これは波数、反射率、吸光度の順に並んでいる。ここで新しく出てきた吸光度というのは反射率と等価な情報を表している。なぜなら、○○という関係式が成り立っており、これによって吸光度を反射率に変換することができるからだ。
- もう1つは波数と反射率の並びが昇順から降順になっていることだ。ここで、吸光度はこの様に並び替えた後で反射率から計算したので波数に対応している。
- このように形は異なるが等価な実験結果を与えた。だから結果が同じだったのだ。
- ③,⑤,⑥の入力はこのファイルの形の違いをアプリ側に考慮させるために入力した。
- ⑤では読み込む列の番号を与えたことになっている。今回は入力として1行目の波数と3行目の吸光度を使うのでこのように設定した。
- 吸光度を使うときは、忘れずに③をabsorptanceに設定してほしい。すると、解析時に反射率に変換して解析する。
- この設定はデフォルトではreflectanceになっているのでこれまでは変更する必要がなかった。
- 最後に⑥はデータの波数のの並び方昇順か降順かを入力している。今回は降順なのでこのように設定した。デフォルトは昇順なので今までは設定する必要がなかった。
- ここでは3⃣実験の条件を入力として与えてみよう。
- LSRページに行き②Fileにファイルを与える。これはチュートリアル01と02で使ったものと同じものを使ってほしい。
- 今回は⑦,⑧,⑨の入力を以下のように変更してみよう。
- それではexecute LSRボタンをクリックして解析してみよう。
- 解析結果は以下のようなったはずである。
- チュートリアル01とグラフを比較してみると以下のようになる。
- 同じファイル、つまり同じ実験結果を与えているが、実験条件が違えば、出力も異なることがわかる。正しい分散を求めるには自身の行った実験の条件を正しく与える必要があるということだ。
- 各入力を説明しよう。
- ⑦では全反射実験のときに使った基質の種類を指定している。
- ⑧では全反射実験のときの入射光の角度を指定している。
- ⑨では分散のバックグラウンドを与えている。これは測定する基質の赤外領域での屈折率を与える必要がある。
- これは可視光領域の光に対する屈折率からコーシの方程式のパラメータを求め、これを外挿することによって求めることができる。
- 詳しい求め方は内部処理の説明などの説明02:屈折率のバックグラウンドを参考にしてほしい。
チュートリアルtopへ
内部処理の説明など
目次 |
---|
説明01:フィッティング方法 |
説明02:屈折率のバックグラウンド |
説明03 |
説明04 |
内部処理の説明などtopへ
ComplexRIページtopへ]