バイオウェブ  


実験医学別冊 Experimental Medicine
改訂
独習Pythonバイオ情報解析
生成AI時代に活きるJupyter、NumPy、pandas、Matplotlib、Scanpyの基礎を身につけ、シングルセル、RNA-Seqデータ解析を自分の手で
 出版社  羊土社

〒101-0052
東京都千代田区神田小川町2-5-1
TEL 03-5282-1211
FAX 03-5282-1212
URL https://www.yodosha.co.jp/

先進ゲノム解析研究推進プラットフォーム/編

■ 改訂にあたり

【黒川 顕】

■ はじめに(初版)

【黒川 顕】

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

【森 宙史】

1.1 Pythonを用いる理由

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

1.2.1 macOSを推奨する理由

1.3 MinicondaおよびMiniforgeについて

1.3.1 MinicondaまたはMiniforgeのインストール方法

1.3.2 Pythonのバージョン確認

1.3.3 condaで利用するリポジトリの設定

1.3.4 condaによる仮想環境の構築について

1.4 プログラムの表記法

1.5 本書で何を扱わないか

1.6  本書で用いるプログラムやサンプルデータの置き場所

■ 第2章 生成AIを用いたプログラミング

【東 光一】

2.1 はじめに

2.2 生成AI時代にプログラミング学習が必要か?

2.3 LLMサービスのプログラミングにおける活用

2.3.1 代表的なLLMサービス

2.3.2 LLMの主要な活用場面

2.3.3 LLM利用の注意点

2.4 LLM利用の具体例

2.5 おわりに

■ 第3章 Jupyter Notebookの使い方

【谷澤靖洋】

3.1 Jupyter Notebookの基本操作

3.1.1 インストールと起動

3.1.2 新規ノートブックの作成

3.1.3 コードの実行

3.1.4 編集モードとコマンドモード

3.1.5 セルの種類

3.1.6 ヘルプの表示とキーボードショートカット

3.1.7 コマンドパレット

3.2 Jupyter Notebookの便利な機能

3.2.1 コマンドの補完

3.2.2 ヘルプの表示

3.2.3 マジックコマンド

3.2.4 シェルコマンドの利用

3.2.5 表形式データの表示

3.2.6 グラフの描画

3.3 今後の学習に向けて

3.3.1 JupyterLab

3.3.2 Google Colaboratory

3.3.3 Visual Studio Code

3.4 おわりに

■ 第4章 Python速習コース

【新海典夫】

4.1 はじめに

4.2 関数とメソッド

4.2.1 関数(functions)

4.2.2 メソッド(method)

4.3 変数

4.3.1 変数の基本

4.4 複合データ型

4.4.1 リスト(list)

4.4.2 タプル(tuple)

4.4.3 辞書型(ディクショナリ)

4.4.4 集合型(セット)

4.5 制御構文

4.5.1 if文

4.5.2 for文

4.5.3 while文

4.5.4 リスト内包表記

4.6 自作関数

4.6.1 自作関数の基本

4.6.2 可変長引数

4.7 モジュールのimport

4.8 おわりに

4.9 参考文献

▶参考1 sort()とsorted()

▶参考2 natsort

▶参考3 タプルとリストの違いについて

▶参考4 文字列のスライス操作

▶参考5 複合型データを学んだうえでの「変数」の補足(オブジェクト)

▶参考6 データのコピーについて

▶参考7 論理演算

▶参考8 「イテレータ」「イテラブル」といった用語について

■ 第5章 文字列処理の基本 〜ファイルの読み書き,正規表現

【高橋弘喜】

5.1 文字列処理

5.1.1 テキストファイル

5.1.2 バイナリファイル

5.2 ファイルの読み書き

5.2.1 ファイルを読み込む

5.2.2 ファイルに書き込む

5.2.3 改行コード

5.2.4 ファイル読み込み(具体例1:GFF3形式)

5.2.5 ファイル書き込み(具体例)

5.3 ファイル読み込み(具体例2:SAM形式)

5.3.1 ビット演算子

5.4 正規表現

5.5 おわりに

■ 第6章 Biopythonを用いた塩基配列データの扱い方 〜オブジェクト指向入門

【谷澤靖洋】

6.1 クラスを利用したプログラミング

6.1.1 クラスとオブジェクト

6.1.2 クラスを定義する

6.1.3 クラスの利用

6.1.4 より高度なクラスの利用

6.1.5 オブジェクト指向

6.2 Biopythonを使った配列ファイルの読み書き

6.2.1 SeqRecordオブジェクトとSeqオブジェクト

6.2.2 FASTAファイルの読み書き

6.2.3 FASTAファイルへのランダムアクセス

6.3 GenBankファイルの読み込み

6.3.1 GenBank形式ファイル

6.3.2 Biopythonを使ったGenBankファイルのパース

6.3.3 ファイル全体のfeatureをループで回す

6.4 GFFファイルの読み込み

6.4.1 GFFファイルの構造

6.4.2 GFFファイルのパース

6.4.3 GTFファイルについて

6.5 おわりに

▶参考 データクラスの利用

■ 第7章 pandasはじめの一歩 〜表形式データの扱い方

【坂本美佳】

7.1 準備

7.1.1 pandasのimport

7.1.2 本章で使用するデータファイル

7.2 Series

7.2.1 Seriesの作成と四則計算

7.2.2 データの抽出

7.3 DataFrameの基本操作

7.3.1 DataFrameの作成

7.3.2 DataFrameを使った計算

7.3.3 関数を使った操作

7.3.4 データの抽出

7.3.5 DataFrameの編集

7.4 欠損値,重複の扱い

7.4.1 欠損値の削除

7.4.2 欠損値の補完

7.4.3 重複の除去

7.4.4 メソッドチェーン

7.5 DataFrameに対する関数の適用

7.5.1 DataFrameの集計

7.5.2 NumPyの関数の利用

7.5.3 map関数の利用

7.6 行/列のループ処理

7.6.1 DataFrameをそのままループで回す

7.6.2 1行ずつor1列ずつ取り出す

7.6.3 forループを使う場合の注意点

7.7 DataFrameの結合

7.7.1 2つ以上のDataFrameの連結

7.7.2 indexをkeyとして連結

7.7.3 index以外をkeyとして連結

7.8 その他の機能

7.8.1 MultiIndex

7.8.2 データのグルーピング

7.8.3 カテゴリごとにグルーピングして計算

7.9 DataFrameの書き出し

7.10 おわりに

■ 第8章 RNA-Seqカウントデータの処理 〜pandas実践編

【坂本美佳】

8.1 準備

8.1.1 RNA-Seqとは

8.1.2 この章で用いるRNA-Seqデータ

8.1.3 本章で使用するデータファイル

8.2 データファイルの読み込みとアノテーション

8.2.1 カウントデータ

8.2.2 データの概観

8.2.3 列名を変更する

8.2.4 ミトコンドリア上の遺伝子を除く

8.2.5 アノテーションファイルの読み込み

8.2.6 カウントデータとdescriptionを連結する

8.2.7 カウントデータ部分の切り出し

8.2.8 ファイルの保存

8.3 カウントデータの正規化

8.3.1 リード数で正規化(RPM/FPM)

8.3.2 遺伝子長による正規化(RPKM/FPKM)

8.3.3 TPM正規化

8.3.4 NumPyを使った高速バージョンとの比較

8.4 発現変動遺伝子の抽出

8.5 TPM正規化したデータのクラスタリング

8.6 おわりに

■ 第9章 データの可視化 〜Matplotlib,Seabornを用いたグラフ作成

【孫 建強】

9.1 解析環境のセットアップおよびデータの準備

9.1.1 可視化ライブラリ

9.1.2 ライブラリのインストール

9.1.3 データの準備

9.2 Matplotlibライブラリの使い方

9.2.1 グラフのプロット領域

9.2.2 グラフの作成方法

9.2.3 グラフの保存方法

9.2.4 基本グラフを描くメソッド

9.2.5 座標軸や凡例を調整するメソッド

9.3 基本グラフ

9.3.1 ヒストグラム

9.3.2 ボックスプロット

9.3.3 散布図

9.3.4 線グラフ

9.3.5 棒グラフ

9.3.6 ヒートマップ

9.3.7 ベン図

9.4 プロット領域の分割

9.4.1 複数グラフ

9.5 おわりに

■ 第10章 統計的仮説検定 〜RNA-Seqデータを用いた検定の基本からモデル選択まで

【森 宙史】

10.1 必要ライブラリのimport

10.2 基本的な用語や概念

10.2.1 母集団と標本(サンプル)

10.2.2 標本データの尺度水準

10.2.3 確率変数と確率分布

10.3 さまざまな確率分布

10.3.1 二項分布

10.3.2 ポアソン分布

10.3.3 正規分布

10.4 統計的仮説検定について

10.4.1 帰無仮説と対立仮説

10.4.2 p

10.4.3 片側検定と両側検定

10.4.4 検定の使い分け

10.5 TPMデータを用いた検定の例

10.5.1 TPMとは

10.5.2 TPMデータの概観

10.5.3 相関係数について

10.5.4 群間の全体像の検定

10.5.5 群間の各カテゴリ(変数)の検定

10.6 検定の多重性の問題

10.7 実際のRNA-Seqにおける統計的仮説検定

10.8 GLMによる確率モデルの最尤推定とAICによるモデル選択

10.9 発現量変動解析について

10.10 DESeq2について

10.11 今後の統計的仮説検定の位置づけについて

■ 第11章 シングルセル解析(1)〜テーブルデータの前処理

【東 光一】

11.1 はじめに

11.1.1 高次元データを「見る」

11.1.2 scRNA-Seq解析

11.1.3 なぜわざわざ自分で解析するのか

11.1.4 本章で扱うデータ

11.2 データの前処理

11.2.1 データの読み込み

11.2.2 クオリティコントロール(細胞と遺伝子のフィルタリング)

11.2.3 データの正規化と対数変換

11.2.4 特徴量選択(発現量変動の大きい遺伝子の抽出)

11.2.5 データの標準化

11.2.6 処理データの保存

11.3 おわりに

■ 第12章 シングルセル解析(2)〜次元削減

【東 光一】

12.1 データ読み込み

12.2 主成分分析

12.3 t-SNE

12.3.1 t-SNEのアルゴリズム概要

12.3.2 t-SNEの注意点

12.3.3 t-SNEの実例

12.4 UMAP

12.4.1 UMAPのアルゴリズム概要

12.4.2 UMAPの実例

12.5 その他の次元削減手法

■ 第13章 シングルセル解析(3)〜クラスタリング

【東 光一】

13.1 データ読み込み

13.2 階層的クラスタリング

13.2.1 階層的クラスタリングのアルゴリズム概要

13.2.2 階層的クラスタリングの実例

13.3 k-meansクラスタリング

13.3.1 k-meansクラスタリングのアルゴリズム概要

13.3.2 k-meansクラスタリングの実例

13.4 近傍グラフに基づくクラスタリング

13.4.1 近傍グラフに基づくクラスタリングのアルゴリズム概要

13.4.2 Leiden法によるクラスタリングの実例

13.5 その他のクラスタリング手法

13.6 クラスタリング後の解析

13.7 おわりに:結局どれを使えばいいのか

■ 付録A NumPy入門

【東 光一】

A.1 NumPyのimport

A.2 NumPyで配列を作る

A.3 行ベクトルと列ベクトル

A.4 多次元配列を作る

A.5 二次元配列の操作

A.6 NumPyのブロードキャスト

A.7 乱数

A.8 実践

A.8.1 カウントデータを相対存在量に変換してみる

A.8.2 円周率のモンテカルロ計算

A.9 おわりに

■ 付録B Scanpyを使ったシングルセル解析

【東 光一】

B.1 はじめに

B.2 インストール

B.3 データセット

B.4 anndataの構造

B.5 Scanpyの概要

B.6 データの読み込み

B.7 クオリティコントロール(細胞と遺伝子のフィルタリング)

B.8 正規化

B.9 特徴量選択(発現量の変動が大きい遺伝子)

B.10 次元削減

B.10.1 主成分分析(PCA)

B.10.2 t分布型確率的近傍埋め込み(t-SNE)

B.10.3 UMAP

B.11 クラスタリング

B.12 深層生成モデルの利用

B.13 おわりに

■ 索引

■ 執筆者一覧


[バイオウェブ - HOME]BIOWEB(R)サービスに関するお問い合わせ: service@bioweb.ne.jp