今回はSignals Notebookを使ってIASOの試薬データベースを構造検索できるようにしてみたので、その方法をご紹介します。
(IASO以外のデータベースを使っていても、そのデータベースから化合物のcas番号のリストをダウンロードできれば同じことができます!)
シリーズ一覧
電子実験ノートSignals Notebookを紹介します ①
電子実験ノートSignals Notebookを紹介します ②
試薬を取り扱う研究室であれば、「試薬管理システム」を使っていると思いますが、皆さんはどの試薬管理システムを使っているでしょうか?
アカデミアでは、比較的コストが安い「IASO」を大学で契約しているという所も少なくないのではないでしょうか。しかし残念なことにIASOには構造式情報がなく、自分の研究室のInventoryにどのような試薬やビルディングブロックがあるかということが把握しづらいです。棚ごとに試薬を分類してある程度類似のビルディングブロックをまとめて保管することはできますが、複数の特徴を持つ化合物はどの棚に入れるか?という問題が出てくるため、結局完璧な管理方法にはなりません。
上記リンクの最近使われている試薬管理システムは構造検索もできて便利なものがありますが、とあるシステムに問い合わせると1ラボ単位で年間〇〇◯万円!?(値段は伏せますが)、とても大学や研究室単位で契約できる値段ではありませんでした。
そこで、IASOに登録されている化合物のデータを効率よく構造情報化して、「Signals Notebook(Standard Edition)」を使って検索できるようにしてみたので、その過程をご紹介しようと思います!
1. IASOから登録試薬のリストを.csvで書き出す
1-1. IASO R7にログインし、Data Manager → 在庫リスト → 検索対象は特に選択せず全てのままLISTを選択
1-2. 在庫リストの全てのチェックボックスにチェックを入れてダウンロード
試薬情報がまとまったcsvファイルが手に入る。
2. ChemCell(フリーソフト)でCAS番号をSMILESに変換
2-1. ChemCell(GitHub)のCode → Zip DownloadでChemCell(マクロ入り.xls)を入手します。
2-2. ChemCellを開きマクロを有効に。
2-3. 先程IASOからダウンロードした.csvファイルをexcelで開き、CAS No.と容量の列をコピーしてChemCellの適当なシートのB,C列にペーストする。「内容量」は「Amount」などに書き換えておく。
2-4. A1 cellに「Structure」、A2 cellに=getSMILES(B2)と入力(B2 = CAS番号のcell)
2-5. A列のD2からデータがあるセルまで全てを選択
(C1にカーソルを持っていき、[Ctrl+↓]で一番下に飛ぶので、Aの一番下のcellにカーソルをあわせて[Ctrl+Shift+↑]で一挙に選択できる)
2-6. [Ctrl+D]で全てのCAS番号を一挙にSMILESに変換
ここでデータ数によるが、2600件程度だと大体25~30分程度かかりました。CPUのマルチコア性能に依存します。
2-7. ここで一旦名前を付けてマクロ有効ブックで保存。マクロを無効にした通常の.xlsxファイルでも保存しておくとよい(後述)。
2. (追記) SMILESをPythonで取得する方法
先日(2024/03/22)行われたSignals Notebookのユーザーミーティングで講演させて頂きました。
実は、上記のChemCellを使う方法は誰にでもできる簡単な手法である反面、PCのメモリをだいぶ食ってしまうのと、変換精度が完璧ではない(excel上でエラーも含む)ので、ヒット率が9割を下回る結果でした。そこで、以下のサイトを参考に、pythonを使ってCAS番号をSMILESに変換する方法を確立しました。
【動作を確認した開発環境】 Windows: Python 3.12.2、pubchempy 1.0.4, Mac: Python 3.11.8、pubchempy 1.0.4
メリットとしては、SMILESへの変換精度がよいです。約95%の試薬が一括変換できました。また、PCのメモリを圧迫せず、1時間程度で2400化合物ほどの変換処理を完了しました。
ここに書くとだいぶ長いですので、Webサーバーにアップロードした講演資料とマニュアルをご参照ください。
※Python素人が公開されている方法を使って作成したものですので、もっと効率の良い方法はあると思います。もし詳しい方でコメントがあれば、ぜひご連絡いただければと思います。
3. ChemDraw for ExcelでSMILESを構造式に変換
3-1. シートをChem Office worksheetに変換する。
3-2. 生成したSMILESを全選択し、ConvertからConvert SMILES to Structure
(ここは結構さっくり、2,3分で終わりました。もともとSMILESに変換しそびれていた83個のセルは正常に変換できませんでしたと言われました。CAS to SMILESの問題です。)
3-3. 構造式に変換できなかったCellのみデータを消去したい。A2 cellにカーソルをあわせて[Ctrl+Shift+↓]でA2以下のcellを全選択し、右クリック → 値と数式のクリアによって構造情報のみを残す。
4. SDファイル(.sdf)で書き出してSignals NotebookのMaterialsに一括登録
4-1. SDファイルで書き出す際に、A2 cellに構造が入っていないとエラーになり書き出せないので、はじめに構造が出てくるcellまで空行を消去する。
4-2. Inport/Export → Export Table → 名前を付けて.sdfで保存
4-3. Signals NotebookのMaterialsに.sdfを読み込む。Materials内のReagents (SNB)(※)を選択して、右上のAdd NewからBulk Import Compoundsで.sdfファイルを読み込みます。
※Materialsは初期設定ではONになっていないので、System Configurationで設定する必要がある。長くなるのでこちらは次回!
5. 実際に検索してみると・・・
例えば、名前検索で「ベンジルアルコール構造」を部分構造にもつ化合物を検索しようと思ってもなかなか難しいはず。ベンジルアルコールの構造を描きSubstructure Searchをし、検索範囲をMaterialsに絞り込むとこの通り。ベンジルアルコール構造を持つものだけがヒットしました。
ただし、今回の方法では、CAS to SMILESが100%の精度ではないため、完璧な構造データベースへの移行はできていません。構造式が入らなかった化合物は、ChemOffice Worksheetに変換する前の状態で名前を付けて保存しておいた.xlsxファイルを開けば確認可能。マクロ有効ブックやChemOffice Worksheetはデータ量が多く重いので、データ量を減らしたsheetで確認する方がよい。
現状では、IUPAC名を出してくれないIASOではCAS to Structureしか構造式に一括変換する手法は存在しないため、変換漏れしたものは手作業で入力するしかない。
なにか良い方法を知っている人がいればご連絡いただければ非常に助かります!
6. 継続的なデータベースの更新方法
IASOでData Managerを開き、登録薬品リストをクリック。集計期間を指定してLISTを押すと、その期間中に登録された試薬を集計できます。
ダウンロードボタンでcsvファイルをダウンロードできます。
Signals Notebookの設定は次回記事で!
関連リンク
電子ノートSignals Notebookを紹介します!①、②、③