実験医学別冊:独習 Pythonバイオ情報解析〜Jupyter、NumPy、pandas、Matplotlibを理解し、実装して学ぶシングルセル、RNA-Seqデータ解析
実験医学別冊

独習 Pythonバイオ情報解析

Jupyter、NumPy、pandas、Matplotlibを理解し、実装して学ぶシングルセル、RNA-Seqデータ解析

  • 先進ゲノム解析研究推進プラットフォーム/編
  • 2021年03月22日発行
  • AB判
  • 407ページ
  • ISBN 978-4-7581-2249-8
  • 6,600(本体6,000円+税)
  • 在庫:なし
本書を一部お読みいただけます

第1章 この本の使い方と事前準備

森 宙史
(国立遺伝学研究所)

本章では,第3章以降で具体的にプログラミングや解析を行ううえで必要な事前準備について解説する.なお,すでに Pythonのプログラミング経験があり,環境構築が済んでいる方はこの章は読み飛ばしていただいてかまわない.

1.1Pythonを用いる理由

データサイエンスの分野ではPython(パイソン)の人気が圧倒的であり,Pythonを用いた機械学習等に関する書籍も毎月のように出版されている.Pythonは,汎用プログラミング言語としての自由度と,RやMATLAB,SAS等のドメイン特化のプログラミング言語の使いやすさを併せ持っている.使いやすさの主な要因として,データの読み込み,可視化,統計,機械学習,画像処理等のさまざまな用途にそれぞれ特化したライブラリが多数用意されている点が挙げられる.ただし,PythonはR等と比べると,統計的仮説検定等の機能を実装する際のソースコードの行数(LOC)が多くなりがちである.それもあってPythonは生命科学系の研究者にとってハードルが高く感じられるかもしれない.しかしながら,R等と比べてLOCが多いことは,Pythonのプログラムのカスタマイズしやすさ,つまり汎用性の裏返しでもある.本書では,読者がバイオインフォマティクスの技術を日常的に用いるようになり,さらには読者の中から新たなバイオインフォマティクス研究者が多数生まれることを期待し,汎用性を重視してPythonを選択した.

1.2プログラミングを行うためのマシンの用意

本書では,新型シークエンサー由来の数GB以上のデータを基本的な題材としてPythonプログラミングおよび情報解析を進める.そのため,ある程度のスペックのコンピューターを必要とする.大まかに必要なマシンスペックを以下に示す.

  • メモリ(RAM):4GB以上
  • ハードディスク空き容量:20GB以上
  • OS:macOS(可能であれば)

本書の実習では,上記のスペックのマシンでストレスを感じることはないだろう.しかし,実際の塩基配列データの情報解析においてはすべてを1つのコンピューターで行うことは想定しておらず,巨大な塩基配列データを使ってアセンブルや配列類似性検索等の計算を行う場合にはCPUやメモリが不足する可能性が高い.そのような場合には,より強力なスペックのLinuxサーバー等を情報解析に用いることをお勧めする.

1.2.1macOSを推奨する理由

本書では,読者が本書の内容を自分のマシンで実習する際のOSに,macOSを推奨している.ただしこれは推奨であり,必須ではない.一般的に,バイオインフォマティクスの研究者が情報解析する際に,主力とするサーバーやスーパーコンピューターのOSは,Linuxであることが多い.macOSはLinuxで用いるコマンドラインの処理系(シェル)を標準で備えているため,macOSを使えばローカルのコンピューターでもサーバーと同様のコマンドで処理ができ,これが大きな利点となっている.また,多くのバイオインフォマティクスのオープンソースのソフトウェアはLinuxやmacOSにインストールして使用することを想定して開発されており,Windowsでは動かないソフトウェアも多数存在する.これらが,この本の実習環境としてWindowsではなくmacOSを推奨する理由である.

一方,Windowsでもごく最近Windows Subsystem for Linux 2(WSL2)が使えるようになり,Windows内でLinuxの仮想マシンを立ち上げて使用することができるようになった.著者らは本書の内容をWSL2上でテストしていないので,本書の実習をするうえではWSL2を推奨しないが,WSL2の登場により,今後はWindowsマシンもバイオインフォマティクスの研究や解析で利用しやすくなっていくと予想される.

macOSではなく,Ubuntu等のLinuxディストリビューションをメインで使用している読者もおられるかと思う.その場合は,あえてmacOSのマシンをもう1つ用意する必要はないと思われるが,著者らが本書の内容をUbuntu等でテストしていないため,実習を行う過程でなんらかの問題が生じる可能性もある点にはご注意いただきたい.

1.3Anacondaについて

PythonとさまざまなPythonのライブラリをコンピューターにまとめてインストールする方法として,本書では,Anaconda(アナコンダ)の利用を推奨する.Anacondaは,科学技術に関する計算を行うためのライブラリをまとめたPythonのディストリビューションであり,簡単にPythonを利用する環境を構築できる.Anacondaについての詳細な情報はwww.anaconda.comで得ることができる.

1.3.1Anacondaのインストール方法

Anacondaは,www.anaconda.com/products/individualからダウンロード可能である.なお,本書で随所に現れるPythonのソースコードは,Pythonのバージョン3(Python3)に準拠して書かれている.基本的に,Pythonのバージョンは,Anacondaで現在利用可能なPython3の最新のリリース(例:Python3.7など)の使用を推奨する.Anacondaをダウンロードする際には,Python2版とPython3版のAnacondaがそれぞれ用意されているので,Python3のAnacondaをダウンロードする.macOS,Windows,LinuxそれぞれのOSにおけるインストール方法は,Pythonについての日本語の情報サイトの1つであるpython.jpに流れが書かれているので,参照されたい(www.python.jp/install/anaconda/).手持ちのコンピュータにAnacondaがインストールされると,次のコマンドでPythonのさまざまなパッケージを追加でインストールできるようになり便利である.

conda install パッケージ名

1.3.2Pythonのバージョン確認

Anacondaがインストールできたら,コンピューターにおいてデフォルトで使われるPythonのバージョンを確認する.macOSの場合,コマンドラインで処理を実行可能なアプリケーションであるターミナルを開き,

python --version

とコマンドを入力して実行する.すると,

Python 3.7.3

等,コンピューターにおいてデフォルトで使用されるPythonのバージョンが表示される.もし,Pythonが見つからない旨のエラーメッセージが出た場合は,Anacondaのインストールが正常にできなかった可能性が高い.その場合は,Anacondaのインストール手順を再確認し,再度Anacondaのダウンロードとインストールを行う必要がある.また,表示されたPythonのバージョンが2.xであった場合には,Anacondaのインストール前にすでにコンピュータにPython2がインストールされており,コンピュータでPython3ではなくPython2がデフォルトで使われることを意味する.その場合は,複数のPythonのバージョンを切り替えて運用可能なpyenv等のソフトウェアをインストールして,Python3を任意のタイミングで使えるようにし,本書の実習を行う際はPython3を用いることを推奨する.

1.4プログラムの表記法

本書では,Pythonのソースコードを,第3章で紹介するJupyter Notebookにおける標準の色づけ(シンタックスハイライト)を採用して表示している.具体的には,ソースコードは下記のように色づけされている.

  • 文字列:赤
  • 文字列以外のデータ形式:緑
  • Pythonの標準の関数名:緑
  • 演算子:紫
  • コメント:斜体

また,まとまったプログラムは,1.6で後述する羊土社の書籍購入者限定の特典ページ(Webサイト)からダウンロード可能である.

1.5本書で何を扱わないか

本書は,生命科学を学び研究する大学院生や研究者が,ある程度のバイオインフォマティクス解析を自分で行えるようになることを手助けする目的で書かれている.本書を読む際のハードルを少しでも下げるために,多くの生命科学者にとっては馴染みが薄い複雑な数式の使用を最小限にとどめた.またページ数の都合もあり,

  • 生命科学で頻出する概念や用語
  • 表形式データを作る前のRNA-Seqの塩基配列データの解析方法
  • 一般的な統計解析や多変量解析の理論的詳細
  • 汎用的なPythonプログラミングの詳細

の4点について本書では深く扱っていない.これらを深く学びたい場合は,それぞれ個々に良い日本語の書籍がすでにいくつも存在しており,本書中の該当する章でも紹介しているため,それらを読んでいただきたい.Pythonプログラミングについては,第3章で基本的な文法について概説しているが,プログラミングが完全に未経験の方はPythonのプログラミングで用いるリストや関数,制御構文等について,イメージがしにくいかもしれない.その場合は,先に第3章の最後に紹介されているPythonプログラミングの初歩的な入門書のどれかを読んでおくことをお勧めする.

書籍概略はこちら
実験医学別冊:独習 Pythonバイオ情報解析〜Jupyter、NumPy、pandas、Matplotlibを理解し、実装して学ぶシングルセル、RNA-Seqデータ解析
実験医学別冊

独習 Pythonバイオ情報解析

Jupyter、NumPy、pandas、Matplotlibを理解し、実装して学ぶシングルセル、RNA-Seqデータ解析

  • 先進ゲノム解析研究推進プラットフォーム/編
  • 6,600(本体6,000円+税)
  • 在庫:なし