次世代シーケンス(NGS)は、ゲノム解析、トランスクリプトーム解析、メタゲノム解析など、さまざまなアプリケーションで活用されていますが、NGSで得られる膨大なデータの取り扱いは一筋縄ではいきません。
そこで今回は、Python™を使って、比較的簡単にNGSデータの可視化を行う方法についてご紹介いたします。お手持ちのIon Torrent™発現解析データを使って、ぜひ試してみてください。
本ブログでは、Pythonを使ったデータの可視化について、準備編としてプログラムのインストールとデータの読み込みまでをご紹介します。
※Windows™ PCの利用を想定しています。
▼こんな方におすすめです!
・次世代シーケンシング解析を始めたばかりの方
・コマンドラインのプログラムに興味があるけれど未経験の方
・NGSデータの可視化に興味のある方
PythonとJupyter Notebook のインストール
まず、Pythonの公式サイトにアクセスして、プログラムをインストールします。
ご自身のPCに対応したファイルをダウンロードし、ファイルをダブルクリックします。表示されるウィンドウで、Add python_exe to PATHにチェックし、Install Nowをクリックしてインストールを開始します。インストールが完了したら、Windowsシステムツールのコマンドプロンプトを選択して起動し、pythonと入力してキーボードのエンターキーを押し、Pythonが起動することを確認します。
C: \Users\UserName > python Python 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit Type "help", "copyright", "credits" or "license" for more information. >>> |
確認したら、quit()またはexit()と入力してエンターキーを押し、pythonを終了します。
C: \Users\UserName > python Python 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit Type "help", "copyright", "credits" or "license" for more information. >>> quit() C:\Users\UserName > |
最初に、pipというツールがインストールされていることを確認します。pipは、ライブラリ (pythonで特定の処理を進めるために複数の機能をまとめたもの)のインストールや、インストール前にライブラリ間の依存関係の解消、重複インストールのチェックなどを自動で行ってくれる便利なツールです。pip -Vと入力してキーボードのエンターキーを押し、pipのバージョンが表示されることを確認します。
C:\Users\UserName > pip -V pip 23.2.1 from C:\Uses\UserName\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip (python 3.11) |
次に、今回pythonの操作で使用するJupyter™ Notebookをインストールします。Jupyter Notebookは、Pythonをブラウザー上で開き、プログラムを実行したり、実行した結果を表示させたりまとめて保存したりすることのできるツールです。どなたでも無償でご利用いただけます。
python -m pip install jupyterと入力してエンターキーを押し、インストールします。
C:\Users\UserName > python -m pip install jupyter Collecting jupyter using cached jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB) Collecting notebook (from jupyter) Obtaining dependency information for notebook from https://files.pythonhosted.org/packages/29/e0/50b4873fcb99651dd21302da50ae2c49113ccf3df b901fc6aaa3117e7ed/notebook-7.0.4-py3-none-any.whl.metadata Downloading notebook-7.0.4-py3-none-any.whl.metadata (10 kB) C:\Users\UserName > |
プロンプト(最後が”>”で終わる行)が戻ってくればインストール完了です。
Jupyter Notebookの起動とデータの読み込み
インストールしたJupyter Notebookを起動してみましょう。
C:\Users\UserName > jupyter notebook |
コマンドプロンプトでjupyter notebookと入力してエンターキーを押すと、ブラウザーが起動します。
ブラウザー上にJupyter Notebook のDashboard の画面が表示されます。
Newをクリックし、Notebookを選択し、Select KernelのウィンドウでそのままSelectをクリックすると、新規のファイルが作成されますので、ここにコマンドを入力して処理を進めます。解析データ等をインポートする場合、Uploadをクリックしてファイルを選択すると、現在作業しているディレクトリに保存できます。
まずは今回使用するライブラリをインストールします。下記のコマンドを入力したら、画面の再生ボタンのようなアイコン(▶)をクリックして、処理を実行します。
!pip install scikit-learn !pip install pandas !pip install matplotlib !pip install seaborn |
インストールしたライブラリをインポートして、使える状態にします。
import sklearn import pandas as pd import matplotlib import seaborn as sns from matplotlib import pyplot as plt from sklearn.decomposition import PCA from sklearn import preprocessing from mpl_toolkits.mplot3d import Axes3D |
準備が整ったら、さっそくデータを読み込みます。
df = pd.read_csv("Auto_HX_102617_S5_VnV_Chef-lib-2_25pMx70ul_blackbird-cbd_77728.log2rpm.xls", sep='\t', index_col=0) df |
今回はIon AmpliSeq™ Transcriptome Mouse Gene Expression Kitを使用して取得したデータを用います。Ion Torrent™次世代シーケンサでシーケンス後、シーケンサに付属のTorrent Suite™ softwareに含まれるAmpliSeq RNAプラグインで解析を行い、各遺伝子の発現量を正規化したRPM値(Read Per Million、サンプル間比較のため総マップリードが100万配列のときのリード量に換算した値)のデータを取得します。このデータはタブ区切りのテキストファイル形式となっています。Pythonにインストールしたpandasというライブラリのread_csvというコマンドで入力形式:タブ区切りを指定し、データを読み込みます。読み込んだデータにdfという名前を付けています。
dfとだけ入力し実行すると、データの一部を表示させることができます。
データを縦に見てみます。1列目はこのIon AmpliSeq Transcriptome Mouse Gene Expression Kitでアンプリコンが設計されている遺伝子の名前、2列目以降は各サンプルのRPM値です。IonCode_0109からIonCode_0116まで、8サンプル分表示されています。
データはバーコード名で表示されているので、分かりやすいようにサンプル名に変換します。
df.columnsというコマンドで、データの列名を変更します。
df.columns = ["UMR_1", "UMR_2", "MUR_1", "MUR_2", "MMP_1", "MMP_2", "e17_1", "e17_2"] df |
先ほどと同様にdfとだけ入力し、データを表示させてサンプル名が変わっていることを確認します。
まとめ
- コマンドラインを使った解析で比較的簡単にNGSデータの可視化を行えます。
- 普段お使いのWindows PCで、比較的手軽にPythonを利用いただけます。
- このほかにもPythonにはさまざまなNGSデータ解析ツールが備わっており、活用することでNGSデータを理解し、その生物学的意味の考察に役立てることができます。
次回は読み込んだデータを使ってデータの可視化を実施してみます。Ion Torrent™ 次世代シーケンス データを可視化して理解に役立てたい、論文等でわかりやすい図を作成したい、Pythonなどのツールを活用した解析をやってみたいが具体的にどうしたらよいかわからない、といった場合には、ぜひ弊社テクニカルサポートのデータ解析コンサルティングサービスをご検討ください。解析手法のレクチャーやお手持ちのデータを使った受託解析まで、幅広いご相談に対応いたします。
次世代シーケンサ(NGS)入門
次世代シーケンスの原理や何ができるかがよくわからない、または自分の研究領域にどのように活用できるかわからないという方向けに、次世代シーケンスの基本や各研究領域に特化したアプリケーションをまとめました。リンク先から、それぞれの領域に応じたページをご覧いただけます。
Python is a trademark of Python Software Foundation.
Windows is a trademark of Microsoft Corporation.
Jupyter is a trademark of NumFOCUS, Inc.
研究用にのみ使用できます。診断用には使用いただけません。