「細胞の物理生物学」”Physical Biology of the Cell”

本書は,2008年11月にGarland Science社から出版された”Physical Biology of the Cell”の翻訳版である.学部または大学院における基礎コース向けに作られた本書は,細胞生物学を生物物理学の側面から再構成するという大胆な内容となっている.すなわち,細胞内の機能や性質ごとに物理学の知見を適用するというこれまでの体系とは違い,物理モデルや物理法則から生物というものを捉えたときに,細胞内の高分子の挙動や生物的な構造をどのように分類できどのように認識できるだろうかという観点から,生物物理学を構築し直すということである.本書のタイトルに”Biophysics”ではなく”Physical biology”と付けていることからも,その意図が伝わってくる.全20章1000ページちかい分量の本書の中には,バネの運動を表すような単純な調和振動子から化学的な反応速度論のモデル,流体力学や統計モデルなどの基本的な物理モデルが含まれている.また,扱う生物現象としてもDNAから酵素反応,生体膜,細胞骨格,分子モーターなど幅広くカバーしている.

また,本書の大きな特徴として挙げられるのが「見積もり」という概念である.定量的な物理モデルを立てた上で生物学の現象に対する定量的な議論を行うためには,オーダーの見積もりが重要になる.見積もる値は,細胞内に存在するあるタンパク質の個数であったり,平衡時に観測される化合物の濃度,大腸菌が泳ぐときの速度など様々である.それらの値は,実際に立てたモデルを検証するときに役に立つばかりでなく,目にみえない世界を想像するときの直感的な感覚としても非常に有用となる.このように,単純化した上でオーダーレベルの数字に落としこむことで,定量的な解釈の手助けとなる.本書では,こういった見積りの具体例が各所に散りばめられており,各章の最後に付属する章末問題でも多数取り扱われている.

なお,訳書は1版をもとに翻訳されたものだが,原書は2012年10月に第2版が出ている.第1版では全20章だった構成が第2版では全22章となっており,第2版では第3部に”Light and Life”という章が追加されたほか,第4部の1章が再構成され2章に分かれている.

読書ノートまとめ

オンラインリソース

注意

上記リンクを含むこの読書ノートは個人的なメモであって,章末問題などの解答の正確さや厳密さを保証するものではないことをご注意下さい.



新しい環境が手に入ったので,Mac OS X Maverickでクリーンインストール状態から環境構築してみた.

環境

  • MacBook Air Mid 2011
  • Mac OS X 10.9 Maverick

システム環境設定

・Dock

  • Dockを自動的に隠す/表示:On

セキュリティとプライバシー

  • ファイアウォール:On
  • 一般:ダウンロードしたアプリケーションの実行許可:全てのアプリケーションを許可

・Spotlight

・省エネルギー

  • バッテリー・電源アダプタ
    • コンピュータのスリープ:しない
    • ディスプレイのスリープ:30分

・キーボード

  • キーのリピート・リピート入力認識までの時間はKeyRemap4MacBookで個別に設定
    • Delay Until Repeat:300 ms
    • Key Repeat:33 ms
  • キーボード:F1,F2などのすべてのキーを標準のファンクションキーとして使用:On
  • ショートカット:キーボード:次のウィンドウを操作対象にする:Ctrl-Shift Z
  • 入力ソース:Google 日本語入力

・トラックパッド

  • ページ間をスワイプ
    • 3本指でスワイプ

・共有

  • コンピュータ名を変更

・ユーザとグループ

  • Apple ID:設定

・日付と時刻

  • 日付と時刻

    • 日付と時刻を自動的に設定:Apple アジア
  • 時計

    • 秒を表示:On
    • 日付を表示:On

ファインダー

  • 環境設定
    • 一般:新規Finderウィンドウで次を表示:$HOME
    • 詳細:すべてのファイル名拡張子を表示:On
    • 詳細:拡張子を変更刷る前に警告を表示:Off
    • 詳細:確実にゴミ箱を空にする:On
    • 詳細:検索実行時:現在のフォルダ内を検索
  • 表示オプション
    • 表示順序:グリッドに沿う

ホームディレクトリのフォルダを英語化

1
2
3
$ cd /System/Library/CoreServices/SystemFolderLocalizations/ja.lproj
$ sudo mv SystemFolderLocalizations.strings SystemFolderLocalizations.strings.bak
$ sudo cp ../en.lproj/SystemFolderLocalizations.strings .

辞書

  • Oxford Dicionary of English:On
  • Oxford Thesaurus of English:On
  • LSD for Dictionary(ライフサイエンス辞書)(現在は公開中止

フォント

  • Ricty
    • Inconsolata,Migu 1Mを事前にインストールしておく
1
2
3
4
$ sudo port install fontforge
$ git clone https://github.com/yascentur/Ricty.git 
$ cd Ricty
$ sh ricty_generator.sh auto

ターミナル

  • フォント:Ricty Regular 14 pt.
  • テキストをアンチエイリアス処理

  • シェルの終了時:シェルが正常に終了した場合は閉じる

アプリケーション

  • 1password
  • AppCleaner
  • ClamXav
  • Cytoscape
  • DaisyDisk
  • Dropbox
    • モノクロのメニューバーアイコンを使用
  • Evernote
  • Fantastical
    • iCal.appで先にGoogleアカウントを登録しておく
    • Preference:Keyboard shortcut:Ctrl-Shift D
  • Google Chrome
  • Google 日本語入力
    • 一般:句読点.,
    • 一般:¥キーで入力する文字:バックスラッシュ
    • 入力補助:半角・全角:アルファベット:変換前文字列:半角
  • Kobito
  • Keynote
  • KeyRemap4MacBook
    • Fn to Eject (Ctrl-Shift-Ejectでディスプレイを消すキーボードショートカットを使うため)
  • LanguageSwitcher
  • LaTeXiT
  • Marked
  • nvALT
  • Pages
  • ReadKit
  • RStudio
  • ScanSnap Manager
  • Sparrow
    • Format:Prefer Plain Text:On
    • Preference:General:Play sound when receiving/sending mail:Off
    • Preference:Advanced:Use Gmail shortcuts:On
    • Preference:Advanced:Delete key moves to trash:On
    • Preference:Advanced:Hide pictures:On
    • Preference:Advanced:Hide selection bar in Inbox:Off
  • Twitter
  • Xcode
  • 夜フクロウ

  • MenuMeters

MacPorts

1
2
$ sudo port selfupdate
$ sudo port install clojure coreutils emacs git-core imagemagick lftp nkf python27 python34 screen sshfs tig wget zsh

MacTex

1
$ sudo tlmgr update --self --all

参考:過去の環境構築メモ

よ,4年前と全然変わってねぇ….



少し脳神経科学の基礎を勉強する必要があったので,神経とはなんぞやというところから,電位としてニューロンが情報を伝える仕組み,あとは視覚に関しての情報処理的なところをおおまかに勉強している.深く入り込む予定はないので,関連する話を聞いたら何となく分かる程度に基礎を押さえるつもり….きちんとまとめる必要もないので,個人的に押さえとく部分だけを復習がてら以下に列挙している.

神経細胞 neuron

  • 軸索 axon
  • 樹状突起 dendrite
  • 棘突起 spine
  • シナプス synapse
    • シナプス小胞 synaptic vesicle
  • 髄鞘 myelin sheath
    • ランビエー紋輪 node of Ranvier
    • シュワン細胞 Schwann cells

グリア細胞 glial cell

  • マクログリア macroglia
    • アストロサイト astrocyte, -glia
    • オリゴデンドロサイト oligodendrocyte, -glia
  • マイクログリア microglia

活動電位 action potential

  • 静止膜電位 resting membrene potential
  • スパイク spike
  • オーバーシュート overshoot
  • アンダーシュートundershoot
  • 過分極 hyperpolarization
  • 不応期 refractory period
  • 閾値 threshold

イオンチャンネル

  • 電位依存性カリウムチャネル voltage-gated potassium channel
  • 電位依存性ナトリウムチャネル voltage-gated sodium channel
  • 漏洩チャネル leak channels

視覚野 Visual Cortex

第一次視覚野 Primary visual cortex

(Striate cortex, V1)

  • ハイパーコラム hypercolumn
    • 方位円柱 orientation column
    • 眼球優位円柱 ocular dominance column
    • 色円柱 blob

網膜から外側膝状体へと中継された情報は,V1においても局在性を持つ

  • トポグラフィックマッピング topographic mapping
  • 自己組織化 self organization

高次視覚野 higher visual cortex

  • 背側皮質視覚路 dorsal stream

    • MT野 middle temporal lobe
    • MST野 middle super temporal lobe
    • 運動の知覚
  • 腹側皮質視覚路 Ventral stream

    • IT野 inferior temporal lobe
    • 対象物の認識

参考

まず入門として「もっとよくわかる! 脳神経科学〜やっぱり脳はスゴイのだ! (実験医学別冊 もっとよくわかる! シリーズ)」を読んでいるのだけれども,かなり分かりやすくまとまっているようで良い.脳神経科学全般を基礎から網羅している形で,かなりとっつきやすい印象.今は必要な箇所だけを抜粋して読んでいるのだけれども,時間に余裕ができたら他の箇所も読んでみたい.視覚を含めた五感の仕組みであったり,感情や言語などの高次脳機能の仕組み,脳に関わる神経性の病気などの項など,色々面白そうなトピックが並んでいる.

脳神経科学全般を



PythonとNumpy/Scipyの練習.前回はNumpyを使って混合ガウス分布のEMアルゴリズムを実装で混合ガウス分布について取り扱ったので,今回は混合ガウス分布についての数式をおさらいしつつ,確率密度関数をプロットしようと思う.

混合ガウス分布の概要

混合ガウス分布は,複数のガウス分布の線形結合で表すことができる.

p(\bold{x})=\sum_{k=1}^{K}\pi_k\mathcal{N}(\bold{x}|\bold{\mu}_k,\bold{\Sigma}_k)

ここで,\pi_kを混合係数,\mathcal{N}(\bold{x}|\bold{\mu}_k,\bold{\Sigma}_k)を混合要素と呼ぶ.混合系数は確率の条件\sum_{k=1}^{K}\pi_k = 1 および0 \le \pi_k < 1 を満たす.

また,混合要素\pi_k = p(k)k番目の混合要素が選ばれる事前確率とし,\mathcal{N}(\bold{x}|\bold{\mu}_k,\bold{\Sigma}_k) kが与えられた時のx の条件付き密度とすると,x の周辺分布は

p(\bold{x})=\sum_{k=1}^{K}p(k)p(\bold{x}|k)

で表すことができる.このk の選択が,EMを用いたGMMでの隠れ変数に対応している.

一次元の混合ガウス分布

1
2
3
4
5
6
7
8
9
10
11
12
13
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

x = np.linspace(-5, 5,200)
pi_k = np.array([0.3,0.7])
norm1 = mlab.normpdf(x, -1, 1)
norm2 = mlab.normpdf(x, 2, 1)

plt.plot(x,pi_k[0]*norm1,color="blue")
plt.plot(x,pi_k[1]*norm2,color="blue")
plt.plot(x,pi_k[0]*norm1+pi_k[1]*norm2, color="red")
plt.show()

gmm_1.png

今回は正規分布の確率密度関数にmatplotlibのmlab.normpdfを使ったが,scipy.statsのnorm.pdfを使うこともできる.

1
2
3
4
import numpy as np
rom scipy import stats
norm1 = stats.norm.pdf(x, loc=-1, scale=1)
norm2 = stats.norm.pdf(x, loc=2, scale=1)

二次元の混合ガウス分布

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

pi_k = np.array([0.3,0.7])
x = np.linspace(-3.0, 3.0,200)
y = np.linspace(-2.0, 2.0,200)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 0.5, 1.0, -1, -1)
Z2 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 1, 1)
Z = pi/k[0]*Z1 + pi_k[1]*Z2

CS = plt.contour(X, Y, Z)
plt.clabel(CS, inline=1, fontsize=10)
plt.show()

gmm_2.png

参考



プログラミング言語RとRubyを使って,日常に隠れた様々なデータを掘り起こし,シミュレーションや仮説検定といった方法を用いて解析しようという本書.基本的にはRubyで生データの取得や処理を行い,Rで統計処理や可視化する流れになっている.日本語訳ではデータ解析という少しお固いタイトルだけれども,原題は「Exploring Everyday Things With R and Ruby」であり,扱う内容は身近にある些細なことが多い.例えば,オフィスのトイレが従業員数に対して凄い少ないんだけど本当にこれだけでいいの?といった疑問とか,日頃よく使っているメールを解析してどんな傾向があるか探ってみようといったデータマイニング的なことから,はたまた心臓の鼓動を解析するといった自分ではやろうと思い付かないことまで,対象とする内容は実に多様だ.このラインナップを見て「最近流行りのデータ解析ってもっと凄いことするもんだと思ってた」と思うかもしれないが,本書を開いてみれば,それは実に的を外した意見であることがわかる.データというものは,インターネットのアクセスログやPOSの購買記録だけではない.身近にあるすべてのことはデータであり,記録し収集することで形となり,解析し可視化することで見えてくる事実というものがある.そういった発見をする喜びというものを,本書は教えてくれる.科学は研究者や技術者だけのものではなく,誰もが感じることのできるものである.日常で疑問に思ったことから仮説を立て,データを集めたりシミュレーションをしたりして解き明かすという方法を,本書では実例とともに学ぶことができる.

本書を読むと,とにかく以下の2つのことが大事なのだと実感する.それは

  • ふと疑問に思ったことを自分なりに確かめようとする
  • とにかくデータを貯める

ということだ.思い浮かんだ疑問をそのままにせず,直感的や一見合理的な理由をしっかりと確かめる術を持つということの大切さを改めて意識した.それにはシミュレーションや統計解析が非常に有効である.そして,それを実現するには後にも先にもデータが必要であるということ,日頃から意識して記録するという能動的な行為から,自動的に記録してくれるようなシステムを作りデータを貯めこむという受動的な行為まで,何らかの形で残しておけば後々使う機会があるかもしれないということだ.データが全て残せなければ,数とか量とか何らかの統計値でも良い.電子データなら物理的場所を取らないしいくらでも貯めこむことができる.そういった一手先のデータ収集をしておくことで,よりデータ解析が面白くなる.

最後に実例を一つ.SiriのバックボーンとなっているWolframAlphaなどの開発者で有名なStephen Wolfram氏も,本書のアプローチに似たことをBlogで紹介している.

かなり長期にわたるデータを細かく分析しており,グラフを見て想像を巡らすだけでも非常に面白い.