スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ひでひでた
スポンサー広告  

Blogger
試しに
http://www-justonemore.blogspot.com/
にてブログ更新し始めてみました。使い勝手とかどうなんでしょう。
スポンサーサイト
ひでひでた
日常生活   0 0

Zwanzig に妙な親近感を覚える日々
すっかり秋らしくなってきた今日この頃です。寒くなってくると何といっても鼻の調子がグッと悪くなるのがつらいところですが、まあなんとかこらえつつ生活しています。
 さて、統計物理をやってる人で Robert Zwanzig の名を知らない人はいないと思います。もちろん射影演算子法 (Projectoin Operator Method: POM) の人です。最近は某氏とやっている自主ゼミのテキスト
Nonequilibrium Statistical Mechanics (Physics Textbook)Nonequilibrium Statistical Mechanics (Physics Textbook)
(2006/12/25)
Gene F. Mazenko

商品詳細を見る
に POM の応用がさんざん登場する関係で Zwanzig や森肇の事は意識せざるを得なかったのですが、統計力学の基礎論だけでなく僕の専門であるタンパク質シミュレーションの業界でもここ数年で POM を使った slow mode のダイナミクスに関する研究が出ていたりして、やたらとこの手法に触れる機会が多いです。
 その Zwanzig 自身も実はタンパク質科学に片足突っ込んでいたことをおとといあたりになって初めて知りました。タンパク質の特徴をごくごく簡単にモデル化して、「ある滑らかなポテンシャルの周りに(空間的に)速く振動するような摂動が加わっている場合、粒子の拡散はどのような影響を受けるか」という問題を扱った論文を20年と少し前に提出しています。必要な数学自体は所謂 mean first passage time に関するものだけなのでとても簡単なのですが、結果的にはくりこみが自然と行われていたり、摂動が周期関数なのかランダムに変化するのかによって温度依存性のベキ指数が変わってしまうなど、物理的には結構楽しい内容を含んでいました。
 ここ2年ほどに限定される僕の貧しい経験では、統計力学ってのは結構抽象的な事を綿密に行って深い原理を探っていくもののように思えていたんですが、実際はそれだけじゃなくて、Zwanzig がやって見せてくれたように物理的に重要だと思われる部分をうまく抽出して議論するという面も当然のように存在するんですね。彼の論文を読んで久しぶりに「ああ、これって物理だ」と思いました。
 調べてみると Zwanzig は Kirkwood の弟子のようです。また色々と論文を探ってみると、どうやら名前をよく見かける Wolynes 氏と Zwanzig は遠からぬ関係の様子(実際、Wolynes の論文中では Bob Zwazig と書かれている)。そして僕がたまに相談を持ちかけている某T先生は Wolynes 研の OB だというのですから、どうにも世の中の狭さを痛感するというものです。脈々と継がれてきたその流れはすぐそこまで来ている。
 Zwanzig をどう発音すればいいのかは未だに分かりませんが、以前よりも確実に親近感を覚えています。
ひでひでた
日常生活   0 0

簡潔な近況
起きてから何時間経っているか覚えていません。意識が朦朧とする中、手短に近況をまとめておきます。
 まず、MacPorts を導入したのがここ数日では最も革命的だったことかもしれません。なんでこれまで使ってこなかったのかと悔やまれる程度です。Ubuntu でいうところの apt-get のようなものですが、ライブラリのバージョンとかもインストール時に選べるようになっているのがさらに便利なところ。ようやく Python 関連のモジュールをそろえる事が出来ました。ATLAS を入れるのも簡単だったけどうまくいっているのかな。
 今週はかなりしんどいです。明日の午前中に他研究室との合同勉強会。テーマは DDS です。僕は門外漢ですが関心はあるので行きます。発表もしないといけないけど日本語で OK なのが救いどころ。あさってから二日間は並列計算に関する講習会があります。たしか午前10時から午後4時半くらいまでだったのでわりと長丁場ですね。MPI とかスパコンの構成とかを勉強出来そうなので楽しみです。金曜日は某くりこみ群の世界的権威と一緒にやってる統計ゼミで、僕の発表担当。射影演算子法使いまくる箇所みたいですが未だ予習ゼロ!(死亡フラグ)そして土曜日がラボミーティングで持ち時間30分の発表です。今組んでるプログラムが完成しないとデータ出せませんが、間に合うかどうかはかなり微妙かな。Kabsh アルゴリズムを実装するのは numpy モジュールのおかげで簡単に済みました。むしろこの先が問題。
 しばらく前からその存在は知りつつも手を出さずにきていた

集合知プログラミング集合知プログラミング
(2008/07/25)
Toby Segaran

商品詳細を見る
をこの間ふと気が緩んだ瞬間に買ってしまいました。様々な Web API を使いつつ機械学習を学ぶための本です。Python が言語として採用されているので好感度高し。バイオインフォマティクスにも当然応用が利きそうなトピックが多いように見えます。もし読み切る事があったらまたレビューします。
 それではおやすみなさい。アデュー!
ひでひでた
日常生活   0 0

MD を行うときに便利な Python 関連モジュールの紹介
昨晩、記事を更新しようとしてブログの管理画面を開こうとしたのですが、どうもサーバー側の問題でアクセス出来ませんでした。あれは何だったのだろう?いざ管理画面に入ると「過去の記事の管理」などがクリック出来なくて編集も不可能だし、そろそろFC2から移転した方がいいかもしれないと考え始めています。
 ところで、大学院における僕の専攻は分子動力学(MD)によるシミュレーションであり、博士課程に移って以来いくつか便利な道具を使ってきたのでここで関連資料とともに紹介してみようと思います。MD もしくはバイオインフォマティクスをやっている人でも使っている道具は様々で、例えば Python vs. Perl とか Fortran vs. C(++) とか vi vs. Emacs とか色々な戦争が勃発していますが、ここでは Pyhton 関連のプログラムだけに言及します(ちなみに僕は Python & vi 、時々 Eclipse 派)。過去の記事ですでに触れているものも多いですが、そこらへんはご容赦ください。

■基本的な道具 …… Python, iPython
 Python 付属のシェルもそれなりに使えますが、一度立ち上げてしまうと less などのシェルのコマンドが使えなくなるのが不便です。そこで iPython を導入しましょう。対話的な Python シェルであるところは同じですが、!を頭に付ければシェルのコマンドを通常通り使う事が出来ます。また、オブジェクトの後ろに?をつけることで型やその中身(リストの要素など)、DocString などを表示出来るので便利です。
○参考:
Python 公式ドキュメント。ライブラリリフェレンスがまとまっている。

■科学計算など …… numpy, matplotlib
 おそらく科学計算目的の Pythonユーザーで numpy モジュールを知らない人はいないと思われます。内部で BLAS などを呼ぶ事で高速に行列計算を行ってくれる神モジュールです。最近では特異値分解を行うのに numpy.linalg.svd メソッドを使ったりしています。乱数発生用のモジュールを含んでいるので統計処理目的でも使用可。
 matplotlib は対話的にグラフを描画出来るプログラム群です。gnuplot はすでに処理済みのデータファイルを元にグラフを手軽に描画出来るソフトですが、matplotlib は Python シェルを立ち上げた状態でデータ処理をしつつプロットを行いたいときに使うと便利です。
○参考:
Python Scientific Lecture Notes. 科学者向けの numpy および matplotlib のレクチャーノートらしいです。Python 自体の使い方もかなり丁寧に解説されているため、この資料から勉強をスタートすると最短距離で習得に近づけるかもしれない。

■他言語とのインターフェース …… f2py, ctypes
 Python は汎用性が高く習得も楽である、という売り文句が実態を表していると常々感じていますが、重い計算を行わせると Fortran や C に比べて明らかに低速なのがネックです。そこで f2py や ctypes を使いましょう。これらは 非常に使いやすい Fortran (C) ラッパーです。プログラムは基本的に Python で書きたいが、最も計算量が多い部分だけ Fortran(C) プログラムに処理させたい、という要望に応えてくれます。使い方も簡単で、f2py なら元の Fortran コードに !f2py... といったディレクティブを挿入して dll を作るだけです。ctypes も同様。
 注意点が2つ。まず、f2py は Python とは別にインストールする必要があります(とは言っても apt-get とか yum を使うだけです)。また、C++ コードを ctypes 経由で Python コードに組み込むためには一旦 C 言語にラップしないといけないようです。ググると色々出ますが理解していないので今のところ紹介は出来ません。
○参考:
UCSB での MD レクチャー。このページの Reading 以下にある Writing Fast Fortran Routines for Python 内で f2py の使い方を解説しています。題材は MD ですが読めば誰でも分かる程度に丁寧に書かれています。

■分子可視化ソフト …… VMD, PyMol
 タンパク質の立体構造を目で見て確認するのに便利なソフトを2つ。VMD はトラジェクトリのデータを元にして分子運動を可視化するのに便利です。以前はこれを使って静的構造も見ていましたが、今のメインは PyMol です。出版品質で分子の3次元構造を表示してくれます。標準で様々なコマンドを含む上、Python スクリプトを読み込み可能なのが嬉しいです。
 PyMol は大半の Python ユーザーと無縁だとは思いますが、例えば "fetch 1GFL" と入力するだけで GFP (下村さんがノーベル賞とったアレ)の立体構造が簡単に見れるので暇なときにでも遊んでみてほしいです。
○参考:
PyMol を使ってみよう。PyMol の基本的な操作法はこのページで勉強しました。
 
追記:
上記コマンドを先ほど使ってみたところ、なぜかエラーが出てしまってうまく動きませんでした。代わりに GFP の画像を貼っておきます。実は見るのは初めてだったのですが、その構造の見事さに感動してしまいました。自然はこんなもんをデザインしてきたなんて凄すぎる。
側面 内部
ひでひでた
シミュレーションなど   0 0

立ち位置の見えない不安
お久しぶりです。研究室からの書き込みです。研究室は朝早くから動き出す中、僕は相変わらず夜型の傾向が強いです。

この一月の間に何があったか正確には覚えていませんが、相変わらずコンピュータに向かいっぱなしであることは代わりありません。8月になって導入した PyMol という分子の可視化ソフトが非常に多機能かつ操作しやすいため重宝しています。たんぱく質を三次元表示できるのはもちろんのこと、電子雲の描画や accessible surface area の計算をするコマンドまで含まれており、一旦描画した図を回転もしくは振動させながら動画を作成することも可能です。その名が表すとおり PyMol は Python で書かれているので当然 Python スクリプトを読ませることも出来るのが嬉しいところ。これまで使っていた VMD はシミュレーション結果を直接動画化する以外には使わなくなりそうです。

さて、先日のミーティングで発表した内容が好評で、今年中に共著論文を一つ書く方針で頑張ろうとボスには言われました。正直言って、その言葉を素直に受け入れられるような気持ちにはなりませんでした。

共著者(仮)は実験家だけど、彼の結果と僕のシミュレーション結果をどう折合わせるのか彼自身アイディアを持っていない状態だからロジックが逆転していると言わざるを得ない。詳しいことは書けませんがとにかく「論文を書く」という結論ありきな進め方に納得がいかない。いや、確かに来年の学振を意識すれば論文を書いてしまった方が良かろうというのは分かるのですが、そこまで急がなきゃいけないのか、とか、(もっと話を深める段階かもしれない)今の状況で書いてしまっていいのかとか、色々思うところがあるのです。

もちろん、根本的には僕の勉強不足が効いているのは分かっています。研究室を移ったとはいえ、仮にも博士課程学生の身。自分の研究がその業界なり何らかの流れの中でどのような立ち位置にあるのかをある程度は判別できるべきです。それを先生方に丸々任せきりにしてしまっている現段階では、あれこれ言っても根拠が薄い気がしています。いや正確に言えば、気がするのではなく、実際に薄いのでしょう。

どこかで「もっときちんとした形にしたい」と思っています。自分なりに意義を見出して、自分なりに主張をしたい。そうでないうちにこの手を離れていってしまうような、そんなことはしたくない。

というわけで、今のテーマと関連しており、かつ「これはおもしろいな」と自然に思えるものを探し中です。候補はある程度絞りつつあるところ。しかもこれなら普段相談している先生にも実績がある(かつて雑誌の表紙を飾ったレベル)。

まあでも、この先の展望が全然見えていない現状ではタイムリミットを決めてしまって、小さくてもいいから論文にした方がいいのかもなぁ。
ひでひでた
日常生活   0 0

PREV | HOME |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。