Biopython-creating-simple-application

提供:Dev Guides
移動先:案内検索

Biopython-シンプルなアプリケーションの作成

バイオインフォマティクスファイルを解析してコンテンツを印刷する簡単なBiopythonアプリケーションを作成しましょう。 これは、Biopythonの一般的な概念と、それがバイオインフォマティクスの分野でどのように役立つかを理解するのに役立ちます。

  • ステップ1 *-まず、サンプルシーケンスファイル“ example.fasta”を作成し、その中に以下のコンテンツを入れます。
>sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin)
MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAV
NNFEAHTINTVVHTNDSDKGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITID
SNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTAGQYQGLVSIILTKSTTTTTTTKGT

>sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin)
MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVS
NTLVGVLTLSNTSIDTVSIASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDK
NAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGNYRANITITSTIKGGGTKKGTTDKK

拡張子_fasta_は、シーケンスファイルのファイル形式を示します。 FASTAは、バイオインフォマティクスソフトウェアであるFASTAに由来するため、その名前が付けられています。 FASTA形式には複数のシーケンスが1つずつ配置され、各シーケンスには独自のID、名前、説明、実際のシーケンスデータが含まれます。

ステップ2 *-新しいPythonスクリプト simple_example.py "を作成し、以下のコードを入力して保存します。

from Bio.SeqIO import parse
from Bio.SeqRecord import SeqRecord
from Bio.Seq import Seq

file = open("example.fasta")

records = parse(file, "fasta") for record in records:
   print("Id: %s" % record.id)
   print("Name: %s" % record.name)
   print("Description: %s" % record.description)
   print("Annotations: %s" % record.annotations)
   print("Sequence Data: %s" % record.seq)
   print("Sequence Alphabet: %s" % record.seq.alphabet)

コードをもう少し詳しく見てみましょう-

  • 行1 *は、Bio.SeqIOモジュールで利用可能な解析クラスをインポートします。 Bio.SeqIOモジュールは異なる形式のシーケンスファイルの読み取りと書き込みに使用され、「parse」クラスはシーケンスファイルのコンテンツの解析に使用されます。
  • 行2 *は、Bio.SeqRecordモジュールで使用可能なSeqRecordクラスをインポートします。 このモジュールはシーケンスレコードの操作に使用され、SeqRecordクラスはシーケンスファイルで使用可能な特定のシーケンスを表すために使用されます。
    • 行3 "*は、Bio.Seqモジュールで使用可能なSeqクラスをインポートします。 このモジュールはシーケンスデータを操作するために使用され、Seqクラスはシーケンスファイルで利用可能な特定のシーケンスレコードのシーケンスデータを表すために使用されます。
  • 行5 *は、通常のpython関数openを使用して「example.fasta」ファイルを開きます。
  • 行7 *は、シーケンスファイルのコンテンツを解析し、そのコンテンツをSeqRecordオブジェクトのリストとして返します。
  • 行9-15 *は、Python forループを使用してレコードをループし、ID、名前、説明、シーケンスデータなどのシーケンスレコード(SqlRecord)の属性を出力します。
  • 行15 *は、アルファベットクラスを使用してシーケンスのタイプを出力します。
  • ステップ3 *-コマンドプロンプトを開き、シーケンスファイル「example.fasta」を含むフォルダーに移動して、以下のコマンドを実行します-
> python simple_example.py
  • ステップ4 *-Pythonはスクリプトを実行し、サンプルファイル「example.fasta」で使用可能なすべてのシーケンスデータを出力します。 出力は次の内容のようになります。
Id: sp|P25730|FMS1_ECOLI
Name: sp|P25730|FMS1_ECOLI
Decription: sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin)
Annotations: {}
Sequence Data: MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAVNNFEAHTINTVVHTNDSD
KGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITIDSNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTA
GQYQGLVSIILTKSTTTTTTTKGT
Sequence Alphabet: SingleLetterAlphabet()
Id: sp|P15488|FMS3_ECOLI
Name: sp|P15488|FMS3_ECOLI
Decription: sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin)
Annotations: {}
Sequence Data: MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVSNTLVGVLTLSNTSIDTVS
IASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDKNAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGN
YRANITITSTIKGGGTKKGTTDKK
Sequence Alphabet: SingleLetterAlphabet()

この例では、parse、SeqRecord、Seqの3つのクラスを見てきました。 これらの3つのクラスはほとんどの機能を提供します。これらのクラスについては、次のセクションで学習します。