中田真秀(なかたまほ)のブログ

研究について、日常について、その他。

IUPAC名の日本名が正しいかどうかの判定を行う方法

2016-04-07 11:11:11 | 日記
IUPAC名の日本語名が正しいかどうかの判定を行う方法について書いてみる。ただ、完全な方法ではなく、簡単なチェックするということである。
ケアレスミスをチェックしたい場合、大量の分子の正誤判定を行う場合に有効であると考えられる。
方針は、
日本語を機械翻訳にかけ、英語のIUPAC名を得る。それをopsinにかけて、parserが通りSMILESが表示されれば、
IUPAC名としての正しいとする。
である。

1.
日本語名をGoogle translationにかけ、英語名を出す
それをopsin(http://opsin.ch.cam.ac.uk/)にかける

2.
LinuxやMacで
$ wget https://bitbucket.org/dan2097/opsin/downloads/opsin-2.1.0-jar-with-dependencies.jar
でopsin入手

3.
$ java -jar opsin-2.1.0-jar-with-dependencies.jar
Run the jar using the -h flag for help. Enter a chemical name to begin:
Pentane-3-one
CCC(CC)=O

成功!

4.
$ java -jar opsin-2.1.0-jar-with-dependencies.jar
Run the jar using the -h flag for help. Enter a chemical name to begin:
pentane-3-okee
pentane-3-okee is unparsable due to the following being uninterpretable: 3-okee The following was not parseable: okee

失敗!

となる。


5. ここで起こると考えられるミスを列挙してみる
* 日英翻訳がミスする。
  Google翻訳は完全ではなく、5'-フェニル-m-テルフェニル-2'-オールを翻訳すると
  5'-phenyl -m- terphenyl-2'-All
  (ただしくは5'-phenyl-m-terphenyl-2'-olである)
  となるので注意。
* ほしいIUPAC規格とOPSINのIUPAC対応が不完全の場合
* SMILESがIUPAC名から得られない場合。

少しは手で直さないとダメっぽいが、1万分子チェックしたいとかの場合、簡単なチェックとしてはたいへん有力であろう。