こんにちは、バイオインフォマティクス実践ラボ管理者の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環境を構築します。
Ubuntuのバージョン確認:
cat /etc/os-releaseコマンドでUbuntuのバージョンを確認します。今回はUbuntu 24.04 LTS(Long Term Support)を使用します。(確認しなくても次のステップには進めます)
パッケージリストの更新:
sudo apt updateコマンドでUbuntuのパッケージリストを更新します。これにより、必要なモジュールの最新版がダウンロードされます。Pythonのバージョン確認:
python3 --versionコマンドでPythonのバージョンを確認します。(確認しなくても次のステップには進めます)
pipのインストール: Pythonのパッケージ管理ツールであるpipをインストールします。
sudo apt install python3-pipコマンドを実行します。
主要モジュールのインストール:
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コードの記述と実行を行います。
Jupyter Notebookの起動:
jupyter labコマンドを実行すると、Jupyter Notebookのサーバーが起動し、ブラウザでアクセスするためのURLが表示されます。このURLをコピーし、ブラウザに貼り付けてアクセスします。
新規ノートブックの作成: Jupyter Notebookの画面左上にある「Python 3 Notebook」ボタンをクリックすると、新しいノートブックが作成されます。

コードの記述と実行: ノートブック内の各セルの四角い枠に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をダウンロードしたい方は、アメリエフの運営する会員制動画サイト「バイオインフォマティクス実践ラボ」にご登録ください。
