もしも計算化学プログラム自体にミスがあったら、、、

Share This:

計算化学者は、Developper と User の大きく二つのグループに分けられると思います。

計算化学 User の人には、実験化学者の人も多く、計算化学ソフトウェアをブラックボックス的な感じで使っている人も多く、具体的にどのようなアルゴリズムで計算が行われているのかを知らないと思います。彼らの計算は、市販の計算プログラムが正しいという前提に基づいて行われています。

しかし、もしも計算化学ソフト自体に間違いがあった場合、ユーザーはそれに気付けるのでしょうか?

先日、発表されたフッ素 NMR の論文に非常に面白い記述がありました。
Orca の NMR 計算のプログラムにバグがあったと。。。

今回は、実際にあった計算化学ソフトの間違いについての論文をご紹介します。
“Structural Assignment of Fluorocyclobutenes by 19F NMR Spectroscopy – Comparison of Calculated 19F NMR Shielding Constants with Experimental 19F NMR Shifts”
Kateřina Kučnirová Ondřej Šimůnek, Markéta Rybáčková & Jaroslav Kvíčala

元論文: Eur. J. Org. Chem. 2018, 3867-3874. DOI10.1002/ejoc.201800482
修正稿: Eur. J. Org. Chem. 2018, 3875–3877. DOI: 10.1002/ejoc.201801119

はじめに

計算化学のソフトとしては、Gaussian が圧倒的に有名だと思いますが、その他にも Orca, Q-Chem, GAMESS など数多くのソフトウェアがあります。Gaussian が非常に多くのユーザーに使われているというのは、Gaussian がもっとも優れているからというわけではありません。

多くの機能が一つにまとまっていること、そして猿でも使えるくらい簡単なインターフェースであること、などの理由で Gaussian が広まっているのだと思います。

今回の論文では Orca が使われています。ご存知ない方のために最初に申し上げておきますが、Orca も非常に有名で優れたソフトウェアです。

概要

元論文

最適化された方法で perfluorocyclobutene を LiAlH_4 で還元すると、目的とする 3,3,4,4-fluorocyclobut-1-ene を定量的に得ることができます。一方で、最適化されていない還元方法では、フルオロシクロブテンの複雑な分離不能な混合物が得られます。そのため、我々は ^{19} F NMR 計算を行いました。驚くべきことに、昔から使われている方法や最新の汎関数の両方で、実験値と相関しない非常に多様な結果が得られました。対照的に ORCA の domain-based local pair natural orbital coupled clusters (DLPNO-CCSD) method を用いて計算したところ、系統的なエラーはあるものの、帰属するのに十分な精度の結果が得られました。さらに、特別に調整された IGLO-III 基底関数を使用することによってより良い結果が得られました。開発された方法は、未知の fluorocyclobutene の ^{19} F NMR シフトの帰属で良い結果を与えました。

しかし、修正稿では abstract の前にこのような注意書きがついています。

この論文の出版直後に、著者らは ORCA の開発者から domain-based local pair natural orbital coupled clusters (DLPNO-CCSD) method を用いたNMR計算に重大な問題があると知らされた。本論文の NMR 計算に使用された Orca ver 4.0.0 は EPR-NMR ブロックを含み、NMR の遮蔽についての計算が可能であるはずだったが、実は CCSD 二次微分項を含んでいなかったため、Hartree-Fock(HF)常磁性遮蔽 (paramagnetic shielding) しか含まない!なぜなら 19F NMR スペクトルでは常磁性遮蔽が大きいため、本論文の全ての DLPNO-CCSD 化学遮蔽は誤りです。

そして、abstract は以下の様に修正されました。

修正稿

最適化された方法で perfluorocyclobutene を LiAlH_4 で還元すると、目的とする 3,3,4,4-fluorocyclobut-1-ene を定量的に得ることができます。一方で、最適化されていない還元方法では、フルオロシクロブテンの複雑な分離不能な混合物が得られます。これらの混合物は非常に複雑な^{19} F NMR スペクトルを示し、その帰属は非常に困難です。したがって、本論文では一連の^{19} F NMR 磁気シールド計算を行いました。驚くべきことに、昔から使われている方法や最新の汎関数の両方で、実験値と相関しない非常に多様な結果が得られました。対照的に、Hartree-Fock(HF)法では、いくつかの系統的な誤差がありますが、観測された全ての構造のアサインを可能にする遮蔽値を与えた。さらに、特別に調整された IGLO-III 基底関数を使用することによってより良い結果が得られました。開発された方法は、未知の fluorocyclobutene の^{19} F NMR シフトの帰属で良い結果を与えました。

雑感

論文を出した直後にこういう事実がわかったのは、不幸中の幸いだったと言って良いでしょう。ORCA が論文をチェックしていて間違いが明らかになったのか、著者らが問い合わせて間違いが明らかになったのかは不明ですが。もし、もっとマイナーな journal に投稿していたらどうなっていたんでしょうか。。。

どの研究分野でも、自分ではどうしようもないミスがあります(微量金属が混入していて反応が進行した例など。参考文献 1, 2 )。今回の例も、もし自分に起こったらどうしよう、、、と背筋がゾクゾクする話でした。

 

ちなみに、論文の一番最後に

2 comments

  1. 計算化学.com 管理人さま

    私は、去年までORCAチームでDLPNO-CCSD法の開発に携わっていた者です。
    件の論文ですが、私が偶然発見し、ORCAチームに報告しました。

    記事のタイトルからは、ORCAに深刻なバグがあった事により、著者らが被害を被った
    というような印象を受けました。
    これについて開発者の立場から、意見を述べさせて頂ければ、と思います。

    ORCA 4.0.0には、そもそもDLPNO-CCSD法による化学シフト計算は一切、実装されておりません。
    故に、これはプログラムのバグではなく、著者らが開発者の想定外の使い方をした例と、私は認識しています。

    著者らは単に、DLPNO-CCSDキーワードと、化学シフト計算のキーワードを盲目的に
    インプットファイル記入し、出て来た値を報告したのでしょう。
    ただORCAにはマニュアルもありますし、実装済みの機能は全て、詳細に明記されています。
    マニュアルを読んでも対処できない問題が発生した場合であっても、ORCAフォーラムで質問すれば、数時間以内に何らかのレスポンスがあります。

    また、もしもDLPNO-CCSD法による化学シフト計算のプログラム実装が既に完成しているのであれば、
    その理論開発に関する論文が既に出版されているはずです。従って、マニュアルを見れば、間違いなく適切なリファレンスが載っています。

    私の個人的な意見ですが、著者らが取扱説明書に少しでも目を通すか、あるいはフォーラムで質問していたのであれば、そもそも、出版後に訂正をする必要はなかったと考えています。

    量子化学計算パッケージを、一種の測定装置と捉えると解りやすいと思うのですが、使う前に取扱説明書に目を通すくらいは是非、して頂きたかったと思います。またORCAはアカデミックユーザーには無償で提供されているソフトですので、あらゆる場合に正しい値を与える事が保証されている訳ではそもそもありません。

    理論・計算の非専門家の方々にとっては、必ずしも容易ではないかも知れませんが、自分の論文に載せる理論値が理論値として適切かどうかくらいは、もう少し慎重に確認して頂きたかったと思います。

    齋藤 雅明

    1. 齋藤様

      コメントありがとうございます。
      私も内容について誤解しておりました。丁寧な解説ありがとうございます。
      ご指摘の点については、後日記事中に追記しておきます。
      私自身も量子化学計算パッケージを使用する際や、計算化学についての記事を書く際には、もっと慎重になろうと改めて思いました。
      今後とも、もし記事に誤りなどがありましたら、コメント欄でご指摘いただければと思います。

      追伸
      長文コメントの場合、自動的にスパムに振り分けられてしまうため、コメント承認まで時間がかかってしまう場合があります。今回もコメントをいただいてから承認まで二週間もかかってしまい申し訳ありませんでした。

コメントを残す(投稿者名のみ必須)