BioinformaticsではPythonとそのライブラリ、Biopythonが頻繁に使用されます。ここでは、主なライブラリやモジュールの概要と、BiopythonでのGenBankファイル形式の利用例について説明します。
主なライブラリとモジュールの解説
-
Bio.pairwise2, Bio.pairwise2.format_alignment: 二つのシーケンス間のアラインメントを計算し、その結果を整形して表示するためのモジュールです。
-
Bio.SubsMat.MatrixInfo: 置換行列(一つのアミノ酸が進化的に別のアミノ酸に置換される確率を表す)の情報を提供します。
-
Bio.SeqIO, Bio.SearchIO: シーケンスデータの読み書き(入出力)を扱うモジュール。多くのバイオインフォマティクスフォーマットに対応しています。
-
Bio.Seq, Bio.SeqRecord: 生物学的シーケンス(DNA、RNA、タンパク質)を表現・操作するためのクラスです。
-
Bio.Blast.NCBIWWW, Bio.Blast.NCBIXML: NCBI BLAST(Basic Local Alignment Search Tool)サービスとのインタラクションを可能にするモジュールです。
-
Bio.Phylo.TreeConstruction, Bio.Phylo.PhyloXML.Phylogeny, Bio.Phylo: これらのモジュールは- Phylogenetic tree(系統樹)の構築と解析をサポートします。
-
pprint: データ構造を人間が読みやすい形式でプリントするためのものです。
-
GenBankファイル形式
GenBank形式は、遺伝配列データベースGenBankで使用されるテキストベースの形式です。BiopythonはGenBank形式の扱いに非常に便利です。
以下に、GenBankファイルを読み込む基本的な例を示します。
python
Copy code
from Bio import SeqIO
# GenBankファイルを開く
with open("example.gb", "r") as handle:
# SeqIO.parse()を使用してレコードを読み込む
for record in SeqIO.parse(handle, "genbank"):
# 一部の情報を出力する
print("ID:", record.id)
print("Description:", record.description)
print("Annotations:", record.annotations)
print("Sequence length:", len(record.seq))
print("Sequence:", record.seq)
上記のスクリプトは、"example.gb"というGenBankファイルを開き、各レコードのID、説明、アノテーション、配列の長さ、実際の配列を出力します。SeqIO.parse()関数は、ファイルハンドル(ここでは"handle")とファイル形式(ここでは"genbank")を引数に取り、ファイル内の各レコードを順に返します。