Python入門:Windows上でのPython・Jupyter実行環境構築【BI入門④】

こんにちは、バイオインフォマティクス実践ラボ管理者のnomura-yです。

今回からは前後編でPythonを使ったデータ解析の基礎を学んでいきます。第一歩として、Windowsユーザーの皆さんがスムーズにPython環境を構築できるよう、Windows Subsystem for Linux(WSL)を利用したLinux環境の構築方法から、実際に塩基配列データを読み込むまでを詳しく解説します。

複雑そうに見えるかもしれませんが、一つ一つ丁寧に手順を追えば必ずできますので、ぜひ最後までお付き合いください。

【BI入門①】R入門:環境構築と基本操作
【BI入門②】R実践:データの可視化と関数活用
【BI入門③】Rによる生物データハンドリング
【BI入門④】Python入門:Windows上でのPython・Jupyter実行環境構築 ←本記事

Windows上でのLinux環境構築

今回は、Windows上でLinux環境を構築し、その上でPythonとJupyter環境をセットアップして解析を行う場合を解説したいと思います。なお、Windows上でのLinux環境構築は、過去の投稿で詳しく解説しておりますので、そちらをご参照ください。

Python/Jupyter環境の構築

Linux環境(Ubuntu)が導入されたら、PythonとJupyter環境を構築します。

  1. Ubuntuのバージョン確認: cat /etc/os-releaseコマンドでUbuntuのバージョンを確認します。今回はUbuntu 24.04 LTS(Long Term Support)を使用します。(確認しなくても次のステップには進めます)

  2. パッケージリストの更新: sudo apt updateコマンドでUbuntuのパッケージリストを更新します。これにより、必要なモジュールの最新版がダウンロードされます。

  3. Pythonのバージョン確認: python3 --versionコマンドでPythonのバージョンを確認します。(確認しなくても次のステップには進めます)

  4. pipのインストール: Pythonのパッケージ管理ツールであるpipをインストールします。sudo apt install python3-pipコマンドを実行します。

  5. 主要モジュールのインストール: pip install --break-system-packages numpy pandas matplotlib scipy jupyterlab ipywidgetsコマンドで、pipを使って以下の主要なPythonモジュールをインストールします。

名称 用途 主な機能
numpy 数値計算 配列の生成、数学関数の適用、線形代数など
pandas データ操作 データフレームの作成、データの読み込み・書き出し、データの結合・集計、欠損値処理など
matplotlib グラフ描画 折れ線グラフ、棒グラフ、散布図、ヒストグラムなど
scipy 科学技術計算 最適化、信号処理、統計、画像処理など
jupyterlab Jupyter Notebook環境 コードの記述・実行、テキストの記述、グラフの表示、データ共有など

Jupyter Notebookの起動と操作

Jupyter Notebookを起動し、Pythonコードの記述と実行を行います。

  1. Jupyter Notebookの起動: jupyter labコマンドを実行すると、Jupyter Notebookのサーバーが起動し、ブラウザでアクセスするためのURLが表示されます。このURLをコピーし、ブラウザに貼り付けてアクセスします。

  2. 新規ノートブックの作成: Jupyter Notebookの画面左上にある「Python 3 Notebook」ボタンをクリックすると、新しいノートブックが作成されます。

  3. コードの記述と実行: ノートブック内の各セルの四角い枠にPythonコードを記述します。例えば、a = 3, b = 5, print("合計:", a + b), print("積:", a * b)のように記述します。セルを実行するには、セルを選択した状態で上部の実行ボタン(再生アイコン)をクリックします。結果はセルの下に表示されます。

BioPythonによる塩基配列操作

生命科学分野でPythonを活用したいと考えている方にとって必須のライブラリとなる「BioPython」をつかって、塩基配列を読み込んでみたいと思います。

1. FASTAファイルの準備:デモ用にFASTA形式のファイルを用意します。例えば、[test_fasta.faa]というファイルを作成し、その中に塩基配列データを記述します。今回は、以下のような適当な塩基配列のデモデータを使用してみます。

>sequence01
CACCCTCTCTTCACTGGAAAGGACACCATGAGCACGGAAAGCATGATCCAGGACGTGGAA
GCTGGCCGAGGAGGCGCTCCCCAGGAAGACAGCAGGGCCCCAGGGCTCCAGGCGGTGCTG
GTTCCTCAGCCTCTTCTCCTTCCTGCTCGTGGCAGGCGCCGCCAC


2. BioPythonのインストール:BioPythonのインストールの前に、すでに起動しているJupyter Notebbookを停止(ファイルメニューからシャットダウン)します。その後、Ubuntuターミナルでpip install biopythonコマンドを実行し、BioPythonモジュールをインストールします。


3. BioPythonによる塩基配列の読み込み:再度、Jupyter Notebbookを起動し、新しいノートブックを作成し、四角い枠にPythonコードを記述していきます。まず、from Bio import SeqIOを使用してSeqIOモジュールをインポートします。その後、SeqIO.parse()関数を使ってFASTAファイルを読み込みます。なお、Pythonコードは再生ボタン「▶」または「Run」メニューから実行できます。

from Bio import SeqIO
fasta_file = "test_fasta.faa"
records = list(SeqIO.parse(fasta_file, "fasta"))


4. 塩基配列情報の表示:読み込んだ配列情報から、ID、配列、長さなどを表示できます。records[0].idで1番目の配列のIDを、records[0].seqで配列そのものを、len(records[0].seq)で配列の長さを取得できます。

塩基配列情報の表示例

また、BioPythonを使用した、より実践的なコードを紹介した記事がありますので、ご参照ください。

まとめ

今回は、Windows上でWSLを使ってLinux環境を構築し、その上でPythonとJupyter Notebookのセットアップを行いました。さらに、Pythonモジュール「BioPython」を導入し、FASTA形式の塩基配列データを読み込み、その内容をPythonで扱う基本的な方法を学びました。

次回予告

次回は、Pythonの強力なライブラリ「Pandas」について解説します。データフレームの読み込みから、基本的な操作、統計量の表示、そしてデータフィルタリングまで、実践的なデータハンドリング術を解説します。お楽しみに!

※本記事は、2023年3月29日開催の第80回バイオインフォマティクス勉強会「バイオ研究者のためのPython入門」講演内容をベースに作成しております。
動画で本記事の内容を視聴したい、講演資料PDFをダウンロードしたい方は、アメリエフの運営する会員制動画サイト「バイオインフォマティクス実践ラボ」にご登録ください。