Cytoscapeを使って公共のデータベースからネットワークを作成する②
今回は、同じものを示すにも関わらず異なるものとしてインポートされたものを含むネットワークをマージする方法を調べました。
前回BioGridとStringからそのままネットワークを作成したところこのようになりました。
青、オレンジのノードの塊があるのがわかりますが、実際のところこれは2つともほぼ同じものです。
これでは困るので、これらをマージする方法を調べました。
Cytoscapeのwikiによると、Cytoscape自体の機能としてこれをできるものはなく、外部の信頼できるツールを併用する必要があるそうです。
またCytoscape3の新規の機能としても公式のガイド、チュートリアルをみたところ特に追加されてなさそうです。
以上のことを受けて、BioMartを使ってIDを変換し、それをインポートする方法を調べました(途中)。
BioMartを使ったIDの変換
BioGridから作成した方はentrez geneを、Stringの方はUniprot IDをshared nameに使っているので、まず下記の動画を参考にBioMartを使ってEntrez Gene IDからUniprot IDを取得しました。
http://togotv.dbcls.jp/20120127.html
CytoscapeでStringとBioGridから取得したデータを元にしたネットワークを別々に作成する
→BioGridから作成した方のentrez geneのデータの入ったテキストファイルを作成する
→上記の動画を参考にIDを取得し、保存する
→csvファイルにする
→ネットワークにそのデータを取り込む(ここのマージはshared name名が同じならばCytoscapeの方で勝手にやってくれる)
まで行きました。
最初、txtファイルにしたりcsvファイルにしたりするときに区切り文字の設定をいい加減にしていたらうまくBioMartの方で処理してもらえず詰まりました。
txtファイル時に""やタブが入らず、各IDが行替えのみで区切られるようにしたらうまくいきました。
IDは取得できないものもあるようです(再現性あり)。
Memo
http://wiki.cytoscape.org/Advanced_Network_Merge_and_ID_Mapping: マージの仕方