データ解析をはじめようか迷っているあなたへ
環境設定からコマンドライン操作まで本書でイチからマスターしよう!
ビッグデータの解析に欠かせないコマンドラインの実践書、待望の改訂。今版はMacのみならず、Windows、Linuxの各OSに対応。「実際に解析ができるようになる」ために、解析ソフトウェアのインストールから、解析用に用意されたダミーデータを使用したコマンドの打ち込みを行い、データ解析を丸ごと体験できる。よくある疑問や陥りがちな誤りにも言及された初学者からベテランまで必携の一冊。
序文
Dr. Bono のデータ解析8 箇条
1 章 準備編
1.1 コンピュータを買おう
デスクトップ型かノート型か
基本満タン
優先順位はCPUよりもメモリの方が高い
1.2 コンピュータをセットアップしよう
ネットワーク設定を確認せよ
自動的にスリープさせない設定にすべし
有用ユーティリティを常駐させるべし
1.3 周辺機器の設定
外付けドライブは買ったらすぐフォーマットすべし
バックアップをとるべし
2 章 基礎編
2.1 UNIX コマンドラインを使ってみよう
ビッグデータ対応
時間節約
繰り返し処理
必要性
再現性
2.2 コマンドラインの基本操作
ディレクトリとは
ディレクトリ操作のコマンド
ファイル操作
基本コマンド
ファイルの中身を見る,探す
ファイルの権限を変更する
ファイルやディレクトリの測定
ファイルの圧縮と展開
パイプとリダイレクト
プロセス操作
シェルコマンド
コマンドサーチパス
いろいろなパス表記
2.3 シェルプログラミングのための環境構築
パッケージマネージャーで環境構築
Biocondaのインストール
Biocondaの利用例1:coreutils
Biocondaの利用例2:EMBOSS
Bioconda以外のパッケージマネージャー
繰り返し処理
バッチスクリプト
Git,GitHubの利用
生命科学分野で使われるプログラミング言語
awk
Perl
Ruby
R
Python
Julia
再現する計算結果をめざして:Docker
2.4 ネットワークを介して遠隔のコンピュータを操作する
ssh
rsync
byobu
byobuのインストールとそのトラブルシューティング
byobuの初期設定
byobuの使いこなし
2.5 公共データベースからのデータ取得
コマンドラインでのデータ取得
curlやwgetによるコマンドラインファイル取得
TOGOWSによる個別の塩基配列取得
繰り返し処理によるデータ取得(通し番号編)
繰り返し処理によるデータ取得(リスト編)
DBそのものの取得
lftp による再帰的なバッチスクリプトを用いた取得
3 章 実践編
3.1 ゲノム配列解析の初歩
リファレンスゲノム配列データの取得
コマンドラインでの SRAからのデータ取得
ゲノムマッピング
bwa
Bowtie
SAM-BAM変換
スプライスマッピング
HISAT
STAR
3.2 配列類似性検索
BLASTのインストール
BLAST用DBの作成
コマンドラインBLAST検索実行
queryもDBも塩基配列
queryはアミノ酸配列,DBは塩基配列
DB はアミノ酸配列
DB 中の必要なエントリだけ抜き出す
1エントリだけ抜き出す
複数エントリを一気に抜き出す
応用例1:予測遺伝子セットの機能アノテーション
応用例2:メタゲノムデータ解析
SRA からのデータ取得
FASTQをFASTAに変換
BLAST検索
応用例3:ローカルにBLAST ウェブサーバーを立てる
3.3 系統樹作成
多重配列アラインメントと分子系統樹
配列取得
混ぜるな危険
1エントリごとに,こまめに集めてくる
配列類似性検索で集めてくる
多重配列アラインメントの実行
多重配列アラインメントの可視化
シークエンスロゴによる可視化
系統樹作成と可視化
結果の解釈
3.4 タンパク質構造解析
タンパク質ドメインのデータベース
InterPro
Pfam
タンパク質ドメインの配列解析
インストール
タンパク質配列データベースに対して検索
タンパク質ドメインを検索
検索結果の可視化
タンパク質ドメインから立体構造へ
3.5 トランスクリプトーム解析
RNA-seqデータ解析手法
リファレンス配列情報を利用したRNA-seqデータ解析手法
発現定量解析の実際
query配列の取得とその処理
トランスクリプトーム配列の取得とそのindex作成
salmonによる発現定量
Bioconductorのパッケージを使って遺伝子ごとの発現値へ変換
発現差解析
多数のサンプルを一気に処理する
参照ゲノム配列なしのRNA-seq解析手法
入力配列の品質管理
その後の解析
3.6 データ統合解析
リファレンスデータセット
遺伝子アノテーションデータ
遺伝子発現のリファレンスデータセット
IDによる連結
IDの包含関係
データ連結の実際
連結するための処理
一対多のデータ処理
ゲノム上の座標による連結
索引
コラム
● コアとスレッド
● 絶対パスと相対パス
● USB接続機器にコマンドラインからアクセスするには
● 特別な意味をもつ文字
● htop
● コマンドラインのコピー&ペースト
● 正常にcondaインストールできなくなったら
● パッケージマネージャーの歴史
● テキストエディタを使いこなそう
● URLのさまざまなスキーム名とHTTPS問題
● DBエントリのバージョン
● MD5とは
● セキュリティ問題を回避する方法
● ドメイン?モチーフ?
● 並列版圧縮プログラム
● 発現量0とは
● Jupyter notebook
『生命科学者のためのDr. Bonoデータ解析実践道場』(以下,道場本)を令和元年の2019年に上梓してからはや4年となる。その間にコロナウイルスの蔓延だけでなく,この本の内容を実践する「バイオインフォマティクス」の授業を持ち,リアルに「Dr. Bono道場」を実践することになっただけでなく,Dr.BonoからProf.Bonoとなり自らの研究室(bonohulab)を開くなど,大きな変化が起きた。毎年4月から8月にかけて,道場本を教科書に「bonohulab道場」を毎週開催している。早いもので,それも今年度(2023年度)で3回目となった。
その間,Windows上でLinux環境を実現するWindows Subsystem forLinux(WSL)のバージョン2であるWSL2が実用的になり,bonohulabでも複数台のシステムを維持しており実際の配列データ解析に多用されている*。また,Macに関してもCPUが独自開発のApple silicon(M1やM2とも呼ばれる)になり,Rosetta 2 を介した互換性があるものの,これまでのBiocondaによるプログラムの導入方法ではうまく動かないケースが出てきた。さらにmacOSのアップデートに伴うセキュリティ対策強化の結果,有名どころのバイオインフォマティクスツールであっても「認証ソフトウェア」とはなっておらず,その結果,ダウンロードしてきて実行すると未認証としてブロックされ,これまで流布している手順ではうまくいかないことも多々起こっている。
しかしながら,この状況に対応した書籍は今のところ出版されてはいない。もちろん,ネット上にはさまざま情報があり,それをうまく集めれば多くの場合解決するだろう。しかし,アップデートの激しいこの分野においては,さまざま時期に書かれた情報があふれている結果,どれを信頼して良いかの判断も難しいのが実情である。2020年代の今,2010年代よりもむしろ参入障壁は高くなっているのではないだろうか。
そこで,初版の出版以来,実に4年ぶりに参加した2022年12月の日本分子生物学会年会で道場本の改訂が可能なものか,版元であるMEDSi(株式会社メディカル・サイエンス・インターナショナル)の編集者・星山さんと相談した。その結果,上述の状況があることを受け,「データ解析道場」として,より初心者に配慮した本として改訂版を作成することとなった。Applesilicon Macのみならず,これまでのIntel Mac,さらにはWindows(WSL2)での学習も視野にいれた本にしようと,分生の終了直後から改訂に取り組みはじめたのだが,その道のりは決して平坦ではなかった。
まず,Apple siliconでの解決法の模索である。多くはHomebrewの併用でなんとかなったが,なんともならないプログラム(HMMERやsalmonなど)もあった。それらに対してはDockerの使用で乗り切る方策を付記した。これまでのデフォルトであったIntel Macと,それに加えて利用者の増えているWSL2での動作確認も一通り行った。また,これまで紹介していたデータベースも使えなくなっているものが複数あり(PfamやEnsembl Biomart上でのKEGGなど),それに対する対応も多数行った。この4年余りでこんなにも変わっていたのか,とその変化に驚かされた。まさに「諸行無常」である。
改訂にあたり,bonohulabで学位取得第一号となった小野擁子博士にはJupyter Notebookのコードの実例を提供していただくなどお世話になった。また,大学院生時代に初版でデータ解析を勉強したというbonohulabの大貫永輝さんにはかつてのユーザー目線での数々の助言をいただいた。彼以外の多数の読者,特に広島大学ゲノム編集先端人材育成プログラム(卓越大学院プログラム)の「バイオインフォマティクス」の受講者には,初版の不具合に気づくきっかけを与えていただいた。最後に,実際にbonohulab道場に参加した研究室メンバーとの日常のディスカッションがヒントとなって今回の改訂でのさまざまなコンテンツになっている。ここに御礼申し上げる。
2023年初夏 梅雨明けが待ち遠しい,東広島にて
坊農秀雅
2024-11-19
【正誤表】下記の箇所に誤りがございました。ここに訂正するとともに, 読者の方々に深くお詫びいたします。
17ページ 「必要性」 2段落目,2行目
(誤)
(p. ●,「2.5 公共データベースからのデータ取得」参照)
(正)
(p. 70,「2.5 公共データベースからのデータ取得」参照)
2023-12-18
【正誤表】下記の箇所に誤りがございました。ここに訂正するとともに, 読者の方々に深くお詫びいたします。
p58 中段,ボックスの中 2行目
(誤) % docker▪️run▪️-rm▪️-it▪️beezu/cmatrix
(正) % docker▪️run▪️--rm▪️-it▪️beezu/cmatrix