・Table Creator
・先日、Tile Viewで情報を見やすく成型したが、構造情報をうまく表示することができなかった。 ・Tile Viewは対応するセルの情報をカードに出力してくれるのだから、画像データをそのまま渡せばよいのでは?と思って調べたところ、SMILESの構造情報を画像と…
・化合物情報などを扱う際に、列名が冗長化したりして、視認性が悪くなる場合がある。そこで、冗長なところを纏めつつ、表をTile Viewで視認性良く表示するワークフローを作成した。 ・入力データは以下の表(化合物のID、分子量、IC50(_等号・不等号、_値…
・全角と半角が混在している文字列があったとする。 ・表記の揺れは小さい方が良いので、KNIMEでこの揺れを半角か全角のどちらかに揃えたいと思ったのだが、やっぱりやり方が分からなかった。 ・そこで、Python Scriptノードを使って、Pythonで実装してみた…
・化合物の活性情報を弄っていると、単位がmMやμmol/L、mg/Lなど揃っていないことがある。このままでは比較するのに不便なので、単位を揃えるワークフローを組んでみた。 ・サンプルデータは以下。ここまでバラバラなことはまずないと思うが、これが一つの単…
・例えば、学習データでにNormalizeを施してモデルを構築した場合に、テストデータをモデルに適用する前に学習データと同じNormalizeを施したいとする。 ・どうすればよいかと調べてみると、Normalizer (Apply)というノードがあった。サンプルのワークフロー…
・KNIMEでいろいろ扱っていると、特定の条件を満たすセルのデータを消したくなることがある。例えば、数値データばかりのところに、よくわからないアルファベットを含む文字列が混ざっている場合など。 ・こういう場合、文字列を含むセルをmissingにしたいが…
・先日、化学構造からMordredを用いてDescriptorをたくさん算出した。 ・1600を超えるDescriptorを提示いただけたが、エラーが生じているものも少なくなかった。そこで、エラーが生じた記述子列を除去するワークフローを考えてみた(下図)。 ・ここでいうエ…
・先日、化合物の記述子をRDKitを使って算出した。この方法で、記述子を100個強得ることができたが、もっと得たい。 ・Pythonも含めて調べてみると、mordredというライブラリを利用するのが良さそうだった。mordredに関しては、以下を参照。 github.com ・ま…
・分子の性質を語るために、計算科学的に算出される指標のことを、記述子(Descriptor)と呼ぶ。このDescriptorにはいろいろな種類があり、ケモインフォマティクスの分野では必要に応じていろいろ使い分けられている。 ・KNIMEで化合物の構造情報を扱ってい…
・文字列を固定長の別々の列に分けたいことがあった。 ・やることはCell Splitterとほぼ同じなので、Cell Splitterで調べてみると、Cell Splitter By Positionなるノードがあった。如何にもこれっぽい。 ・このノードは、①区切る文字の隙間の番号と②区切った…
・表中の何らかの数値を基準として、表を分割したいことがあるとする。そんな時には、Rule-based Row Splitterノードが便利。 ・ワークフローを組んでみた(下図)。 ・Rule-based Row Splitterノードの設定は以下の通り。 ・ちなみに、Rule-based Row Filte…
・Missing ValueのあるTableを処理する際に、何らかの方法でこの穴に対処する必要がある(例えば以下のTable)。 ・数値が何等か予想できるのであれば予測値で埋めることもできると思う。群内の欠損地であれば、平均値や中央値で補うこともあるかもしれない…
・諸般の事情で、化合物のChEMBL IDのリストと活性情報が手に入ったが、構造情報が付与されていなかったとする。 ・化合物数が10や20なら個別に構造を検索しても問題ないだろうが、それが数十、数百にもなるといよいよ面倒になってくる。 ・そこで、ChEMBLの…
・諸般の事情で、別々のセルに分かれている文字列をセミコロン区切りで一つにまとめ上げたいケースがあった。 ・以下の例でいえば、それぞれの行に対して、「A;B;C」と「あ;い;う」という列をまとめた列を作成するイメージ。 ・なんとなく、ノード検索で"com…
・表の行に含まれている特定の値(文字列や数値)の数を数えたかった。 ・調べたところ、それらしい答えが見つかったので、メモしておく。 ・真似したのは以下の記事。 forum.knime.com ・以下、組んだワークフローの例(元記事と全く同じ) ・工程は以下の…
・KNIMEで解析をしていて、列の数値または行の数値を集計したいことがあった。 ・それぞれに使うノードが異なるので、メモしておく(下図)。 ・列のデータを足す場合はGroupByを使う(以下設定)。ワイルドカードですべての列を選択し、処理にSumを設定。 …
・ワークフローを作成している際に、表から列名を基準に列を抽出したい場面があった。 ・これまでは、Extract Column Headerで列名を抽出してCreate Collection Columnで列名を纏め、variableに変換し、Column Filterでvariableを指標に列を抽出していたが、…
・KNIMEで分子生物学的なワークフローを構築しようと思ったが、いまひとつしっくりこない。翻訳ワークフローのように、頑張って組むのも不可能ではなさそうだが、何とかならないか。 ・pythonで何とかなりそうなので、pythonを入れ込んでバイオしてみた。 ・…
・生存時間を評価する手法として、Kaplan-Meier法という手法がある。これは、生存率曲線を描くことで、生存時間(期間)を推定する手法。 ・2群間の生存時間を比較する統計手法としてよく用いられるのは、ログランク検定と一般化Wilcoxon検定だろう。Cox比例…
・散布図はcolor managerノードで簡単に色を付けることができたが、棒グラフ(Bat Chart)のカラムに色を付ける方法が分からなかった。 ・少し癖があったので、メモしておく。 ・以下のようなフローを組んだ。 ・左のウィンドウはTable Creatorの中身。各列…
・先日KNIMEでk-meansクラスタリングなどを実施してみた。k-meansクラスタリングの特徴は、プロットした空間中で中心から距離をベースに考えるところで、要は2次元グラフ上なら丸く分布していないと綺麗に分けることができない。 ・歪んだ分布の場合、Spectr…
・酵素反応速度論的解析をする際に、モデルの式に数値を当てはめてパラメータを推定するcurve fittingをやりたかったのだけれど、KNIMEでのやり方が分からなかった。 ・Pythonなら出来そうだったので、KNIMEにPythonを入れ込んで、サンプルデータのfittingを…
・数値データを解析する際に、複数の特徴量を使う場合、単位の違いが問題になることがある。Random Forestなどの決定木系の手法ではそれほど問題にならないかも知れないが、その他多くの場合では何らかの手法でNormalizationされることが多い。 ・KNIMEでNor…
・KNIMEにはデータ分析に関連する様々な機能が搭載されており、Extensionを用いることにより、PythonやRなどを動かすこともできる。 ・少し解析をやっていて、Pythonを回したいシチュエーションに出くわした。それならPythonだけで十分じゃないかという話は…
・データ処理の不備で、同じ項目が複数混ざってしまうことがある。 ・そのような場合は、項目の行を削除するなどする必要がある。 ・そのような場合は、Duplicate Row Filterノードが便利。 ・例えば、同じ生徒が複数回含まれてしまっている表から、被ってい…
・機械学習で多変量を扱う際に、変量(特徴量)を減らしたいことがある。 ・Uncle Bernie's ruleというもので、学習に必要なデータの数は、説明変数の数の10倍以上は準備しましょうというもので、いたずらに特徴量や説明変数を増やしてモデルするのはよろし…
・KNIMEでデータからモデルを作成する際に、データ全体ではなく、その一部からピックアップして使いたくなることがある。 ・例えば、「100行ある表から、30行だけピックアップして何らかの解析に使いたい」、「被りありで50行ピックアップしたい」、「分類問…
・クラスタリングの手法として、密度を基準に、ぎゅっと集まっているところを一つのクラスタ、疎なところを外れ値として解釈するDBSCANという手法がある。 ・ざっくりと組んでみた(下図)。これもデータ間の距離を算出してやる必要があるので、Numeric Dist…
・これまでは非階層型クラスタリングを試していたが、今回は階層型クラスタリングを試してみたい。 ・試しに組んでみた(下図)。 ・階層型クラスタリングといえば、デンドログラム(樹形図)での表示だと思う。 ・Hierarchical Clusteringのノードを右クリ…
・データを処理していると、行を複製したくなることがあった。 ・行を複製するOne Row To Manyというノードがあったので、記載する。 ・このノードは、表中の整数データの入った列の数値の数だけ行を複製する機能がある(下図)。 ・左が入力テーブル、真ん…