Pirika logo
JAVA,HTML5と化学のサイト

Pirika トップ・ページ

Pirikaで化学
 物性化学
 高分子化学
 化学工学
 分子軌道
 情報化学

 その他の化学
 アカデミア
 MOOC講義資料
 プログラミング

ハンセン溶解度パラメータ(HSP):
 HSP基礎
 HSP応用
 ポリマー
 バイオ・化粧品
 環境
 物性推算
 分析
 化粧品の処方設計
 その他
 自分でやってみよう

雑記帳

Ad Space for you

 

Ad Space for you

 

 

 

Last Update

27-May-2017

情報化学:水への溶解度を予測するQSPR式の構築法

2013.9.24

非常勤講師:山本博志 講義補助資料

有機化合物の水への溶解度を計算する方法については物性化学で紹介した。ここでは、そうした計算式を構築する時に情報化学をどう駆使していくかを学ぼう。

有機化合物の水への溶解性は、特に医薬品の分野で重要である。Pirikaでは物性を推算する時に、分子を原子団に分割して、官能基の数、官能基の結合情報から物性を推算する。推算の基本は重回帰法だ。これを有機化合物の水への溶解性を例題に説明しよう。

まず、この重回帰法を復習しておこう。
有機化合物の水への溶解度が分子中の官能基の数で表す事ができるとしよう。例えば炭素数が6個の化合物の、水への溶解度の場合、次のようなテーブルを作る事ができる。

Solvent

logS

CH3

CH2

CH

OH

O

C=O

Hexane

-2.875

2

4

0

0

0

0

3-methylpentane

-2.746

3

2

1

0

0

0

1-hexanol

-0.231

1

5

0

1

0

0

3-hexanol

0.2

2

3

1

1

0

0

diisopropyl ether

0.0511

4

0

2

0

1

0

ethyl butyl ether

-0.6367

2

4

0

0

1

0

ethyl isopropyl ketone

0.345

3

1

1

0

0

1

2-hexanone

0.2

2

3

0

0

0

1

水への溶解度が官能基の数(#)だけで決まっているとすると、
logS=a*CH3#+b*CH2#+c*CH+d*OH#+e*O#+f*C=O#+g
という式が成り立つと仮定する。
すると
-2.875=a*2+b*4+c*0+d*0+e*0+f*0+g  (1)
-2.746=a*3+b*2+c*1+d*0+e*0+f*0+g  (2)
-0.231=a*1+b*5+c*0+d*1+e*0+f*0+g  (3)
・・・・・・・
という方程式を8つ作る事ができる。このような式の組み合わせを連立方程式と呼ぶ。通常は変数消去法という方法を使って順番に変数を消去する。例えば式(1)から(2)を引くと、定数のgが消去された新しい式が作成される(この場合はd, e, fも消去されてしまう)。(1)から(3)を引くともう一つa,b,c,d,e,fのみからなる式が作成できる。その二つの新しい式のfの係数が等しくなるように式の両辺に定数を掛けて式の引き算を行うと係数fを持たない式が一つできる。このような変数消去法を繰り返すとa,b,c,d,e,f,gが求まる。変数消去法で変数を求めるには変数の数以上の式が必要になる。この変数消去法は中学生レベルの解法であるが、高校生で行列と逆行列を習うともう少し簡単になる。
これらの式を行列で表現すると以下のようになる。

つまり、A行列の逆行列が求まれば簡単にa,b,c,d,e,fが求まる。逆行列が求まる条件として、m*n行列でm<=nという条件がつくのは変数消去法と同じだ。
このa,b,c,d,e,fの事を重回帰係数と呼ぶ。

こうした重回帰計算はExcelなどにも搭載されているので自分で計算した事もあるかもしれない。
実際に係数を求めてみると、
logS=-0.9557*CH3#+-0.3452*CH2#+0.5624*CH#+2.1846*OH#+2.3691*O#+2.7378*C=O#+0.3332
となる。
この重回帰係数が得られると、例えばOH基、エーテル基、ケトン基は係数がプラスで大きいので、logSを大きくする事が定量的に解る。CH3やCH2は水への溶解性をさげる事が定量的に解る。

課題:ケトンの重回帰係数がアルコールより大きくなる合理的な理由を考えてみよう。

次に、テーブルに無い化合物について予測してみる。

Solvent

logS

CH3

CH2

CH

OH

O

C=O

予測値

3-hexanone

0.174

2

3

0

0

0

1

0.124

3-methyl-2-pentanone

0.231

3

1

1

0

0

1

0.4211

MIBK

0.279

3

1

1

0

0

1

0.4211

それほど悪くはない予測性能を示す事が解る。

しかし、


Solvent

logS

CH3

CH2

CH

OH

O

C=O

予測値

acetal

0.644

3

2

1

0

2

0

2.0763

2-butoxyethanol

2

1

5

0

1

1

0

2.2052

1,6-hexanediol

0.356

0

6

0

2

0

0

2.6312

1,3-Dimethoxy Butane

0.41

3

2

1

0

2

0

2.0763

Ethylene Glycol Diethyl Ether

0.923

2

4

0

0

2

0

1.7792

Ethylene Glycol isobutyl Ether

0.878

2

3

1

1

1

0

2.5023

2,5-Hexanedione

1.253

2

2

0

0

0

2

3.207

同じく炭素数が6で官能基を複数持つものを予測してみると非常におかしな値になる事も解る。

これには2つの原因が混じっている。最初の問題は外挿性の問題だ。最初に立てた重回帰式でOH基の係数:2.1846、エーテル基の係数:2.3691、ケトン基の係数:2.7378である。つまり、ケトン基が一番logSを大きくする効果を持っていると計算された。ところが、ケトン基を2つ持っている2,5-HexanedioneのlogSは1.253である。つまり式を立てる時にケトン基の最大数は1であり、ケトン基が2つの時は外挿になってしまうので推算精度が低くなったと考える。この問題に対しては方程式の数を増やすしか無い。
重回帰計算は原子団ごとの相互作用を完全に無視するというのがもう一つの原因だ。式を立てる時にはOH基とエーテル基を両方持つ化合物が入っていない。これは外挿の問題なので方程式を増やせば外挿ではなくなる。ところが、データをいくら増やしても、例えば分子中にカルボン酸基とアミノ基を持つ化合物、アミノ酸が特異的な溶解性を持つ事は重回帰法では正しく認識させる事はできない。平均的なカルボン酸基の重回帰係数と平均的なアミノ基の重回帰係数で計算された答えを返す。これを回避する為にはHC(NH2)COOH基を定義するしかない。
このように方程式と官能基を増やしながら溶解性の予測式を作成していく。
それでは、溶解度のデータがたくさんあればExcelの重回帰計算と合わせれば精度の高い推算式を作成できるだろうか?

例えば典型的な溶媒600種類を集めたデータベースの化合物の水への溶解度を検討してみる。データベースには432の溶解度のデータがあった。そしてそのデータに対して官能基を168種類、分子の形状因子を3種類定義したテーブルを作成する。このデータに対して重回帰法で官能基に対する重回帰係数を求めてみる。結果は次のようになった。

一見して明らかなように、logSが2付近で誤差が非常に大きい。このような結果になる原因は、通常、100%水溶性の化合物は水100gに対して∞溶解してしまうが、データ値としては100gの水に対して100g溶解する、つまりlogSは2で実験は打ち切られてしまう。Excelなどの解析ソフトを使ってそのデータを使って解析すると必ずこのような計算結果になってしまう。例えば引火点などでも、110℃以上の場合には測定されず、>110℃と表記されているものがある。データベースの種類にもよるが、データベース中のカラムには属性を設定しなくてならない事が多く、データがテキストであるのか数値であるかを事前に設定しなくてはならない。数値カラムにテキストを入力する事はできないので、>110℃の場合110という数値が一人歩きしている場合が多い。蒸発潜熱の場合、最小値は0である。従って蒸発潜熱をベースにしたハンセンの溶解度パラメータのうち分極項(dP)や水素結合項(dH)は0以下にはならない。しかし通常の解析ソフトでは非極性の官能基の重回帰係数はマイナスになり、答えが負になってしまう。そのような限界値を持つ物性値は通常の重回帰のソフトウエアーでは解析できない。
簡単に説明すれば、例えばある化合物のlogSの計算値が4だった場合、実験値のlogSは2.0であるので、誤差は(2.0-4.0)/2.0,つまり-100%の誤差があると考えてしまう。その誤差を最小二乗法で最小にしようと働くので、計算値(誤差の自乗は100*100)を小さくするように重回帰係数に補正をかけて行く。そこで、logS=2.0近辺(つまり水への溶解度が非常に大きな化合物群で)重回帰係数は意味をなさなくなる。また、測定限界の問題もある。昔のデータでは溶解度の測定データは10mg/100mlが限度であったが、機器分析の発展でさらに低濃度の測定が可能になってきている。10mg/100mlが実は0.01mg/100mlであった場合、logSでは値が1000倍(logSにして3)異なる。その誤差を最小二乗法で最小にしようとするとやはり重回帰係数は大きな矛盾を持ってしまう事になる。そこでlogSの推算式を構築しようと思った場合にはこうした事への対応ができるソフトウエアーの利用が不可欠になる。こうした分野は化学情報学と呼ばれる分野である。化学的な情報は一般的には化合物の構造に蓄えられている。その情報を引き出し、解析を行うには、一般的な解析ソフトではかえって本質を見失ってしまう。
そこで、化学者の、化学者による、化学者の為のソフトウエアーの開発が不可欠になる。
ある限界を超えた場合に誤差を誤差と見なさないというアルゴリズムを加えた重回帰法の自作のプログラムを使って先ほどのデータを解析すると、以下のようになる。

実験値が2以上のものについては、2以上であれば値が幾つでも誤差はないと判断するのでこのような結果になる。

課題:情報系の学生は、どのようなプログラム上の処理をすれば、このような計算ができるか考えてみよう。実験系の学生は、入力データにどのような小細工をすると同じような結果が得られるか考えてみよう。

logP(オクタノール・水分配比率)の計算値とlogSの実験値をプロットすると上図のようになり、比較的高い相関がある事が知られている。そこで、おおよそのlogSの値を予測したい場合にはlogPの値が使えることがわかる。それにしてもlogS>2の領域の推算をlogPから行うのは無理そうなことは明らかだろう。

ところが、logS>2.0を誤差と見なさないとういうアルゴリズムで計算したlogSとlogPの計算値をプロットすると上図のようにlogS>2.0の領域で大きく改良されるのが解るだろう。

また、研究によっては良く溶解する化合物の精度を高めたい場合と、溶けにくい化合物の精度を高めたい場合がある。通常の統計解析用のソフトウエアーでは「ある注目している領域の精度を高める」などという機能はついていないだろう。例えば良く溶ける領域で精度を高め、logPとの相関を検討すると次のようになる。

左上の領域が改善され、その分右下の領域が悪くなる事が解るだろう。

課題:ある領域の精度を上げる方法を、プログラムの作成上、もしくは入力データの処理から考えてみよう。

それでは、こうしたアルゴリズムによって重回帰係数はどのように変化するのか見ておこう。


No

Functional Group

Normal MR

Max limit2

MaL2P

1

CH3

-0.533

-0.523

-0.515

2

CH2

-0.240

-0.273

-0.571

3

CH

-0.184

-0.224

-0.576

27

OH

1.670

2.027

1.584

30

O

1.519

1.588

1.265

32

C:O

1.815

2.046

1.357

普通に重回帰(Normal MR)をしたものを最初のカラム、logS>2以上を誤差と見なさない(Max limit2)を2番目のカラム、logS>2を設定し、かつ。溶解度の高い領域での精度を上げた場合(MaL2P)を3番目のカラムに示してある。CH3の重回帰係数はほとんど変わらないが、MaL2P でCH2やCHの重回帰係数はマイナスが大きくなっている。これは、溶解度の高い領域の化合物中のCH2、CHが正しい値を返すようにしたため、このような値になっている。この係数を用いて、逆に溶解度が低い炭化水素を計算すると精度が低くなってしまう。アルコール、エーテル、ケトンを比べるとNormal MRではケトン、アルコール、エーテルの順になるが、MaL2Pではアルコール、ケトン、エーテルの順になり、納得しやすい。Max limit2でlogS>2以上を誤差と見なさないと、アルコールとケトンはエーテルに比べ大きな値になる。

どの答えが正しいのか? 良く質問される。それは重回帰式をどう使いたいのか次第なのだが、なかなか理解してもらえない。しかし、重回帰計算をExcelでやっている限り答えは1つ(正確には、原点を通るというオプションがあるので、2つ)しか出てこない。Mathematicaを使おうが他の統計解析ソフトを使おうが、それらは化学的物性値の特性をどこまで考慮してくれているかは常に気に留めておこう。そして入力をどう工夫すれば目的の推算式が手に入るか頭を働かそう。またもう一つ大事な事は、大きく外れる化合物がどんなもので、データの入力間違いが無いか、データの単位が間違っていないか? 他のデータ値が無いかをチェックしよう。


次に、前述したアミノ酸のような官能基を複数持つ化合物の水への溶解度を考えてみよう。

課題:ある官能基とある官能基が相互作用して溶解度が大きく変化する現象があるとした時に、プログラム上どう工夫をすれば、入力データ上どう工夫をすれば官能基のペアを特定できるか、考えてみよう。

最初のテーブルに2級の水酸基も付け加えて拡張する。


Solvent

logS

CH3

CH2

CH

OH

2OH

O

C=O

Hexane

-2.875

2

4

0

0

0

0

0

3-methylpentane

-2.746

3

2

1

0

0

0

0

1-hexanol

-0.231

1

5

0

1

0

0

0

3-hexanol

0.2

2

3

1

1

0

0

0

diisopropyl ether

0.0511

4

0

2

0

0

1

0

ethyl butyl ether

-0.6367

2

4

0

0

0

1

0

ethyl isopropyl ketone

0.345

3

1

1

0

0

0

1

2-hexanone

0.2

2

3

0

0

0

0

1

3-hexanone

0.174

2

3

0

0

0

0

1

3-methyl-2-pentanone

0.231

3

1

1

0

0

0

1

MIBK

0.279

3

1

1

0

0

0

1

acetal

0.644

3

2

1

0

0

2

0

2-butoxyethanol

2

1

5

0

1

0

1

0

1,6-hexanediol

0.356

0

6

0

2

0

0

0

1,3-Dimethoxy Butane

0.41

3

2

1

0

0

2

0

Ethylene Glycol Diethyl Ether

0.923

2

4

0

0

0

2

0

Ethylene Glycol Monoisobutyl Ether

0.878

2

3

1

1

0

1

0

2,5-Hexanedione

1.253

2

2

0

0

0

0

2

Propylene Glycol Monopropyl Ether

2

2

3

1

0

1

1

0

2-Propanol, 1,1'-oxybis-

2

2

2

2

0

2

1

0

methyl 1-methylbutyl ether

-0.6102

3

2

1

0

0

1

0

diethylene glycol dimethyl ether

2

2

4

0

0

0

3

0

2-(2-ethoxyethoxy)ethanol

2

1

5

0

1

0

2

0

2,5-hexanediol

0.635

2

2

2

0

2

0

0

triethylene glycol

2

0

6

0

2

0

2

0

acetyl acetaldehyde dimethyl acetal

1.676

3

1

1

0

0

2

1

これを、通常の重回帰法をつかって計算する。
logS=-0.641*CH3-0.143*CH2+0.430*CH+0.669*OH +0.775*2OH +1.159*O +1.471*C=O +0.186

結果を図示すると以下のようになる。

官能基の相互作用があるとして、OHとエーテル、2級OHとエーテル、エーテルとケトンの3種類を試しに使ってみる。
重回帰係数は以下のように求まる。
logS=-0.724*CH3-0.198*CH2+0.501*CH+1.033*OH+0.629*2OH+1.393*O+1.73*C=O -0.333*OH*O+0.249*2OH*O -0.596*O*C=O+0.218

1級OHとエーテル酸素を掛けたOH*Oの係数はマイナスで溶解度を下げるが、2級OHとエーテル酸素を掛けた2OH*Oの係数はプラスなので溶解度を上げる事がわかる。ここで使った3種類は水溶性の高い官能基なので、この補正項はlogS=2あたりの精度を(平均的に)改善する事が下図から明らかだろう。

課題:現在Pirikaで使われる原子団は167種類定義されている。官能基間相互作用は同じ官能基同士を含めれば、167*167種類存在する。連立方程式を解く為には変数の数よりも式の数が多い必要があるので、官能基間相互作用は全てを入れる事はできない。また連立方程式の中にその組み合わせが一つもないものもあるので、全ての組み合わせを評価する必要も無い。どのような合理的選択方法があるか考えてみよう。

この官能基間の相互作用を加味した重回帰計算を自動で行わせてみる。


OH

2.94

OH*OH

-0.55

2_OH

2.33

O

2.08

O*O

-0.30

C:O

2.43

C:O*C:O

-0.69

比較的低分子の溶媒の計算では、プログラムが選択した相互作用項の1例は上の表のようになる。OH基が1つの時は、1*2.94 – 1*1*0.55 だけlogSを増加させる。しかし、OH基が2つになると、2*2.94 – 2*2*0.55、3つになると、3*2.94 – 3*3*0.55 となる。OH1つあたりの溶解性は、分子が大きく、官能基が増えるにつれ減少して行くとプログラムが判断している事がわかる。この効果はある意味、非線形性を導入したといういい方もできる。
しかし、同時に次のような相互作用項も求まるので、非常に有用だ。


O*C2F5

-2.36

CH2*2_OH

-0.91

iso_Bu*C:O

0.46

CH:*O

-0.30

医薬品などにフッ素などのハロゲン原子を導入した時に溶解性がどう変わるのか定量的に評価する事が可能になる。

多くの研究では、水への溶解性は、そのままに、かつ、オクタノール・水分配比率を上げたいなどと、一見すると矛盾する答えを探したい場合が多い。現象が全て線形現象で、重回帰計算をすれば求まってしまうなら話は簡単だ。2つの線を描きその交点を求めるだけになる。しかし、分子中にある原子団ペアがあった時に特異的に片方の物性値が変わり、もう一方に影響を与えないペアを見いだせば、ほかでは出せない特徴を設計する事ができる。そこで、こううした非線形性や相互作用を定量的に扱う技術が非常に重要になる。

官能基間の相互作用を加味し、logS>2以上を無視すると指定して構築した最終のQSPR式の結果は上に示すような図になった。次に大事になるのは、このモデル式でズレているのはどのような化合物かを特定し、どんな未知の力が働いているから結果がこうなったのか?を考える事だ。そうしたことを一つ一つ積み重ねる事によって溶解現象の本質に迫る事が可能になる。その際にはlogSだけを見ていては駄目で、logP(オクタノール・水分配比率)ヘンリー定数など様々な角度からの検討が必須だろう。

課題:今回は溶解度をg/100gで評価したが、mol/100gで評価したらどうなるだろうか? ここで解析したような比較的低分子の溶媒の場合には余り差が出ないだろうが、医薬品の溶解度などでは入力データの工夫として重要なハンドリングである。ここで問題になるのは、通常の溶解度で、100g溶質/100g水はlogS=2になるので、上限値の設定は容易であった。しかし、溶解度をmolで扱うと、この部分の取り扱いが非常に難しくなる。ここでは、logS<2となるグループでのlog molS の最大値と、logS>=2となるグループのlog molSの最小値から、しきい値は-0.17と設定し、上限界ありの重回帰計算を行ってみよう。

重回帰係数のテーブルを埋め、単純な重回帰係数との違いを議論しよう。

NMR

ML(-0.17)AE

CH3

-0.568

CH2

-0.235

CH

-0.174

OH

1.688

O

1.506

C:O

1.807

メールの書き方講座