SDF,SMILESなどのファイルから2次元描写のExcelファイルを作る話

現在留学中のETHでは,Virtual Library関係の仕事をしています.

この辺の分野はそこまで新規性は高くないかもしれませんが,オリジナリティの高い骨格形成反応があるグループにはポテンシャルの最大化に繋がると思います.

そんなわけで大量の構造式ファイルを扱っているのですが,原料の外注などで外部とやりとりする時にはExcelシートの方が好まれることもあるかと思います.(実際うちのボスはChemoinfo分野は素人なので,このようなオーダーが入りしました.)

プロジェクトの開始期だとデータベースや管理システムがフローとして定まっていないので,SDFだったりSMILESだったりと異なるファイル形式で分散してしまったりしますよね(←今の私のことです)

そんな時,SchrödingerのMaestroにもSMILESにも慣れていないボスがエクセルにまとめてくれと無茶振りしてきました.

そんな暇じゃねー...

というわけで,ファイル形式によらずにとりあえずSpreadSheetを作るWorkFlowを探していたらズバリを発見しました.

https://forum.knime.com/t/images-in-excel/7409

このWorkFlowを使うことで,SDFファイルがExcelに化合物ごとに2Dでエクスポートされます.しかしググれば似たような悩みを持つ人はいるものですね.

f:id:keetane:20190629004130p:plain

Render To ImageのNodeはConfigurationからRendererをCanvas 2に変更することで,3D描画が2D描画になります.Canvas 2が走るせいか非常に重たくなるのが欠点ではありますが,例えばLigPrep後のSDFファイルは3D情報を含んでいるため,そのままImageにすると3Dで非常に見にくく,オススメできません.

f:id:keetane:20190629003114p:plain

さて,同じノリでExcel上のSMILES Codeを2D描画にしてみましょう.

OpenBabelというNodeがメジャーで使いやすいらしいのですが,Macでは動かないと表示されるので諦めました.ここでは新たにMolecule Type CastというNodeを使います.Work Flowはこんな感じ.

f:id:keetane:20190629004611p:plain

NodeのConfigurationから該当するカラムとファイル形式を選んで,あとは先ほどと同じようにRendererに流します.ついでにRDKitを通してSDFに変換しておくと,そのままMaestroに読み込めて少し便利です.(アラートがたつ理由がよくわかりませんが)

 

こんな感じで異なるファイル形式で分散した構造情報をなんとかエクセルに描画することが出来ました.ケモインフォを始めたい人にはKNIMEは結構簡単なのでオススメです.