書籍検索結果 詳細表示

書名

いますぐ始める数理生命科学 ―MATLABプログラミングからシミュレーションまで

筆頭著者

佐藤 純・著

出版社名

コロナ社

ISBNコード

ISBN978-4-339-06762-0

発行年

2021年1月

判型 / 頁数

A5判 / 256頁

分類

医学一般/医療統計学・医学情報学

価格

定価3,960円(本体3,600円 税10%)

内容

本書は、1冊でプログラミングと数理生物学の両方を学習し、初心者が最短距離で生命現象のシミュレーションを習得することを目指します。

<数理生命科学とは?>
生命科学の諸分野において数理モデリング、数値シミュレーション、画像解析などの数理・情報系の知識や技術が必要となる場面が増えています。物理や工学の分野では、対象とする現象を数式に置き換えた数理モデルを用いることで、新たな現象を予測したり、現象の背景にあるメカニズムを明らかにする手法が一般的です。生命科学の分野でも数理モデルを取り入れた数理生物学が注目されています。ですが、数理モデルによる予測を実験的に検証することで、生命科学を本質的に推進する様な、真の融合研究はいまだに困難です。数理生命科学とは数理生物学とほぼ同じ意味ですが、数理科学と生命科学の融合研究の発展を願い、本書のタイトルを「いますぐ始める数理生命科学」としました。

<こんな方にお勧め>
数理科学と生命科学の融合研究のためには、コンピュータープログラミングが非常に重要です。多くの生命科学研究者や学生の方々は、数理生命科学が重要だと認識はしていても、プログラミングの教育を受ける機会がなかったり、苦手意識のせいでなかなか始められないという場合が多いと思われます。しかし、最近のコロナ禍の状況は、家でもどこでもできるプログラミングを習得する良い機会です。本書では、数理科学や情報科学のバックグラウンドが無くても生命現象のシミュレーションが出来るようになることを第一の目的としていますし、伝染病の数理モデルというタイムリーな話題をはじめ、幅広い生命現象を扱っています。この本をきっかけとして、数理生命科学にチャレンジしてみてください。

<書籍の特徴>
多くの数理生物学の書籍において、様々な数理モデルの生物学的な意義や数学的な性質が解説されています。ですが、数理モデルに使われている数式を具体的にどうやってコンピューター上で扱えば良いのか、どうやってシミュレーションしたら良いのかについてはほとんど説明されていないことが多いと思います。それは、コンピュータープログラミング、さらにプログラム中で数式を取り扱う方法を説明するだけで、非常に大変だからです。ですから、プログラミングの経験の無い方が生命現象のシミュレーションをしたいと思ったら、プログラミングと数理生物学の両方を学習する必要があるのです。
本書は1冊でプログラミングと数理生物学の両方を学習できるという特徴を持っています。1・2章ではMATLABによるプログラミングの基礎、3・4章では様々な数理モデルによる生命現象のシミュレーションについて解説しています。また、1・2章では3・4章で重要となる考え方に絞って重点的に解説していますし、3・4章では数学的な厳密性よりも直感的・視覚的な説明を心がけています。初心者が効率良く、最短距離で生命現象のシミュレーションを習得できるよう工夫しているのです。まさに、これ一冊でいますぐ数理生命科学を始めることができるのです。

目次

1.準備運動
1.1 プログラミングとは
1.2 インストール
1.3 関数電卓として使ってみる
 1.3.1 コマンドウィンドウ内での計算
 1.3.2 関数の計算
 1.3.3 逆関数の計算
1.4 変数
 1.4.1 変数とは
 1.4.2 変数の名前
1.5 ベクトル
 1.5.1 ベクトルとは
 1.5.2 ベクトルの要素を操作する
1.6 ベクトルを使ったグラフの描画
 1.6.1 plotを使ってみる
 1.6.2 plotの応用
1.7 行列
 1.7.1 行列を定義する
 1.7.2 行列の大きさ
1.8 行列の計算
 1.8.1 行列の和と積
 1.8.2 アダマール積

2.MATLABプログラミング入門
2.1 スクリプト
 2.1.1 スクリプトを作る
 2.1.2 グラフを描くスクリプトを作る
2.2 円とらせん
 2.2.1 極座標を使って円とらせんを描く
 2.2.2 円とらせんを描く応用編
2.3 for文
 2.3.1 for文でループを作る
 2.3.2 for文のネスト
2.4 数値の整数化
2.5 数値の文字化
2.6 数値と文字が混在した文章
2.7 while文
2.8 じゃんけんとif/switch文
 2.8.1 if文による条件判定
 2.8.2 switch文による条件判定
2.9 関数
 2.9.1 じゃんけんを判定する関数
 2.9.2 スクリプト内に関数を配置する
2.10 2次元画像の扱い
 2.10.1 imagescによる画像表示
 2.10.2 2次元パターンを作り出す
2.11 アニメーション
 2.11.1 plotのアニメーション
 2.11.2 imagescのアニメーション
 2.11.3 ムービーファイルの保存
コラム1 デバッグについて
2.12 グラデーションリング
 2.12.1 グラデーションリングを描く
 2.12.2 グラデーションリングを回転させる
コラム2 よくあるバグその1:打ち間違い

3.生命現象の時間変化をシミュレーションする
3.1 微分方程式を解く
3.2 蛋白質の合成と分解
 3.2.1 オイラー法による微分方程式の解法
 3.2.2 厳密解との比較
コラム3 よくあるバグその2:文法エラー
3.3 造血幹細胞の数理モデル
 3.3.1 造血幹細胞の数理モデルその1
 3.3.2 造血幹細胞の数理モデルその2
 3.3.3 ロジスティック方程式
3.4 糖代謝の数理モデル
コラム4 よくあるバグその3:数値や文字の扱いが不適切
3.5 伝染病の数理モデル
 3.5.1 SIRモデル
 3.5.2 複数のパラメーターの結果を比較する
 3.5.3 基本再生産数R0を導入する
3.6 ロトカ・ヴォルテラモデル
 3.6.1 オイラー法を用いた数値計算
 3.6.2 ode45を用いた数値計算
コラム5 ブレークポイントの設定

4.生命現象の時間・空間変化をシミュレーションする
4.1 拡散性物質による空間パターン形成の時間変化
4.2 拡散方程式の直観的な説明
4.3 拡散方程式の計算
 4.3.1 拡散の数値計算アルゴリズム
 4.3.2 for文を用いた拡散の計算
 4.3.3 del2を用いた拡散の計算
 4.3.4 行列を用いた拡散の高速計算
コラム6 よくあるバグその4:アルゴリズムがおかしい
4.4 モルフォゲンによるパターン形成
4.5 ショウジョウバエ翅のパターン形成
 4.5.1 Dppの拡散の計算
 4.5.2 Dppの標的遺伝子の発現
4.6 ショウジョウバエ脚のパターン形成
 4.6.1 DppとWgによるDll遺伝子の発現制御
 4.6.2 活性化型Dpp受容体の効果
コラム7 よくあるバグその5:数学的な問題
4.7 チューリングモデル
 4.7.1 活性化因子と抑制因子からなる反応拡散方程式
 4.7.2 濃度の上限を設定する
 4.7.3 if文を使わずに濃度の上限を設定する
 4.7.4 チューリングパターン
コラム8 パラメーターの設定
4.8 心臓拍動のシミュレーション
 4.8.1 フィッツヒュー・南雲方程式
 4.8.2 フィッツヒュー・南雲方程式に拡散を加える
 4.8.3 不整脈の数値シミュレーション
 4.8.4 心臓拍動のメカニズム
コラム9 dtとdxの値
4.9 「分化の波」の数理モデル
 4.9.1 分化の波,proneuralwave
 4.9.2 EGFとAS-Cからなる2変数モデル
 4.9.3 NotchとDeltaを加えた4変数モデル
 4.9.4 EGF変異体における波の消失
 4.9.5 Notch変異体における波の加速のメカニズム
 4.9.6 なぜゴマシオにならないのか?
コラム10 数式のデザイン

付録
引用・参考文献
おわりに
索引