supporting informationから座標を読み取る

計算化学では、同じソフトウェア、同じ座標、同じ計算手法を用いれば、理論的には全く同じ結果が得られます。しかし、現実的にはそれは不可能です。
なぜならば、Supporting information(以下SI)だけでは情報が不足しているからです。

SIには座標とエネルギーさえ載せれば良いことになっており、計算に用いたキーワードなどは載せません。

キーワードが多少違ってもエネルギーの相対値はあまり変わらないので問題とはされていません。5d、tightの有無、ultrafineなどなどいちいち確認していられません。

キーワードよりも次元の低い話ですが、座標を読み取るのも実は容易ではありません。いくつかの論文では、SIの座標にはすぐには読み取れないように細工がしてあります。

つい先日、ある論文の計算結果が気になってSIの情報をもとに座標ファイルを作ろうかと思ったのですが、非常に苦労しました。そのとき感じた悪質なSIとその解決法を簡単にまとめます。
※本記事は、Gauss Viewを用いるときの話です。

その1 元素記号ではなく、原子番号!

Gaussi Viewで座標ファイルを保存すると、通常は元素記号で保存されるはず。

例えば、

 C                  0.28994200    0.82718800    0.75765600
 C                  1.46393900    0.66084400    1.39264300
 C                  1.44443100    1.09514500   -1.73793900
 C                  2.29509800   -0.51702000    1.06084000
 C                  2.85675400    0.77955700   -1.10724900
 C                  2.97344900   -0.41859900   -0.18223700
 H                  0.83465000    0.18792700   -1.76778200
 H                  3.20311000    1.65462200   -0.54513600

のように。

でも、計算が出力されるlogファイルでは、

---------------------------------------------------------------------
 Center     Atomic      Atomic             Coordinates (Angstroms)
 Number     Number       Type             X           Y           Z
 ---------------------------------------------------------------------
      1          6           0        0.245403    0.668884    0.715119
      2          6           0        1.399383    0.416233    1.361983
      3          6           0        1.433508    1.059231   -1.705341
      4          6           0        2.218551   -0.769854    0.910144
      5          6           0        2.848195    0.885266   -0.988138
      6          6           0        3.060487   -0.344372   -0.208943
      7          1           0        0.901706    0.108590   -1.715746
      8          1           0        2.897676    1.700911   -0.243594
      9          1           0        1.674083    1.294405   -2.748030

のようになっています。この形式は、拡張子がlogならば開けますが、comだと開けません。よって、gauss viewで開くには①Certer Numberを削除②Atomic Numberを元素名に変更しなくてはなりません。

その2 原子番号と座標が同じ列に無い!

Wordでtext boxを用いてSIを作成している人がいます。その場合、Certer NumberとAtomic Numberをひとつのボックス、XYZ座標をひとつのボックスに入れています。
その場合、Atomic NumberとCenter Numberを同時に選択することが出来ません。
さらに、text boxの幅で自動で改行されるように調製されているため、選択したとしても改行が無い状態で貼付けることになって染まします。

分かりやすく実例を用いて説明しますと、
SI-read上図の座標部分をコピーペーストしようとすると、

1 6 2 1 3 1 4 1 5 6 6 6 7 6 8 6 9 1 10 6 11 6
-1.235795 3.023732 -0.551409 -0.895675 4.015089 -0.237532 -0.898557 2.830893 -1.572653 -2.330216 3.030356 -0.543983 -0.770827 1.963039 0.417830 -0.353724 0.716291 -0.041416 -0.429829 -0.534787 0.766555 0.102706 -1.820583 0.105361 -0.414702 -2.664679 0.576632
1.596161 -1.953163 0.255593 2.405011 -1.675205 -0.772613

このようになってしまいます。
筆者は、macを使っているのですが、macの場合optionを押しながら一列ずつ選択することでこの問題は解決できます。

SI-read2

このように一列のみ選択できます。

筆者はいつも、一列ずつコピーし、excelに張りつけ、最後にterminal上でcomファイルを作成しています。Terminal上で座標ファイルを作成しています。

その3 一行置きに改行が入っている!

Atomic Numberのみ、一行おきに空行が追加されており、座標と行がズレてしまうことがあります。
この場合、Atomic Numberをコピーし、一度text editorに張りつけ、空行を全て除いてからExcelに貼付けた方が良いです。

以上述べたような小細工をクリアすると晴れて座標ファイルを作成することが出来ます。賢い人ならもう気づいたと思いますが、このようなことを手作業でやるのは時間の無駄です。プログラムを作って、簡単に変換できるようにしてしまいましょう!

他の小細工を知っている人は、教えて下さい!コメント待ってます!

Supporting informationの座標を読み取りにくくする、このような無駄なことをするモチベーションがどこから来ているのか、気になりました。

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