HSPiPの概要 | ハンセンの溶解球を見つける、Y-Fit

2012.Dec.20

ある溶質を溶解する溶媒と、溶解しない溶媒をハンセンの3次元空間にプロットすると、溶解する溶媒は3次元空間中似た位置に集まっていて球を形成します。その球を”ハンセンの溶解球”と呼びます。このハンセンの溶解球を求めるプログラムはHSPiPの中核のプログラムです。様々なアルゴリズムを開発して、溶解現象を直感的に理解できるように工夫してきました。

もちろん例外も存在し、HSP的には溶解するはずだが、分子サイズが大きく、中に入り込めないで溶解できないとか、溶媒が、分子内(分子間)水素結合をして、dH項が低下して溶解しないはずが溶解してしまったなどということもあります。ドナー/アクセプター相互作用になってくると4次元データの取り扱いになり、それを3次元に矛盾なく表示するのは非常に難しくなります。

また、ユーザーからのフィードバックで一番多いのが、画面を別画面にして大きくして見たり、グラフィック表現をもっとフレキシブルにして欲しいという要請です。そこで、HTML5ベースのソフトウエアー、Y-FitをHSPiPのパワーツールとして提供いたします。

Y-FitはHSPiP を購入されてライセンスファイルをお持ちの方だけがお使いいただけます。

ブラウザーの対応状況:

  Mac Windows Linux
Chrome (ver. 23)  
FireFox (ver. 17) 一部制限(Web Storge X)  
Safari(ver. 6以上) ◯(OSX, Lion+)

?

 
Opera (ver. 12) X (File API使えない)  
IE (ver. 10) X (Mac版なし) 一部制限(Web Storge X)  

インターネット・エクスプローラー(IE)のver.6から8はHTML5に対応していない為、動作しません。IE-9はFile APIに対応していないため利用できません。IE-10はLocal Storgeに不具合があるため、毎回認証を行わなければなりません。マック版のOperaはFile APIが使えないため認証が行えません。Mac版のFireFoxもLocal Storgeが消えてしまうことがあり、その場合は認証をやり直さなければなりません。

一番安定して使えるのはChromeブラウザーです。Linuxn用のブラウザーは確認がとれ次第情報をアップデートしていきます(情報をお持ちの方、フィードバックを頂けるとありがたいです)。

 

スタートアップ画面

初めて使う場合には、上記の画面が現れます。(画面はブラウザーによって、ボタンの名前、見かけが異なります。)パワーツールを使い始める前に、HSPiPのライセンスを持っていることをブラウザーに教える必要があります。”ファイルを選択ボタン”を押して、HSPiPのライセンスファイルを指定します。(Windowsで利用の場合は、Program Files¥Hansen-Solubility¥HSPiP¥XXXXXX.licenseにあるはずです。)

一度、ライセンスファイルを開き、それが正しいライセンスと認識されると、ブラウザーのLocal Storge(クッキーのようなもの、HTML5から導入されています)に登録され、以後はどのパワーツールを使う場合でも認証なしに利用できるようになります。

Mac版のSafari (ver. 6未満), OperaとWindow版のIE-9はライセンスファイルを選択しても、ファイルの中身を読み込む機能が無い(File APIの実装が不十分)ため、認証できません。またIE-10では読み込み、認証はできるのですが、Local Storgeで読み込んだ結果を保持することができないので、パワーツールを走らせるたびに認証を行う必要があります。Mac版のFireFoxもLocal Storgeが消えてしまうことがあり、その場合は認証をやり直さなければなりません。

認証が正しく行われると、以下の画面になります。(Reloadボタンを押す必要があるかもしれません)

ここで、ファイル選択(Choose File)ボタンを押すとファイル選択画面が現れるので、hsdファイルを選択します。SphereViewerの所で説明しましたが、拡張hsdファイルには前に計算したデータ、Previous dataが残っていますが、Y-Fitではそのデータは無視されます。

 

0-1システム

試しにHSPiPのExamplesフォルダーにあるchapter4.hsdを読み込んでみます。次のように表示されます。

溶媒のHSP [dD, dP, dH]を3次元座標の値として表示されます。このデータは、溶解する(1), 溶解しない(0)の0-1がScoreに入っているので、0-1システムであることが表示されています。キャンバス中でドラッグすると溶媒の重心を原点に回転します。ブラウザーのサイズを変えるとそれに合わせてキャンバスの大きさも調整されます。シフトキーを押しながら左右にドラッグすると、拡大/縮小されます。Altキーを押しながらドラッグすると重心の位置を動こすことができます。

ここで、ドナー/アクセプター表示を選択すると次の絵のように、溶媒のアクセプター性の高いものは青色、ドナー性の高いものは赤色で、水素結合項(dH)の高いものは彩度が高く、小さいものは灰色に表示されます。また溶解するものは球で、溶解しないものは立方体で表現されます。これがパワーツールでの、4次元情報を3次元に表示する方法です。

次に緑色のタブをクリックします。0-1システムのhsdファイルを読み込んだ時に使えるオプションが表示されます。

ここでは、まず、HSP距離の計算式を選択します。HSPでは2つのHSP、[dD1, dP1, dH1]と[dD2, dP2, dH2]のベクトルがあった時に、

HSP距離= Sqrt(4.0*(dD1-dD2)² + (dP1-dP2)² +(dH1-dH2)²)

で距離を計算します。(Sqrt:ルートをとる)通常のベクトル間距離の計算式と比べて、dDの前に4.0という係数がつくので注意が必要です。

その距離を4次元のHSPで扱う場合には、[dD1, dP1, dHdo1, dHac1]と[dD2, dP2, dHdo2, dHac2]としたときに、

HSP距離= Sqrt(4.0*(dD1-dD2)² + (dP1-dP2)² +(dHdo1-dHdo2)² +(dHac1-dHac2)²)

となります。計算を4次元で行いたい場合には、dHを分割(Split dH)にチェックを入れます。(入力データにdHdo/dHacのデータがない場合には選択できません。)ここにチェックが入ると溶媒の表示はドナー/アクセプター表示なります。

これが一番基本的な距離の計算式、ユークリッド距離(Euclidean Distance)の計算方法です。

4次元のHSPで計算する場合には、距離の計算式にBeerbowerの距離を選択することができます。これはHSP距離を次の式で計算します。

HSP距離= Sqrt(4.0*(dD1-dD2)² + (dP1-dP2)² +2*(dHdo1-dHdo2)*(dHac1-dHac2))

ドナーとアクセプターが相互作用する効果が溶解性を大きく支配している系などには有効ですが、結果の3次元表示は、見かけの距離と式から計算される距離が違うので注意が必要です。

また、溶解球が2つあると仮定して、よく溶解する(Score=1)溶媒がどちらかの溶解球に含まれ、溶解しない(Score=0)溶媒がどちらの溶解球にも含まれない球を探索する場合には 球を2つ探索(Double Sphere)にチェックを入れます。

オプションを設定せずに、探索(Fit)ボタンを押すと次の画面が現れます。

Score=1の溶媒を溶解球の内側、Score=0の溶媒を溶解球の外側に持ってくるような、溶解球は[dD, dP, dH]=[17.21, 9.02, 5.92]で、半径が7.9であるものが探索されました。次に球1(Sphere 1)の右端にあるチェックボックスにチェックを入れます。すると下の絵のようにここで求まった溶解球が表示されます。

残りの球のフィールドには、こんな溶媒だったら溶かすか? このポリマーと他のHSPが解っているポリマーが重なる部分があるかなどを調べるために、マニュアルで値が入れられるようになっています。(半径が0では表示されないので、溶媒を入れる場合には適当な半径(radius)を入れてください。)探索(Fit)タブを選択すると探索したデータの全てがResultに入っています。必要であればコピーして表計算ソフトにペーストして他にはどんな解があるか調べてください。次にdHを分割(Split dH)にチェックを入れてください。溶媒がドナー/アクセプター表示されます。

溶質はdHdo/dHacが計算されていないので、溶解球の色は意味がありません。

そして探索(Fit)ボタンを押すと、溶解球が探索されます。

この溶解球は、dHdo=0.57, dHac=7.34ですので、アクセプター性の溶質であることが解ります。そこで溶解球の色は青みがかった色になります。

球を2つ探索すると下のようになります。

 

Neoprene.hsdを読み込んで球を2つ探索(Double Sphere)オプションを指定して探索を行うと、HSP的には溶解するはずなのに、Score=0(赤い溶媒)のものがあることが解ります。その際に、溶媒体積を半径にする(Solvnet MVol to Radius)オプションをチェックすると下のようになります。溶媒を画面上でクリックすると溶媒名が現れますが、こうした溶媒はフタル酸エステル、すなわち、ポリマーの可塑剤であることがわかります。それを分子体積を半径にしてみると、それらは非常にサイズの大きな溶媒であることが確認できます。つまり可塑剤はポリマーと親和性が高くないと混じらないけど、経時変化でポリマーの外に出てきて欲しくないものです。従ってポリマーを溶解できない(網目に侵入できない)くらい大きなサイズだけど、HSPが近いものが選ばれるのでこのような結果になります。

 

 

1-6システム

次に読み込みタブ(Read Pane)に戻ってPolymer88A.hsdを読み込みます。

このhsdファイルはScoreが1-6で表された、1-6システムであることが表示されます。Score=1が一番良く溶解する、Score=6が一番溶解しないで、間の数字はその中間に設定されたものです。

その場合はScoreのどの値までを溶解球の内側に設定するかを指定しなければなりません。探索(Fit)タブに移ると内側(inside)と表示ボタンが現れます。テキストフィールドに数字を入れて表示ボタンを押してください。

指定した範囲を内側、それ以上を外側にした表示に切り替わります。何度でもやり直せるので、値を変えながらどこまでを内側にするか試して見てください。

内側に2を設定した所。

 

内側を4に設定した所。

 

この機能をうまく使うと、例えば溶媒の溶解性を、Score=1(完全に溶解)、Score=2(膨潤100%以上)、Score=3(膨潤70%以上)、Score=4(膨潤30%以上)、Score=5(膨潤10%以上)、Score=6(膨潤10%以下)などと指定して、内側の値を変えながら、溶解球の中心と半径がどう変わるかを検討することができます。ポリマーの膨潤を抑えたい時に、ポリマーのHSPをどちらに動かせばいいかなどの検討を加えることができます。他のオプション設定は0-1システムと共通です。

 

実データ

HSPはこれまで、溶解するか、溶解しないかを判断する定性的な指標でした。球の内側に近いものほどよく溶解すると言えるので、1-6システムなどを使ってどこまでを球の内側に指定するかを使って溶媒を選択してきました。しかしHSP距離が同じなのに実溶解度が大きく異なる系もたくさん見つかりだし、定量的な取り扱いが求められてきました。例えばParacetamolの溶解度のデータから、log(溶解度g/1KgSolv.)の値が2以上の物をScore=1, 以下のものをScore=0として0-1システムで溶解球を探索します。

HSPは[17.65, 14.7, 17.49] 半径は9.45と求まり、例外が2溶媒あることが解ります。ところが、ここで求まった溶質と溶媒のHSP距離と、実際の溶解度をプロットすると次のようになります。

距離が短いほど溶解度が高くなるように見えますが、HSP距離15のところでは、距離が同じなのに、溶解度は非常に大きく違うことが解ります。距離が7付近でも大きくバラつきます。これでは、溶解度を最大にしたい溶媒をHSP距離から探しても、実溶解度が本当に最大になるかどうかはわからなくなります。

HSPiP 3.1からはGAオプションで実データ(Real data)を指定して溶解球を探索するアルゴリズムが搭載されました。これは、溶解球の中心を求める際に、HSP距離と実溶解度の相関係数が一番高くなるような溶解球の中心を答えとするものです。抽出溶媒をどんなものを選定したら分配係数が一番高くなるか? 少量の溶媒で一番多くの溶質を溶解する溶媒はどんな溶媒か? 反応速度を最大にする溶媒はどんなHSPのものがいいか? 定量的な考察をするのに役だってきました。このパワーツールでは従来の実データを計算するアルゴリズムに加え、HSPの距離の式自体も最適化する係数最適化アルゴリズムも付け加わりました。

例えばParacetamolの実溶解度のデータを読み込むと、実データ(Real data)であることが表示されます。多くの場合、溶解度に関しては、溶解度のlogをとったものが実データしては適しています。また実データは、HSPの距離が短くなると、実データが大きくなるように値を調整する必要があります。(無機物の沈降高さなどは、高さが小さいものほど溶解性がいいので、実データを反転させる必要があります。)

 

そして、探索タブ(Fit Pane)を選ぶと、実データ時に扱えるオプションとして係数最適(Variable Coefficients)が追加されます。(実データでは、現在のところDouble Sphereは選択できません。将来バージョンで修正予定です)

 

オプションを設定せずに探索(Fit)ボタンを押すと、以下の様な絵が得られます。半径(Radius)は実データの場合意味がないので(内側、外側の概念がない)取り敢えず7が入っています。

 

 

通常のHSP距離は、

HSP距離=sqrt(4.0*(dD1-dD2)² + (dP1-dP2)² + (dH1-dH2)²)

で計算されます。

この結果をスプレッドシートを使って見てみましょう。

hsdのデータはdHdoとdHacの値が/で区切られています。エディター・ソフトを使って/をタブに置き換えて、スプレッドシートにペーストします。先ほどのSphere計算結果を書き加えておきます。

そしてHSP距離の計算式を書き加えます。

通常の距離

 

この距離と実データをプロットしてみます。

通常のHSP距離と実データの相関を上のグラフに示します。通常のHSP距離と実溶解度の相関が一番高くなる溶質のHSPは[19.01, 18.29, 18.85]であり、さらに良い溶媒を探すなら、溶媒のHSPが[19.01, 18.29, 18.85]の時に距離が0になるので、最大になると予測されます。このようにHSP距離が実溶解度と相関を持つと、容易にさらに良い溶解度を持つ溶媒を探索できるようになります。このアルゴリズムは、HSPiP ver 3.1に搭載されているものと同等の機能です。

 

係数最適化アルゴリズム

 

このParacetamolのHSPはY-Predictで計算すると、[dD, dP, dH, dHdo, dhac]=[20.2, 13.3, 14.7, 11.6, 9.0]となります。先に求まった、[19.01, 18.29, 18.85]と比べるとdPの値が大きく違います。そうした時に、HSP距離を定義している、係数、(4,1,1,(1))というのは定量的問題に対しても最適なのか?という疑問が起きます。 そこで新たなアルゴリズムが開発されました。

係数最適(Variable Coefficients)のオプションを選択して探索を行うと、溶解球のHSPの位置が少し異なった所[18.16, 14.22, 18.23]に解が見つかります。

そして、係数(Coefficients)が、[3.85, 1.52, 0.38]であることが表示されています。

この場合、溶質と溶媒のHSP距離は、

HSP距離=sqrt(3.85*(dD1-dD2)² + 1.52*(dP1-dP2)² + 0.38*(dH1-dH2)²)

で計算されます。

dHの違いは実溶解度に余り効かない(係数が0.38)、dPの違いは大きく効く(係数が1.52)と解釈すると、この実溶解度の現象を精度高く理解できることになります。

計算式をスプレッドシートに入れて、相関を見てみましょう。

先の係数固定の場合と比べ、例外が2つありますが、非常に明瞭な相関が得られることが解ります。

さらに、オプションとして、dHを分割(Split dH)を使って、係数最適を行なってみましょう。

求まったHSPは[19.63, 14.06, 7.89,13.71]で係数は(4.38, 1.78, 0.24, 1.52)となります。Y-Predictの結果[dD, dP, dHdo, dHac]=[20.2, 13.3, 11.6, 9.0]にも近づいて来ました。

相関もさらにわかりよくなります。(縦軸のスケールが違うので解りにくいですが、傾きが立ってきます)

こうして、さらに溶解度の高い溶媒を探索する、距離が短いのに溶解しない、距離が長いのに溶解するなどの例外溶媒がどんなものがあって、そうした異常性を考察するなど、様々な応用が考えられます。

ユーザーのフィードバック次第で様々な機能追加が考えられます。いろいろ試して頂ければと思います。