0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

BiopythonとGenBankファイル形式の基礎

Posted at

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")を引数に取り、ファイル内の各レコードを順に返します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?