対雀刺し

43手目は手が滑ってあちゃーってなった

そして最近の愛読書は藤井先生ですw

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


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


すごく面白い☆

角交換四間飛車ももちろん買って読んでるんだけど、今の級では四間飛車になることが多い

ProductName 角交換四間飛車を指しこなす本 (最強将棋21)
藤井 猛
浅川書房 / 1512円 ( 2014-07 )


この本によると「損な手に見えるのが実は得」みたいなタイミングで角交換しなされと書いてあるのでそのタイミングまで待っていると結局ノーマル四間飛車になってしまう。

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


ggplotっぽい配色

ggplotっぽい配色が欲しかったので探したらsofで見つけたがこれはRのコードなのでPythonで

colorsysというモジュールを使う。

でもこれは0-1の範囲の数字がタプルで返ってきて使いにくいので255をかけた後16進数表記にして返す関数を書いた。

from colorsys import hls_to_rgb

def color_list(n, l=0.65, s=1.0):
    return ['#%02x%02x%02x' % tuple(map(lambda x: int(x * 255), \
        hls_to_rgb((i + 3 - n)/ float(n), l, s))) for i in range(n)]

10個ほど生成させてみるといい感じ

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で配列解析をしたことは殆ど無いんですよね。