G3B3計算、エラー対処覚え書き

時間の経過による考え方の変化とは面白いもので、博士課程時に悩んでいた問題の解決法が今になって思い浮かんだ。
アイディアを裏付けるべくG3B3計算を行なっている。
対象はC, N, O合わせて13個+Hのそこそこ大きい分子である。
せいぜい100cpu時間くらい回しておけば計算が終わるだろうと思い、昨晩ジョブを流してから帰宅したのだが、今日来たらエラーが出て止まっていた。

具体的には、最後の方のステップのMP2計算、

#N Geom=AllCheck Guess=TCheck SCRF=Check MP2=Full/GTLarge

で下記のエラーが出て止まる。

Internal consistency failure #1 in GetIJB.


で、ググっても具体的な解決法が出てこない。意外に面倒臭いエラーである。中国語のサイトも結構引っかかるがそれっぽい回答はない(Google翻訳がかなり助けになった)。
ピッツバーグスパコンセンターのQ&A(http://delicate.psc.edu/psc_j15/index.php/gaussian)では「G09_D01からC01に変えれば動くっぽいから昔のバージョン使うといい」という対症療法的な回答をしてたので、こっちでもできるかと思ってC01使おうとしたが、うちの大学では古いバージョンはすでにスパコンから消されていた。


あれこれ悩んでいたのだが、
Fully direct method using O(OVN) memory.
の計算途中でのエラーなのでメモリの量変えればいいんじゃないかと思い、16000 MBに増やしてみたら普通に動いた。

それにしても、最近Gaussian09のエラーを調べていると日本語のサイトより中国語のサイトが多く引っかかるので気になっている。母国語でググって問題解決できる環境ができてきているんだろう。有機化学の反応開発は中国に押されてしまっているが、これから計算化学でも引き離されるんだろうか。反応開発においては労働する人数が多いという中国の強みが生かされただけだと思っていたが、それは思い違いだったのかもしれない。

オスミウム代替試薬

二重結合のジヒドロキシル化は有機合成において重要な反応ということになっているが、立体選択的に酸化するとなると割と面倒臭い。シン付加させる場合、酸化オスミウムや過マンガン酸などの毒性が超絶高い試薬を使わなければいけないので廃液処理・保管が面倒臭い(特にオスミウム)。
ちょっと全合成の論文を読んで遊んでいたら、いまだにオスミウムが現役で使われていた。さすがに2016年にもなってるんだし代替法がないものかとふと思った。
酸素ー酸素単結合を持つ有機化合物を光開裂させてビラジカルを作ってシン付加させる反応ができたら楽だなと思いちょっと調べていたところ、コンセプトは違うがNicholas C. O. Tomkinsonらのグループが2010年にそんな試薬を作って実際にシン付加、及びアンチ付加を実現していた。過カルボン酸の酸化反応と機構は一緒っぽい。

シン付加
http://pubs.acs.org/doi/abs/10.1021/ja1066674

アンチ付加
http://pubs.acs.org/doi/10.1021/acs.orglett.5b02674

芳香環も酸化してしまう (これはビラジカル経由らしい)
http://pubs.acs.org/doi/abs/10.1021/acs.orglett.5b00953


そこそこ基質一般性も高く、使える反応なんじゃなかろうかと思う。若干収率が低いけども。
これは合成とは違う観点から見ても面白そうなので、いじってみたい。

うちの新院生らが忙しそうである

サンクスギビングの休暇が始まり、学内は人がまばらになっている。
これからクリスマス休暇にかけて、学生たちはお休みモードになるんだろう。もちろんうちのラボも。

去年のサンクスギビングは休みに浮かれるというよりも「何も結果がない」という焦りのためか、もはや人生諦めモードで絶望していた。ボスが金を出してる訳ではないからクビを切られることはないのだけど、NMRが調子悪かったり英語が喋れなくなったりして、何も成し遂げずに帰国する覚悟が徐々に固まりつつあった。
今年の1月半ばから運が向いて来たためか、今年は3報分相当の結果が出た。まだ論文の形にして世に出したのは1本だけど。12月中にデータをまとめて投稿できたら嬉しい。基本的に自分の研究はつまらないと思っているけど、今回の結果はうちの学問分野の常識というか前提条件を根本から揺さぶる感じなので面白いと思う。

だが、今年のサンクスギビング休暇の精神状態はどうかというと、いつものことながら絶望している。
2週間ほどかけて得られた計算が非常に魅力的な現象を予測していたのだが、いざ実際に2週間ほどかけて実験してみると、それを支持する結果が得られなかった。取らぬ狸の皮算用でいろいろ妄想していたのでショックが大きい。
あと学部生がラボに来ないので結果が出ないから著者から外すことにした。


何はともあれ、この生活も2周目になった。いろんな変化があった。
ボスがでかい予算を当ててスキップしながらメンバーの居室に飛び込んで自慢しに来た夏の日以降、3人ほど新しく院生が入った。皆それぞれ特徴があり、どんな成果を出すのか今から楽しみにしている。

日本にいた頃は、アメリカの院生はお金を貰っているし羨ましいなと思っていたのだが、実際に彼らの生活を見るとそれほど単純ではないのだなと考えるようになった。彼らは多忙である。
まず、平日はTA業務に忙しい。さらに授業もある。宿題がどっさり出るので毎日夜中まで勉強している。中には自分より遅く帰る院生すらいる。さらに、土日もラボに来て何やら勉強に励んでいる。いつ休んでいるのかよくわからない感じである。今日もラボで会ったし。
だが、勉強にTAに忙しいためか、ほとんど研究は進んでないように見える。あまり研究が進んでないのを見てると、金を払うボスの立場としては「若者への投資」が主な目的なんじゃないかなと感じることがある。何はともあれ、日がな一日研究だけやってればいい自分と比べると立派に見える。
あと、給与も生活できる(+車が維持できる)ギリギリの水準でありそんなに高くないので、TAやらなくて済む上に研究費が100万近くつく学振のDCの方が研究に打ち込めるんじゃないかなと感じる。

皆忙しい上に雑用のやり方を知らないため、なんだかんだで自分が溶媒捨てや試薬の管理など雑用を一手に引き受けてしまってるのだけど、自分も数ヶ月後には任期が切れていなくなるわけだし、そろそろやり方を伝えていかないといけない。彼らの仕事がさらに増えるなあ、と思うなどしている。

DOSYを用いた溶液中分子量測定

ずいぶん前に読んだ論文。重要だなとは思っていたが、忘れかけていたのでせっかくだしここに備忘録としてまとめておく。
DOSYはよく知られている通り、拡散係数の違いを利用してNMRのスペクトルを分離する手法である。拡散係数は分子量や分子の形状によっておおまかに予測できる値なので、逆にこれで溶液中の分子量を見積もってしまおうという手法。元論文はこれ。

Accurate molecular weight determination of small molecules via DOSY-NMR by using external calibration curves with normalized diffusion coefficients
http://pubs.rsc.org/en/Content/ArticleLanding/2015/SC/C5SC00670H#!divAbstract

分子量なんて質量分析器で測れば一発やんけと思うかもしれないが、溶液中で作られた弱い相互作用で繋がってる錯体などは質量分析にかけると壊れてしまう(穏やかに気化・イオン化させるとなると、MALDIとかコールドスプレーイオン化法とかもあるけど)。そんなのもしっかり質量決定できれば、反応溶液中の分子構造がしっかり同定できるというメリットがあり、反応機構解析の進展に大きく寄与する。

で、溶液中で凝集している金属化合物というとリチウム化合物などが広く知られているわけで、特に近年(といってもずいぶん前ではあるが)発表されたKnochel-Houser Baseなんてのは興味がもたれる。筆者らはその解析にも本手法を応用している。

Solution Structures of Hauser Base iPr2NMgCl and Turbo-Hauser Base iPr2NMgCl·LiCl in THF and the Influence of LiCl on the Schlenk-Equilibrium
http://pubs.acs.org/doi/abs/10.1021/jacs.6b00345

自分の研究などにもある程度応用可能なんじゃないかと思って気に留めてたんだが、多分質量分析器で十分だわと書いてて気づいた。将来使うかもしれないのでとりあえず覚えておきたい。

Gaussian09のアウトプットファイルの整形スクリプト

このラボに入ってから最初のまとめ的な論文を書いている。実験系の1本目は先週投稿し、計算主体の2本目がだいたい終わりつつある。あとはSIまとめが主要な作業となる。

論文を書く際にGaussian09のアウトプットファイルを目視して処理するのが面倒だったので、AWKの練習がてら論文に必要な箇所だけ抜き出すスクリプトを書いた。ディレクトリ内の.log拡張子のファイルを全て読み込んでエネルギーや座標もろもろを抜き出してoutputファイルにまとめるだけの簡素なものである。
optオプションを使い構造最適化し、引き続きfreqオプションで振動を確かめるのを前提にしてるので、それ以外の計算結果だと変な挙動を示すかもしれない。例えばfreqオプションのみを使った結果だと、座標を表示しなかったりする。あと、if文のところとか、ファイルの切り取りなどが冗長なので気が向いたら直したい。

計算やってるラボだとこのような簡素なものは皆作れるだろうし、実際に現ボスもこれより優れたものを作って自動化している。だが、自分が実験化学系のラボにいた時にはわざわざスクリプト書いている人がいなかったように思える。皆手作業で処理していたかもしれない。SI作成が面倒な人の参考になったらいいなということで公開してみた。

#!/bin/sh
rm -f output
ls *.log > tempf

cat tempf | while read line
do

echo $line >> output
echo >> output
grep 'SCF Done' $line > temp
awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' temp > temprev
awk '{if (FNR == 1) print $3,$4,$5}' temprev >> output
grep Frequencies $line > temp
awk '{if (FNR == 1 && $1 == "Frequencies" && $3 > 0 && $4 > 0) print "0 imaginary frequency"}' temp >> output
awk '{if (FNR == 1 && $1 == "Frequencies" && $3 < 0 && $4 > 0) print "1 imaginary frequency"}' temp >> output
awk '/Zero-point correction/,/thermal Free Energies/ {print}' $line >> output
echo >> output
awk '/Redundant internal/,/Recover con/ {if (length($1)>20) print}' $line > temp
cat temp | sed 's/,0,/ /g'| sed 's/,/ /g' >> output
echo >>output

done

rm -f temprev
rm -f temp
rm -f tempf
                                                                                                                         

※ご利用は自己責任でお願いします

Vimiumを使い始めた

マウス腱鞘炎が悪化してきてしまい、もうちょっと指に優しい方法でブラウジングすることができればいいなと思っていたのだが、ところで普段からVimを使って作業しているので、Wordで作業している時も:wqで保存しようとしてしまうようになってしまっているような悲しい現状を考慮した結果、Vimiumが割と良さげではないかと思い早速使ってみたところ非常にいい感じであった。

Vimium - Chrome Web Store

再構造最適化せずに高精度計算をかける方法

TS・IRC上でG3やCBS-QB3計算がやりたくなったのだが、単にインプットファイルにG3やCBS-QB3と書いただけでは勝手に最適化されてしまう。

これを防ぐ方法が書かれていたのでメモ。

http://glab.cchem.berkeley.edu/glab/faqs/gaussian_tips.html#G3

 

具体的には、G3計算のMP2レベルからスタートさせるためにそれ以前の構造最適化を済ませたchkファイルを用意して読み込ませればよいらしい。なお、DFTで計算した結果を用いる場合はG3B3にしなければならない模様。

# G3B3(startmp2) Geom=allcheck

と入力したところうまく計算が始まった。