非プログラマーのためのインフォマティクス入門。(仮)

非プログラマーがインフォマティクスについて勉強したことを記録します。主にKNIMEというソフトを使用しています。

非プログラマーのためのインフォマティクス入門。(仮)

【メドケム】KNIMEでリガンド効率を計算するよ 〜言い換えれば、ただの四則演算〜

 今回は四則演算の題材としてLE(Ligand Efficiency, リガンド効率)の計算をしてみます。もはや説明の必要もないかもしれませんが、ざっくりと言えば、

"水素以外の原子1つ1つが、どのくらい頑張って活性に貢献してるの?"

みたいな感じでしょうか。ずいぶん前に提唱された指標ですが、わかりやすいし私は嫌いじゃないです。

 

定義式としては

非水素原子数(HA)あたりの結合のギブス自由エネルギー

f:id:sumtat:20170807222426p:plain

です。

続きを読む

KNIMEで構造検索をしよう

 今回は読み込んだsdfの構造式に対して、絞り込みを行う方法を紹介します。

 

f:id:sumtat:20170803232503p:plain

 

 全体像としてはこんな感じ↑です。構造で絞り込む処理をするノードはいくつかありますが、今回はIndigo2のSubstructure Matcherを使います。これは私の単なる好みです。ほとんど同じような設定・使い方のRDKit Molecule Substructure Filterや、描画ツールが立ち上がりながら設定できるCDKのSubstructure Searchなどなど、自分の好みが見つかると良いと思います。

 さらに今回はおまけとしてMarvinSketchノード、Table Creatorノード、RowIDノードも盛り込んでいきます。Joinerは過去記事を参考にして下さい。

続きを読む

【KNIME】ノード紹介:Value Counter 〜重複データを探せ〜

 今回は指定したカラムの中に重複するデータがあるのか無いのか簡単に分かるノードValue Counterを紹介します。繋ぐだけの簡単ノードなので、おまけ活用例もあわせて紹介しますね。

 それでは、webに転がっていたデータを一部改変したものを使って進めていきます。

f:id:sumtat:20170805221129p:plain

名前と連絡先が入ってますね。この中から連絡先に重複があるかどうか確認します。

続きを読む

【KNIME】ノード紹介:Regex Split 〜文字列を分割したい part 2〜

 以前に"区切り文字(列)を指定して、文字列を分割するノード"であるcell splitterについて紹介しました。

【KNIME】ノード紹介:cell splitter 〜文字列を分割したい〜

今回は、これの第二弾です!。前回のColumn Rename (Regex)を紹介記事を書きながら、セットで紹介しようと思ったのがRegex Splitノードです。

 

Regex Split

 正規表現を活用しながら、文字列を分割するノードです。

f:id:sumtat:20170804213009p:plain

 いつかの例を紹介してみます。

 

続きを読む

【KNIME】ノード紹介:Column Rename 〜カラム名を変更したい〜

 今回はカラム名を変えたいときにどうするか?というお話です。後から気が変わったり、KNIMEの仕様で勝手にカラム名を決められたり、様々な理由で変更したくなるタイミングがあると思います。下の例を参考にして、操作の方法を紹介します。

f:id:sumtat:20170731180014p:plain

*このテーブルができるまでの流れについては

【KNIME】ノード紹介:Transpose, Pivoting 〜表(table)の縦と横(行と列)を入れ替えたい〜

をご覧下さい。

 

Column Rename

もう、本当に名前のままのノードがあります。早速設定の内容をみちゃいましょうね。

f:id:sumtat:20170802161438p:plain

 特に難しいところはないと思います。Column Renameの入口▶︎に、カラム名を変えたいデータを繋いで、設定画面を開きます(ダブルクリック or configure...) 。画面左側に、流れてきたデータのカラム名が表示されているので、変更したいものをダブルクリックして下さい。最初は空欄だった右側に設定画面が増えます(左のリストは太字になります)。新しく右側に出た画面のChangeにチェックをいれて、新しいカラム名を入力します。また同時に、カラムの属性もプルダウンで指定可能です。

 apply-OKして実行すると次のようになります。

f:id:sumtat:20170802161956p:plain

 ばっちりですね。これだけだとおもしろくないので、"正規表現を使ってカラム名を変更する"方法についても紹介したいと思います。

続きを読む

KNIMEでChemdrawファイルを読みたい 〜 Chemical Structures File Reader〜

以前にsdfの読み方を紹介しました。 

 

 『構造式の入ったファイルありますか?』 

→『cdxなら有るんだけど…。』

 

 みたいなことを言われるパターンもあるんですよね。該当ファイルが1つ2つなら、手動で開いてsdfとして保存し直す。これでいいんですが、もっと沢山あるとやる気が失せます。複数ファイルを一括で読む方法は置いておいて、

 【なんとかchemdrawファイルは読めないのかね?】ということです。

はい、読めます。

 Erlwood nodeのChemical Structures File Readerを使うと読めるんです。難しい設定はありませんが、1つのcdxに複数の構造が含まれる場合、それぞれを単一の化合物として扱うには、4つくらいノードを繋げる必要があります。今回はこれを紹介します。

f:id:sumtat:20170801221912p:plain

 

続きを読む

【KNIME】ノード紹介:Transpose, Pivoting 〜表(table)の縦と横(行と列)を入れ替えたい〜

 表の行と列を入れかえたいよーということ、ありませんか?ちなみにエクセルでは

  1. 表をコピーする
  2. "形式を選択して貼り付け"を選ぶ
  3. "行列を入れ替える"にチェックをいれてOK

こんな感じでできます(私は他のやり方は知らん)。

ではKNIMEではどうやるのでしょう?

はい、ノード1個で終わりますよ!

 

Transpose

特に設定も不要です。Transposeノードをつなげれば縦横が入れ替わりますよ!

f:id:sumtat:20170731162123p:plain 地味です。そしてあんまり面白くないですね。ポジティブに言えば"とても簡単"ですね。そんなに頻繁ではないですが、たまに使います。

 これだけだとあまり面白くないので、pivotテーブルの作り方を紹介します。これも縦横入れ替えの1種ですよね!"エクセルの使い方"みたいなサイトをみていると、「ピボットは神」みたいな扱い受けてる感がある?ような気もするので、お役に立てるのではないかと思います。

 

続きを読む