Biopython-sequence-io-operations
Biopython-シーケンスI/O操作
Biopythonは、ファイル(任意のストリーム)に対してシーケンスを読み書きするためのモジュールBio.SeqIOを提供します。 バイオインフォマティクスで利用可能なほぼすべてのファイル形式をサポートしています。 ほとんどのソフトウェアは、ファイル形式ごとに異なるアプローチを提供します。 しかし、Biopythonは、SeqRecordオブジェクトを介して、解析されたシーケンスデータをユーザーに提示するために、意識的に単一のアプローチに従います。
次のセクションでSeqRecordの詳細を学びましょう。
SeqRecord
Bio.SeqRecordモジュールは、シーケンスのメタ情報とシーケンスデータ自体を以下に示すように保持するSeqRecordを提供します-
- seq-これは実際のシーケンスです。
- id-これは、指定されたシーケンスのプライマリ識別子です。 デフォルトのタイプは文字列です。
- name-それはシーケンスの名前です。 デフォルトのタイプは文字列です。
- description-シーケンスに関する人間が読める情報を表示します。
- annotations-シーケンスに関する追加情報の辞書です。
SeqRecordは、以下に指定されているようにインポートできます。
これからのセクションで実際のシーケンスファイルを使用してシーケンスファイルを解析することの微妙な違いを理解しましょう。
シーケンスファイル形式の解析
このセクションでは、最も一般的な2つのシーケンスファイル形式 FASTA および GenBank を解析する方法について説明します。
ファスタ
BiopythonはサンプルのFASTAファイルを提供し、https://github.com/biopython/biopython/blob/master/Doc/examples/ls_orchid.fasta [[[1]] master/Doc/examples/ls_orchid.fasta。]
このファイルをダウンロードし、Biopythonサンプルディレクトリに「orchid.fasta」*として保存します。
Bio.SeqIOモジュールは、シーケンスファイルを処理するparse()メソッドを提供し、次のようにインポートできます-
parse()メソッドには2つの引数が含まれます。1つ目はファイルハンドル、2つ目はファイル形式です。
ここで、parse()メソッドは、反復ごとにSeqRecordを返す反復可能なオブジェクトを返します。 反復可能であるため、多くの洗練された簡単な方法を提供し、いくつかの機能を見てみましょう。
次()
_next()_メソッドは、反復可能なオブジェクトで使用可能な次のアイテムを返します。これを使用して、以下に示す最初のシーケンスを取得できます-
ここでは、FASTA形式はシーケンス注釈をサポートしていないため、seq_record.annotationsは空です。
リスト理解
以下のリスト内包表記を使用して、反復可能なオブジェクトをリストに変換できます。
ここでは、lenメソッドを使用して合計カウントを取得しました。 次のように最大長のシーケンスを取得できます-
以下のコードを使用してシーケンスをフィルタリングすることもできます-
SqlRecordオブジェクト(解析済みデータ)のコレクションをファイルに書き込むことは、以下のようにSeqIO.writeメソッドを呼び出すのと同じくらい簡単です-
このメソッドは、以下に指定されている形式を変換するために効果的に使用することができます-
GenBank
これは、遺伝子のより豊富なシーケンス形式であり、さまざまな種類の注釈のフィールドが含まれています。 BiopythonはサンプルのGenBankファイルを提供し、https://github.com/biopython/biopython/blob/master/Doc/examples/ls_orchid.fasta [[[2]] master/Doc/examples/ls_orchid.fasta。]
以来、Biopythonは単一の関数parseを提供して、すべてのバイオインフォマティクス形式を解析します。 GenBank形式の解析は、parseメソッドの形式オプションを変更するのと同じくらい簡単です。
同じためのコードは以下に与えられています-