Python の概要: インストールと基本コマンド

UB3/informatics/python/python_overview

このページの最終更新日: 2023/10/01

  1. 概要: Python とは
  2. Python のインストールと環境構築 (Mac)
  3. Python の作業ディレクトリ
  4. Python の module と import について
  5. Biopython scripts
    • NCBI からのデータダウンロード
    • 配列のアラインメント

広告

概要: Python とは

使い始めたばかりなので、とりあえずはこのページをメモ代わりに何でも書き込んでいき、内容が増えたら新しいページを作っていく形で。

Python には、主に使われているバージョンとして Python 2 と Python 3 がある。「主に使われている」といっても、Python 2 は 2020 年でサポートが切れているので、新しい情報は全て 3 についてのものである。このサイトでも、特に断らない限りは Python 3 についてまとめていくことにする。

バイオインフォマティクス用の Biopython というものがある。日本語の資料はあまり多くない印象。以下の入門シリーズがわかりやすい。

  • Biopython 入門 前編: インストール、配列の FASTA への書き出しなど。
  • 中編: NCBI からの データダウンロード、BLAST など。
  • 後編: 系統樹、ゲノムデータの可視化。

その他のページへのリンク。

Python のインストールと環境構築 (Mac)

Mac には Python が既にインストールされている。まず、ターミナルで

python3 --version

とするとバージョンがわかる。また、

which python3

とすると /Users/username/Documents/miniconda3/bin/python3 のような結果が表示される。これが実行される Python のパス。

Spyder については Spyder の設定 のページを参照のこと。

Python の module と import について

Python には、モジュール module と呼ばれるパッケージがある。これは、特定の目的をもって関数や変数などを集めたセットのこと。Python を便利に使うためには、目的に応じたモジュールをインストールし、その機能を import コマンドで呼び出す必要がある。

モジュールは、python にデフォルトで含まれているものもあるが、そうでない場合にはインストールする必要がある。モジュールが発見されない場合は、import No module named 'pandas' のようなエラーが出る。モジュールをインストールするのはシェルの pip または pip3 コマンドである。

かつては、pip は使っている Python にモジュールをインストールするコマンドであり、pip3 は Python3 を厳密に指定するコマンドであった。ただし、Python2 は 2020 年 1 月にメンテナンスが終了して事実上使われなくなっているため、多くのシステムでは pip は pip3 の単なるエイリアスになっている。しかし、やはり pip3 を使う方が基本的には安全だろう。

# python なら pip, python3 なら pip3
pip3 install pandas

モジュールを呼び出すのは import である。pip3 はシェルだが、import は python3 script に含める。import は特定のモジュールに含まれるコードにアクセスする関数であり、Python で特定の機能をもつスクリプトを呼び出して実行する最も一般的な方法の 1 つである。

import numpy as np
import pandas as pd

特定のモジュールの関数を使うときは、モジュール名のあとにつけるのが Python の流儀である。つまり、pandas というモジュールにある read_excel という関数で Excel を読み込むときは以下のようになる。

import pandas pandas.read_excel(path_to_Excel_file)

これは、一般に次のように書かれる。つまり pandas を pd を略している。これは単なる慣習であり、コードを短くして可読性を上げるという意味があるだけである。モジュール名をフルで使っても問題ないのだが、多くの example script もこの形で書かれているので、特にこだわりがなければそれに従うのが良いだろう。

import pandas as pd pd.read_excel(path_to_Excel_file)

NumPy

多次元配列の数値データを処理する関数が多く含まれる (参考)。Pandas よりも扱えるデータの幅が狭いが、データの処理は速い。

データを Pandas の DataFrame として加工し、NumPy の ndarray にしてから機械学習というのが常套手段のようだ。

Pandas

NumPy を応用して作られた。CSV やエクセルからの入力のほか、文字列などの数値以外のデータ形式に対応した関数が多く含まれている。Index 機能も充実しており、データの前処理に適している。

NumPy のデータフレームは、すべての要素が同じ型でなければいけないが、Pandas は異なる型でも OK である。

Python の作業ディレクトリ

os.getcwd() という関数を使う。ただし、一発で表示されるわけではなく、import し、実行結果を print するという手順を踏む必要がある (参考)。

import os
path = os.getcwd()
print(path)

これは、変数を使わずに以下のようにしても OK。

import os
print(os.getcwd())

作業ディレクトリを変更したい場合は、

os.chdir('path/to/the/directory')

とする。シングルクオーテーションを忘れないこと。Spyder ではタブで候補表示ができる。Mac で home directory を表す ~ は 使えなそう。

関数の定義

独自の関数を定義する場合。

def 関数名(引数1, 引数2, ...):
行う処理
return 戻り値

Biopython scripts

NCBI からのデータダウンロード

モジュール Bio から Entrez をインポートする。Entrez は実行にメールアドレスを必要とする。ダウンロードするシークエンスは、データベース db (nucleotide, protein など) と ID で指定。handle という変数に格納し、print で handle の内容を表示している。


  • db は nucleotide, protein など。
  • rettype で可能なのは fasta, gb (GenBank, データ全体を指す) など。

配列のアラインメント

BioPython の pairwise2 ライブラリーを利用したペアワイズアラインメント が参考になりそう。


BLAST

このページ


アセンブリー

このページ では、Velvet や cap3 を使えというコメント。


広告

References

  1. Biopython documentation. Link: Last access 2020/09/03.
  2. Issue adding site-packages directory to PYTHONPATH in Spyder. Link: Last access 2022/11/18.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。