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

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

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

【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種ですよね!"エクセルの使い方"みたいなサイトをみていると、「ピボットは神」みたいな扱い受けてる感がある?ような気もするので、お役に立てるのではないかと思います。

 

続きを読む

エクセルファイルに構造式を入れたい

 エクセルは便利ですし、市民権も獲得していて、データのちょっとした共有などによく使われます(少なくとも私の周りの環境では)。

 でも、エクセルで構造式入りのファイルをつくるとなると「純手作業」では結構めんどくさいですよ(ハイパーコピペモード突入)。またexcelのアドインを使ってsdfを読み込んで表示する方法もありますが、重くなるし、動作もやや不安定だったりします。(chem officeのアドインを使う場合が私の周りでは多いようです。他に簡単な方法はあるんですかね?)

 

 そんな時は、私は構造式をKNIME上でpng形式にしてtableに埋め込んで、エクセルファイルを書き出しています。

f:id:sumtat:20170730162547p:plain

 画像ファイルですので、もちろん構造情報は視覚的なものとしての意味しか成しません。それでも意外と需要があります(…本当はsdfでそのまま渡したいのだけど)。KNIMEではファイルの書き出し前に、たった1つのノードを追加するだけで実現可能です。あまり研究の役に立つとは思いませんが、紹介していきます。

 

続きを読む

【KNIME】ノード紹介:String Manipulation 〜文字列変換の万能選手〜

今回は下のようなデータに対し、年齢データのおしりに「歳」をつけたり、会員番号のハイフンを@に変えたりしてみます。

f:id:sumtat:20170729222304p:plain String Manipulation

文字列に対して、何か処理を施したい。そんなときは俺に任せろ的なノードです。かなり色んなことができます。めちゃくちゃよく使うノードです!

早速設定を見ていきましょう。

f:id:sumtat:20170730145503p:plain

続きを読む

【KNIME】ノード紹介:GroupBy 〜同じものをひとまとめに〜

前回までにcell splitterを使って、セルの中身を縦・横にぶった切る方法を紹介しました。

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

【KNIME】ノード紹介:cell splitterとUngroupのコラボ 〜文字列を縦方向に分割したい〜

予告通り、今回はバラバラにしたものを元の形に戻す方法を紹介したいと思います。

…KNIME内の処理は、最初のデータを上書きして消しているわけではないので作業自体に意味はないです。でも、子供の頃とかいろんな玩具や機械を分解したことありませんか?その時に、もう一度組み直すことができるとなんとなく仕組みがわかった気が私はしました。やっぱり綺麗なデータを準備するには、tableの中身を自在に扱えた方がいいと思います。なので、【バラす】【まとめる】を続けて紹介したいなーと感じ今回の題材を選びました。

例題では、前回のデータの名前(年齢も重複ですが)が重複するものをまとめて、元の形に戻していきます。

f:id:sumtat:20170728220234p:plain

GroupBy

名前通り、【***でグループにする】処理を実行するノードです。使用頻度は非常に高いです。

早速設定画面を見ていきます。

f:id:sumtat:20170729214906p:plain

続きを読む

【メドケム】KNIMEで構造式を扱おう 〜sdfを読んでみよう〜

 突然ですが、sdfというファイル形式があります。ごく一部のニッチな世界でしか使われていないような気がしますが、筆者は毎日扱うファイル形式です。sdfの説明は、もうchem-stationに丸投げしますね。

www.chem-station.com

 私は化合物を作る方が専門なのですが、構造情報をうまく扱えないと仕事は捗らないです。wetのデータ管理も必要ですし、公共データベースなどの活用・Virtual compoundの発生・文献情報の収集・Fingerprint等からの各種予測などなど、多方面からのアプローチが必要となります。最近ではdeep learningなども盛り上がりっているようで、時代に置いて行かれないように必死なわけです。で、無料だし、GUIだしということで触り始めたのがKNIMEです。

  そんな私が合成研究者レベルでも覚えられたこと、勉強中のことをまとめていこうと思ったわけです。またKNIMEユーザーはあまり国内には多くないのか、あまり情報がないので、ブログをきっかけに誰か詳しい人とか見つかったりしないかなーとかも思ってます。

  chemistry関係の最初はSDF readerにしてみます。やっぱりこれがスタートだと思うので。

f:id:sumtat:20170728230256p:plain

続きを読む