CAS番号やIUPAC名のリストを一括でSMILESに変換する方法【フリーソフト】

2018年12月9日

1つの化合物に対してCAS番号(CAS No.)やIUPAC Nameを入力するとSMILESを出力してくれるサイトは多数ありますが、たくさんのリストになっている場合を1つ1つ入力して変換するのは不可能です。この記事では数千コ単位で含まれる化合物表記のリストをSMILESかInChI Keyに一括変換する方法を紹介します。

ChemCellとは

ChemCellは、Microsoft Excelで化学名やCAS番号をSMILES文字列に変換できるマクロです。変換可能な化合物表記法は以下のものがあります。

  • CAS番号(CAS No.)
  • SMILES
  • InChI Key
  • IUPAC名

ChemCellのダウンロード

ChemCellの「downloading ChemCell」からGitHubのページへ行き、「Clone or Download」→「Download zip」から入手できます。

 

使い方

zipファイルを解凍し、chemcell.xlsを開きます。マクロが有効化されていない場合は、[セキュリティ センター]→[セキュリティ センターの設定]→[マクロの設定] の順にクリックし、マクロを有効化します。あとは変換対象の化合物表記が含まれるセルを指定して、以下の関数を入力するだけです。

=getSMILES()

IUPAC Name、CAS No.からSMILESを出力します。

=getInChIKey()

IUPAC Name、CAS No.、SMILESからInChIKeyを出力します。

実際に変換してみる

試しにベンゼンで実行してみます。PubChemでベンゼンの化合物表記は以下のような記載があります。

IUPAC Name:Benzene
CAS:27271-55-2
SMILES :c1ccccc1
InChIKey:UHOVQNZJYSORNB-UHFFFAOYSA-N

chemcell.xlsでは以下のような出力がされており、正しく変換できています。

ちなみに数千個レベルの化合物のリストを変換する場合は、処理の関係で数十分程度かかりました。

仕組み

https://cactus.nci.nih.gov/chemical/structure/ 「化合物の構造識別子」 / 「出力したい表現」

ChemCellの仕組みは単純で、アメリカ国立がん研究所のオンライン化合物構造表記変換サービス「Chemical Identifier Resolver」を利用しています。Chemical Identifier ResolverではURL中のある部分にIUPAC Name・CAS No.などを入力すると対応する別の構造式表記を返します。正規の国立研究所運営のサービス経由であるためChemCellによる出力結果はある程度信頼して使用できそうです。