- m3.com 電子書籍
- 実験医学別冊 独習 Pythonバイオ情報解析~Jupyter、NumPy、pandas、Matplotlibを理解し、実装して学ぶシングルセル、RNA-Seqデータ解析
実験医学別冊 独習 Pythonバイオ情報解析~Jupyter、NumPy、pandas、Matplotlibを理解し、実装して学ぶシングルセル、RNA-Seqデータ解析
先進ゲノム解析研究推進プラットフォーム (編) / 羊土社
商品情報
内容
※本製品はPCでの閲覧も可能です。
製品のご購入後、「購入済ライセンス一覧」より、オンライン環境で閲覧可能なPDF版をご覧いただけます。詳細はこちらでご確認ください。
推奨ブラウザ: Firefox 最新版 / Google Chrome 最新版 / Safari 最新版
PCブラウザ閲覧では動画再生には対応しておりません。
序文
はじめに
生物のもつ遺伝情報総体であるゲノム情報から,さまざまな生命現象を解明しようとする研究分野がゲノム科学(Genomics)です.次世代型DNA シークエンサー(NGS)の登場以降は,シークエンシングした塩基配列情報を生物学的な意味が付随する遺伝情報としてではなく,単なるシグナル情報として利用するRNA-Seq解析やChIP-Seq 解析などの新しい研究手法も登場し,ゲノム解読だけでなく多様な目的にゲノム科学が応用されるようになりました.技術革新のペースはさらに加速していて,メタゲノム解析,Hi-C 解析やシングルセル解析など,高度解析技術による新たな解析手法が猛烈な勢いで進展しています.これは科学や社会にとってはよいことなのですが,裏を返せば,これまで培ってきた解析手法が2 〜3 年で陳腐化するということを意味しているわけで,研究者にとっては大きな負担となっています.この負担を軽減するために,さまざまな解析ツールが開発・公開されており,それらツールを支える理論やアルゴリズムを理解していなくても,コマンドを入力すれば,もしくはソフトウェアのボタンをクリックすれば,最新の解析結果を簡単に得ることができるようになっています.
さて,ゲノム科学における代表的な推論方法はアブダクション(仮説形成)なので,仮説を裏付けるために多様なデータ群が必要となります.特にNGS 登場後は,マルチオミクスと称する膨大かつ多様なデータ群の解析が求められるため,解析アルゴリズムも多岐にわたり,また複雑さも増しています.しかし研究を進めるうえでは,使用するアルゴリズムの中身を理解しておく必要があり,単なるツールとして使い解析結果を出しただけでは誤った結論に至る可能性もあるし,そもそも科学的推論とは胸を張って言えなくなります.かねてより私たちはこのような状況を背景に,生命科学系研究者の情報解析をプラットフォームとして支援しており(先進ゲノム支援,奥付プロフィール参照),その事業の一端として,プログラミング言語Pythonを用いた初級者向けおよび中級者向けの講習会を行っています.本書で扱うトピックの多くは,この中級者向け講習会をもとにしています.講習会で得られた学習のノウハウを詰め込みつつ,単にツールの使い方を紹介する便利な本ではなく,解析の本質やアルゴリズムを理解できる教科書にしたいと思いました.したがって,手っ取り早くツールの使い方を知りたい方には,冗長でほしい知識に簡単に辿り着けない面倒臭い本,として分類されてしまうかもしれません.自らプログラミングを実践し,解析を進め,結果を得る.その途上で,仮説形成のためになぜそのような解析が必要になるのか,目的のためにはどのようなアルゴリズムが有効なのか,などを理解しつつ,D. E. Knuth 先生のThe Art of Computer Programming のように,常に戻って参照できる,そこを基礎として発展できる,というような教科書をめざして編集しました.各章の文章は原則的に筆者の皆さんの原文ママとしています.その結果,章ごとに文体が異なる,少々「荒削り」な書籍となっていますが,著者の人物像を垣間見つつ,より臨場感をもって楽しく学習していただければと思っています.
最後に,講習会の際にいつも手伝ってくださっている国立遺伝学研究所 生命情報・DDBJ センターの皆様,ライフサイエンス統合データベースセンター(DBCLS)の皆様,先進ゲノム支援の皆様,さらには私どもの編集方針を理解し出版にまでこぎ着けていただいた羊土社の皆様に心より感謝申し上げます.
2021年2月
編集を代表して
黒川 顕
目次
第1章 この本の使い方と事前準備【森 宙史】
1.1 Python を用いる理由
1.2 プログラミングを行うためのマシンの用意
1.2.1 macOS を推奨する理由
1.3 Anaconda について
1.3.1 Anaconda のインストール方法
1.3.2 Python のバージョン確認
1.4 プログラムの表記法
1.5 本書で何を扱わないか
1.6 本書で用いるプログラムやサンプルデータの置き場所
第2章 Jupyter Notebook の使い方【谷澤靖洋】
2.1 Jupyter Notebook の基本操作
2.1.1 インストールと起動
2.1.2 新規ノートブックの作成
2.1.3 コードの実行
2.1.4 編集モードとコマンドモード
2.1.5 セルの種類
2.1.6 ヘルプの表示とキーボードショートカット
2.1.7 コマンドパレット
2.2 Jupyter Notebook の便利な機能
2.2.1 コマンドの補完
2.2.2 ヘルプの表示
2.2.3 マジックコマンド
2.2.4 シェルコマンドの利用
2.2.5 表形式データの表示
2.2.6 グラフの描画
2.3 Jupyter Notebook の拡張
2.3.1 Notebook Extensions
2.3.2 カーネルの追加
2.4 今後の学習に向けて
2.4.1 JupyterLab
2.4.2 Google Colaboratory
2.5 おわりに
第3章 Python 速習コース【新海典夫】
3.1 はじめに
3.2 関数とメソッド
3.2.1 関数(functions)
3.2.2 メソッド(method)
3.3 変数
3.3.1 変数の基本
3.4 複合データ型
3.4.1 リスト(list)
3.4.2 タプル(tuple)
3.4.3 辞書型(ディクショナリ)
3.4.4 集合型(セット)
3.5 制御構文
3.5.1 if 文
3.5.2 for 文
3.5.3 while 文
3.5.4 リスト内包表記
3.6 自作関数
3.6.1 自作関数の基本
3.6.2 可変長引数
3.7 モジュールのimport
3.8 おわりに
3.9 参考
第4章 文字列処理の基本 〜ファイルの読み書き,正規表現【高橋弘喜】
4.1 文字列処理
4.1.1 テキストファイル
4.1.2 バイナリファイル
4.2 ファイルの読み書き
4.2.1 ファイルを読み込む
4.2.2 ファイルに書き込む
4.2.3 改行コード
4.2.4 ファイル読み込み(具体例)
4.2.5 ファイル書き込み(具体例)
4.3 SAM
4.3.1 ビット演算子
4.3.2 SAM1
4.3.3 SAM2
4.4 正規表現
4.5 おわりに
第5章 Biopython を用いた塩基配列データの扱い方 〜オブジェクト指向入門【谷澤靖洋】
5.1 クラスを利用したプログラミング
5.1.1 クラスとオブジェクト
5.1.2 クラスを定義する
5.1.3 クラスの利用
5.1.4 より高度なクラスの利用
5.1.5 オブジェクト指向
5.2 Biopython を使った配列ファイルの読み書き
5.2.1 SeqRecord オブジェクトとSeq オブジェクト
5.2.2 FASTA ファイルの読み書き
5.2.3 FASTA ファイルへのランダムアクセス
5.3 GenBank ファイルの読み込み
5.3.1 GenBank 形式ファイル
5.3.2 Biopython を使ったGenBank ファイルのパース
5.3.3 ファイル全体のfeature をループで回す
5.4 GFF ファイルの読み込み
5.4.1 GFF ファイルの構造
5.4.2 GFF ファイルのパース
5.4.3 GTF ファイルについて
5.5 おわりに
第6章 pandas はじめの一歩 〜表形式データの扱い方【坂本美佳】
6.1 準備
6.1.1 pandas のimport
6.1.2 本章で使用するデータファイル
6.2 Series
6.2.1 Series の作成と四則計算
6.2.2 データの抽出
6.3 DataFrame の基本操作
6.3.1 DataFrame の作成
6.3.2 DataFrame を使った計算
6.3.3 関数を使った操作
6.3.4 データの抽出
6.3.5 DataFrame の編集
6.4 欠損値,重複の扱い
6.4.1 欠損値の削除
6.4.2 欠損値の補完
6.4.3 重複の除去
6.4.4 メソッドチェーン
6.5 DataFrame に対する関数の適用
6.5.1 DataFrame の集計
6.5.2 NumPy の関数の利用
6.5.3 map 関数の利用
6.6 行/列のループ処理
6.6.1 DataFrame をそのままループで回す
6.6.2 1 行ずつor1 列ずつ取り出す
6.6.3 for ループを使う場合の注意点
6.7 DataFrame の結合
6.7.1 2 つ以上のDataFrame の連結
6.7.2 index をkey として連結
6.7.3 index 以外をkey として連結
6.8 その他の機能
6.8.1 MultiIndex
6.8.2 データのグルーピング
6.8.3 カテゴリごとにグルーピングして計算
6.9 DataFrame の書き出し
6.10 おわりに
第7章 RNA-Seq カウントデータの処理 〜pandas 実践編【坂本美佳】
7.1 準備
7.1.1 RNA-Seq とは
7.1.2 この章で用いるRNA-Seq データ
7.1.3 本章で使用するデータファイル
7.2 データファイルの読み込みとアノテーション
7.2.1 カウントデータ
7.2.2 データの概観
7.2.3 列名を変更する
7.2.4 ミトコンドリア上の遺伝子を除く
7.2.5 アノテーションファイルの読み込み
7.2.6 カウントデータとdescription を連結する
7.2.7 カウントデータ部分の切り出し
7.2.8 ファイルの保存
7.3 カウントデータの正規化
7.3.1 リード数で正規化(RPM / FPM)
7.3.2 遺伝子長による正規化(RPKM / FPKM)
7.3.3 TPM 正規化
7.3.4 NumPy を使った高速バージョンとの比較
7.4 発現変動遺伝子の抽出
7.5 TPM 正規化したデータのクラスタリング
7.6 おわりに
第8章 データの可視化 〜Matplotlib,Seaborn を用いたグラフ作成【孫 建強】
8.1 解析環境のセットアップおよびデータの準備
8.1.1 可視化ライブラリ
8.1.2 ライブラリのインストール
8.1.3 データセットの準備
8.2 Matplotlib ライブラリの使い方
8.2.1 グラフのプロット領域
8.2.2 グラフの作成方法
8.2.3 グラフの保存方法
8.2.4 基本グラフを描くメソッド
8.2.5 座標軸や凡例を調整するメソッド
8.3 基本グラフ
8.3.1 ヒストグラム
8.3.2 ボックスプロット
8.3.3 散布図
8.3.4 線グラフ
8.3.5 棒グラフ
8.3.6 ヒートマップ
8.3.7 ベン図
8.4 プロット領域の分割
8.4.1 複数グラフ
8.5 おわりに
第9章 統計的仮説検定 〜RNA-Seq データを用いた検定の基本からモデル選択まで【森 宙史】
9.1 必要ライブラリのimport
9.2 基本的な用語や概念
9.2.1 母集団と標本(サンプル)
9.2.2 標本データの尺度水準
9.2.3 確率変数と確率分布
9.3 さまざまな確率分布
9.3.1 二項分布
9.3.2 ポアソン分布
9.3.3 正規分布
9.4 統計的仮説検定について
9.4.1 帰無仮説と対立仮説
9.4.2 p 値
9.4.3 片側検定と両側検定
9.4.4 検定の使い分け
9.5 TPM データを用いた検定の例
9.5.1 TPM とは
9.5.2 TPM データの概観
9.5.3 相関係数について
9.5.4 群間の全体像の検定
9.5.5 群間の各カテゴリ(変数)の検定
9.6 検定の多重性の問題
9.7 実際のRNA-Seq における統計的仮説検定
9.8 GLM による確率モデルの最尤推定とAIC によるモデル選択
9.9 発現量変動解析について
9.10 DESeq2 について
9.11 今後の統計的仮説検定の位置づけについて
第10章 シングルセル解析① 〜テーブルデータの前処理【東 光一】
10.1 はじめに
10.1.1 高次元データを「見る」
10.1.2 scRNA-Seq 解析
10.1.3 なぜわざわざ自分で解析するのか
10.1.4 本章で扱うデータ
10.2 データの前処理
10.2.1 データの読み込み
10.2.2 クオリティコントロール(細胞と遺伝子のフィルタリング)
10.2.3 データの正規化と対数変換
10.2.4 特徴量選択(発現量変動の大きい遺伝子の抽出)
10.2.5 データの標準化
10.2.6 処理データの保存
10.3 おわりに
第11章 シングルセル解析② 〜次元削減【東 光一】
11.1 データ読み込み
11.2 主成分分析
11.3 t-SNE
11.3.1 t-SNE のアルゴリズム概要
11.3.2 t-SNE の注意点
11.3.3 t-SNE の実例
11.4 UMAP
11.4.1 UMAP のアルゴリズム概要
11.4.2 UMAP の実例
11.5 その他の次元削減手法
第12章 シングルセル解析③ 〜クラスタリング【東 光一】
12.1 データ読み込み
12.2 階層的クラスタリング
12.3 k -means クラスタリング
12.4 近傍グラフに基づくクラスタリング
12.5 その他のクラスタリング手法
12.6 クラスタリング後の解析
12.7 おわりに:結局どれを使えばいいのか
付録A NumPy 入門【東 光一】
A.1 NumPy のimport
A.2 NumPy で配列を作る
A.3 行ベクトルと列ベクトル
A.4 多次元配列を作る
A.5 二次元配列の操作
A.6 NumPy のブロードキャスト
A.7 実践:カウントデータを相対存在量に変換してみる
A.8 おわりに
付録B Scanpy を使ったシングルセル解析【東 光一】
B.1 Scanpy のimport
B.2 anndata の構造
B.3 anndata に対する計算と結果の格納
B.4 Scanpy のプロット関数
B.4.1 バイオリンプロット
B.4.2 散布図
B.5 細胞と遺伝子のフィルタリング,正規化と標準化
B.6 次元削減
B.6.1 主成分分析
B.6.2 UMAP
B.7 クラスタリング
B.8 おわりに
便利機能
- 対応
- 一部対応
- 未対応
-
全文・
串刺検索 -
目次・
索引リンク - PCブラウザ閲覧
- メモ・付箋
-
PubMed
リンク - 動画再生
- 音声再生
- 今日の治療薬リンク
- イヤーノートリンク
-
南山堂医学
大辞典
リンク
- 対応
- 一部対応
- 未対応
対応機種
-
iOS 最新バージョンのOSをご利用ください
外部メモリ:28.1MB以上(インストール時:61.9MB以上)
ダウンロード時に必要なメモリ:112.3MB以上
-
AndroidOS 最新バージョンのOSをご利用ください
外部メモリ:28.1MB以上(インストール時:61.9MB以上)
ダウンロード時に必要なメモリ:112.3MB以上
- コンテンツのインストールにあたり、無線LANへの接続環境が必要です(3G回線によるインストールも可能ですが、データ量の多い通信のため、通信料が高額となりますので、無線LANを推奨しております)。
- コンテンツの使用にあたり、m3.com電子書籍アプリが必要です。 導入方法の詳細はこちら
- Appleロゴは、Apple Inc.の商標です。
- Androidロゴは Google LLC の商標です。
書籍情報
- ISBN:9784758122498
- ページ数:408頁
- 書籍発行日:2021年3月
- 電子版発売日:2021年4月14日
- 判:AB判
- 種別:eBook版 → 詳細はこちら
- 同時利用可能端末数:3
お客様の声
まだ投稿されていません
特記事項
※ご入金確認後、メールにてご案内するダウンロード方法によりダウンロードしていただくとご使用いただけます。
※コンテンツの使用にあたり、m3.com 電子書籍が必要です。
※eBook版は、書籍の体裁そのままで表示しますので、ディスプレイサイズが7インチ以上の端末でのご使用を推奨します。