Pythonを使ってNGSデータを可視化してみよう!~準備編~

次世代シーケンス(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 の画面が表示されます。

Jupyter Notebook画面1
Newをクリックし、Notebookを選択し、Select KernelのウィンドウでそのままSelectをクリックすると、新規のファイルが作成されますので、ここにコマンドを入力して処理を進めます。解析データ等をインポートする場合、Uploadをクリックしてファイルを選択すると、現在作業しているディレクトリに保存できます。

Jupyter Notebook画面2
まずは今回使用するライブラリをインストールします。下記のコマンドを入力したら、画面の再生ボタンのようなアイコン(▶)をクリックして、処理を実行します。

!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とだけ入力し実行すると、データの一部を表示させることができます。

Jupyter Notebook画面3
データを縦に見てみます。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とだけ入力し、データを表示させてサンプル名が変わっていることを確認します。

Jupyter Notebook画面4

まとめ

  • コマンドラインを使った解析で比較的簡単に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.

研究用にのみ使用できます。診断用には使用いただけません。

記事へのご意見・ご感想お待ちしています

  • サーモフィッシャーサイエンティフィックジャパングループ各社は取得した個人情報を弊社の個人情報保護方針に従い利用し、安全かつ適切に管理します。取得した個人情報は、グループ各社が実施するセミナーに関するご連絡、および製品/サービス情報等のご案内のために利用させていただき、その他の目的では利用しません。詳細は個人情報の取扱いについてをご確認ください。
  • 送信の際には、このページに記載のすべての注意事項に同意いただいたものとみなされます。