11042011 sake
save the 東北の酒ってことで東北の方の酒を飲むようにしてます。栃木の方も被害が大きいのでそっちも飲むようにしたいが、近所は取り扱いが少ないのだ。
秀鳳は山形のお酒で、キリっとしてそうでやんわり感もある不思議な味わいだった。初日に超ぬる燗にしたらいまいちだったので以降は、ひやに近い温度帯で飲んでた。

11042011 sake
save the 東北の酒ってことで東北の方の酒を飲むようにしてます。栃木の方も被害が大きいのでそっちも飲むようにしたいが、近所は取り扱いが少ないのだ。
秀鳳は山形のお酒で、キリっとしてそうでやんわり感もある不思議な味わいだった。初日に超ぬる燗にしたらいまいちだったので以降は、ひやに近い温度帯で飲んでた。

11042011 家庭菜園
久しぶりの畑は雑草が生えまくっていた。草むしりしないといけないが、最近5時には明るいのでこれからは朝起きたら畑仕事が出来るな。
ジャガイモの芽がポツポツ生えてきたけど、深く植えすぎたかも。右側は春菊で薹が立っていた。折角なので咲かせてみよう。

ニンニク(左)は元気に育っているので収穫が楽しみだ。浅葱(右)は写真を撮ったあと収穫した。

ソラマメ(左)は黒ずんでたり成長がよろしくないのがあったりとよくわからない。収穫出来るんだろうか?一方、スナップエンドウ(右)の方は最近メキメキと伸び始めて期待度(大)

10042011 life
文章とは情報を読者に届ける乗り物である。つまり乗り物の性能(わかりやすさ)とその文章が載せている情報の価値は別物だ。
乗り物の性能をあげるためにはどうすればよいかを100ページで説明する本
1,2の構成のあたりは、研究系だったらまぁ普通に知っていないといけない事柄なので復習的な読み方であったが、3の文を分かりやすくする方法はあまり深く考えたことがなかったので勉強になった。修飾語かけまくったり、ついでに情報を加えたりといったことはついついやってしまうので推敲する際に気をつけて観直そう。
09042011 life
09042011 music
以前買ったベスト盤よりは、こっちのほうが好きだな。
ダビーで内省的、癒し度高し。
pdbgetというpdb-idを引数にとって構造データをまとめてダウンロードするコマンド使っていたんだけど、ちょっと前のサーバリプレースでPDBのミラリング環境が失われたので使えなくなってた。こういうの致命的だよなとは思うが今時はネットワークが太いので別にミラリングする必要性はあまりないのかな?でも遅いよなぁ。
とりあえず、自分用に。プロキシ使いたいのでFancyURLopener
import urllib import sys pdblist = sys.argv[1:] proxies = {'http': 'http://[hostname]:[port]/'} opener = urllib.FancyURLopener(proxies) for pdbid in pdblist: f = opener.open('http://www.rcsb.org/pdb/files/%s.pdb.gz' % pdbid.upper()) data = f.read() with open('%s.pdb.gz' % pdbid.upper(),'wb') as wf: wf.write(data)
ちなみに初代はperlで書いてあった。これいつ書いたんだろう?多分7,8年よりは前だと思うんだよなぁ。
use strict; use Net::FTP; die "usage:$0 [pdb_id] ...\n" unless @ARGV; my $ftp = Net::FTP->new("[hostname]", Debug => 0) or die "Cannot connect to [hostname]: $@"; $ftp->login("pdb",'pdb') or die "Cannot login ", $ftp->message; $ftp->binary(); for my $pdbid (@ARGV){ $pdbid =~ tr/[A-Z]/[a-z]/; my $pdbdir = substr($pdbid,1,2); my $pdbfile = "pdb" . $pdbid . ".ent.gz"; $ftp->cwd($pdbdir) or warn "Cannot change PDB directory ", $ftp->message; $ftp->get($pdbfile) or warn "$pdbfile : ", $ftp->message; $ftp->cwd('..') or warn "Cannot change PDB directory ", $ftp->message; } $ftp->quit;
Bioinformatics Programming Using Python08042011 chemoinformatics
目次見たけど概要をつかむにはよさげ。
Virtual Screening: Principles, Challenges, and Practical Guidelines (Health Care and Disease Management)ただ、スコア関数の方法論がもう限界ですからな。もっと丁寧なモデル化が望まれているような気はするし、そういったあたりのもっとイノベーティブなアプローチが議論されない限りはつまんないフィールドになっていっちゃうと思っている。
08042011 Python
Sphinxで文書を書いていて気になるのは、謎じゃない謎の空白だ。
これはあちこちで書かれていてそのための拡張とその改良版が用意されているが、自分の環境(Python2.6.6+Sphinx1.0.7)ではうごかなかった。
なんでかなーと調べてみるとtype(node.parent)が<type 'instance'>を返してたのでisinstanceで評価するようにしてみた。
def trunc_whitespace(app, doctree, docname): from docutils.nodes import Text, paragraph if not app.config.japanesesupport_trunc_whitespace: return for node in doctree.traverse(Text): if isinstance(node.parent, paragraph): newtext = node.astext() for c in "\n\r\t": newtext = newtext.replace(c, "") newtext = newtext.strip() node.parent.replace(node, Text(newtext)) def setup(app): app.add_config_value('japanesesupport_trunc_whitespace', True, True) app.connect("doctree-resolved", trunc_whitespace)
なんでかなーってのを調べるためにSphinxのソースコードを読み始めたりdocutilsのソースを読み始めたりしたけど、昨日あたりからかなり脱線し始めたのでとっとと成果物を残しておこう。
エキスパートPythonも読みなおそうっと
08042011 processing