Cytoscapeでchemoinformatics

Chemviz2を使い始めたのでメモ

インストール

  • Cytoscapeのサイトから3.xの最新バージョンをダウンロードしてインストール
  • Apps -> App ManagerからChemviz2を探してインストール

使ってみる

pychembldbを使ってノード用の属性ファイルとnetworkファイルを作った。ネットワークはとりあえずランダムにつないでみた。

Cytoscapeを起動して"network.sif"をインポート。続いてテーブルファイルとして"node.csv"をimport プライマリキーはsmilesにする。

構造描画の設定はApps -> Chemoinformatics Tools -> SettingsでSmiles Attributesをnode.shared.nameを選んでおく。 構造描画するときには右クリックしてオプションダイアログのApps -> Cheminformatics Toolsでpaint allかselectを選ぶ。

サイズをpIC50にして、オーガニックレイアウトで表示してみた。なかなかいい感じ

chemviz2

よく分からなかったところ

  • nameとshared nameの違いがよく分からなくてドキュメントあたってみたけど結局良くわからなかった
  • Chemviz2でsmilesをshared nameにしなきゃいけなくてsifファイルをsmilesで作ったのがダサかった
  • (sifのidはchembl_idとかにしたかったけど)

コード

from pychembldb import *
from copy import copy
from random import shuffle, random
from math import log10
#Inhibition of recombinant Syk
#Bioorg. Med. Chem. Lett. (2009) 19:1944-1949
assay = chembldb.query(Assay).filter_by(chembl_id="CHEMBL1022010").one()

with open("node.csv","w") as f:
    f.write('"ID","pIC50","ALOGP","MWT","SMILES"\n')

    for act in assay.activities:
        if act.standard_relation == "=":
            f.write('"{}",{},{},{},{}\n'.format(act.compound.molecule.chembl_id,
                                            9 - log10(act.standard_value),
                                            act.compound.molecule.property.alogp, 
                                            act.compound.molecule.property.mw_freebase,
                                            act.compound.molecule.structure.canonical_smiles))

with open("network.sif", "w") as f:
    smiles_list = [ act.compound.molecule.structure.canonical_smiles for act in assay.activities if act.standard_relation == "="]
    for i in range(len(smiles_list)):
        tl = copy(smiles_list)
        tl[i:i+1] = []
        shuffle(tl)
        f.write('{} randomnetwork {}\n'.format(smiles_list[i], " ".join(tl[:int(random() * 5)])))

Nexus7(2013)を注文した

落として液晶を割ったnexus7のかわりにMBAで将棋ウォーズをしているんだが、タッチパッドで駒を動かすのは非常に時間がかかる。

で、時間切れで負けた(7九銀~5八金が打てなかった…)。これで4%近く達成率が落ちたので苛つき度合いが半端ないw

コンデジ買ってお魚撮る流れにしようか悩んでたけど、こういう負け方するほうがずっと嫌なので結局nexus7をポチった。

でもコンデジも欲しいので引き続き値段を注視しているw

Nexus7の液晶を割った

落とした…

1407409555

Kindle読むのには全然問題ないんだけど、将棋ウォーズが出来ない…(1,2筋が反応しなくて美濃囲いが辛いw)

修理に一万以上かかるらしいし(これとかこれ)一ヶ月近く帰ってこないのはつらいなぁ。

Nexus7(2013)はそれなりにするしなぁ

これを買うくらいだったらAW120欲しい(そろそろ魚を撮ってみたい☆)

iPhoneで将棋ウォーズやるか…

やごみでmishima.sykの反省会をした

反省会と次回のテーマとか諸々決めるつもりが、日程しか決まらなかったw

次回は10/25(sat)です。予定を空けておいてください。

僕はGAMESS+pygamessの説明かCytoscapeでchemoinformaticsなハンズオンをやろうかなと思っています。

イワシとエンガワ

1407320222 1407320223

イワシとイカの天ぷら。イワシの天ぷら美味かった

1407320225 1407320227

磯辺揚げとマグロ

1407320228 1407320230

色々話せて楽しい飲み会だった。皆様お疲れ様でした☆

大駒全部取られた状態から逆転したw

タブレット不調でタップできなくなったとか、攻めきれなくて時間切れ負けという嫌な感じの二連敗の後、相中飛車で囲わずに攻めたらいきなり敗走濃厚な感じにw しかも銀打たれるよなとわかっていつつの31手目▲8二飛、大駒全部取られて

あー達成率10%減るんじゃないのコレは… 今日は指さないほうが良かったかなー

と激しく後悔したけど折角なので頑張ってみることにした。

なんとか勝てた

穴熊が崩れないぃぃぃぃw

65手目って6二龍か7二龍にすべきで、7二の銀を目標にすべきだった。で△3一金に▲4一金かな。

ProductName 四間飛車を指しこなす本〈2〉 (最強将棋塾)
藤井 猛
河出書房新社 / 1404円 ( 2000-05 )


4五歩突くのが早すぎた気がする

序盤から全然ダメだった。

ProductName 角交換四間飛車 徹底ガイド (マイナビ将棋BOOKS)
門倉 啓太
マイナビ / ?円 ( 2013-04-13 )


Bioinformatics版のProject Euler

RosalindというProject Eulerっぽいサイトがあったので少し遊んでみた。

楽しくbioinformaticsの問題を解きながらアルゴリズムを覚えていく感じなので、BioPythonを覚えるのにちょうどいいかなと思った。

GC Contentを計算するメソッドくらいあるだろうとは思うんだけど知らないので素朴に計算。リスト内包表記でmaxで取り出すのがいいかなと思ったけど、面倒くさいのでこれまたループで素朴に。

import sys
from Bio import SeqIO

def count_gc(seq):
    return float((seq_record.seq.count("G") + seq_record.seq.count("C"))) * 100 / len(seq_record.seq)

if __name__ == '__main__':
    fasta = sys.argv[1]
    highest_id = ""
    highest_content = 0
    for seq_record in SeqIO.parse(fasta, "fasta"):
        c = count_gc(seq_record)
        if c > highest_content:
            highest_id = seq_record.id
            highest_content = c

    print highest_id
    print "{0:.6f}".format(highest_content)

僕はBioPerlでバイオインフォマティクス関連のプログラミングをしてたので、BioPythonで配列解析をしたことは殆ど無いんですよね。

中飛車穴熊

ここのところ中飛車に出会う確率が高い

11手目はなんとなく6六銀としてみた。

22手目で相手が5一金と差してきたので「ん?穴熊か…」と。

端歩を突いたらやっぱり受けなかったので穴熊だった。

中飛車で穴熊って初めてかもと思いつつ、じゃぁ自分の金は攻めに使おうってことで、4六からすりつぶしにいった。

スリスリするのはいいんだけど穴熊だと駒がドンドン補充されてなかなか穴が掘れなくて焦った。自分の片美濃はちょっと攻められたら簡単に潰れちゃったし。

結局相手の攻め駒が無くなったところで投了

ゴキゲンな中飛車

ゴキ中で負け続けた結果、先手でも後手でも相手がゴキ中だと相ゴキ中にするようにしている。

ゴキ中は結局捌き合いなのかなと思ったりもする(片美濃だし)

ProductName ひと目の中飛車
長岡 裕也
マイナビ / ?円 ( 2014-02-26 )


ProductName ごきげん中飛車を指しこなす本 (最強将棋塾)
近藤 正和
河出書房新社 / ?円 ( 2002-07 )


尚、振り飛車をLLに例えると

  • 三間飛車: Perl
  • 四間飛車: Python
  • 中飛車: Ruby
  • 向かい飛車: Haskell

な感じですね。参考になればとw