Biopython-motif-objects

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

Biopython-Motifオブジェクト

配列モチーフは、ヌクレオチドまたはアミノ酸の配列パターンです。 配列モチーフは、隣接していない可能性のあるアミノ酸の三次元配列によって形成されます。 Biopythonは、以下に指定されているように、配列モチーフの機能にアクセスするための独立したモジュールBio.motifsを提供します-

from Bio import motifs

単純なDNAモチーフの作成

以下のコマンドを使用して簡単なDNAモチーフ配列を作成しましょう-

>>> from Bio import motifs
>>> from Bio.Seq import Seq
>>> DNA_motif = [ Seq("AGCT"),
...               Seq("TCGA"),
...               Seq("AACT"),
...             ]
>>> seq = motifs.create(DNA_motif)
>>> print(seq) AGCT TCGA AACT

シーケンス値をカウントするには、以下のコマンドを使用します-

>>> print(seq.counts)
         0       1      2       3
A:    2.00    1.00   0.00    1.00
C:    0.00    1.00   2.00    0.00
G:    0.00    1.00   1.00    0.00
T:    1.00    0.00   0.00    2.00

次のコードを使用して、シーケンス内の「A」をカウントします-

>>> seq.counts["A", :]
(2, 1, 0, 1)

あなたがカウントの列にアクセスしたい場合は、以下のコマンドを使用します-

>>> seq.counts[:, 3]
{'A': 1, 'C': 0, 'T': 2, 'G': 0}

シーケンスロゴの作成

次に、シーケンスロゴの作成方法について説明します。

以下のシーケンスを考慮してください-

AGCTTACG
ATCGTACC
TTCCGAAT
GGTACGTA
AAGCTTGG

次のリンクを使用して独自のロゴを作成できます-http://weblogo.berkeley.edu/

上記のシーケンスを追加して新しいロゴを作成し、seq.pngという名前の画像をbiopythonフォルダーに保存します。

seq.png

シーケンスのロゴ

イメージを作成した後、次のコマンドを実行します-

>>> seq.weblogo("seq.png")

このDNA配列モチーフは、LexA結合モチーフの配列ロゴとして表されます。

JASPARデータベース

JASPARは最も人気のあるデータベースの1つです。 シーケンスの読み取り、書き込み、スキャンのためのモチーフ形式のいずれかの機能を提供します。 各モチーフのメタ情報を保存します。 モジュールBio.motifsには、メタ情報の属性を表す特別なクラスjaspar.Motifが含まれています

次の注目すべき属性タイプがあります-

  • matrix_id-一意のJASPARモチーフID
  • name-モチーフの名前
  • tf_family-モチーフのファミリー、例えば 「ヘリックス-ループ-ヘリックス」
  • data_type-モチーフで使用されるデータのタイプ。

biopythonフォルダーのsample.sitesにあるJASPARサイト形式を作成しましょう。 以下に定義されています-

sample.sites
>MA0001 ARNT 1
AACGTGatgtccta
>MA0001 ARNT 2
CAGGTGggatgtac
>MA0001 ARNT 3
TACGTAgctcatgc
>MA0001 ARNT 4
AACGTGacagcgct
>MA0001 ARNT 5
CACGTGcacgtcgt
>MA0001 ARNT 6
cggcctCGCGTGc

上記のファイルでは、モチーフインスタンスを作成しました。 さて、上記のインスタンスからモチーフオブジェクトを作成しましょう-

>>> from Bio import motifs
>>> with open("sample.sites") as handle:
... data = motifs.read(handle,"sites")
...
>>> print(data)
TF name None
Matrix ID None
Matrix:
            0       1       2       3       4       5
A:       2.00    5.00    0.00    0.00    0.00    1.00
C:       3.00    0.00    5.00    0.00    0.00    0.00
G:       0.00    1.00    1.00    6.00    0.00    5.00
T:       1.00    0.00    0.00    0.00    6.00    0.00

ここで、データは、sample.sitesファイルからすべてのモチーフインスタンスを読み取ります。

データからすべてのインスタンスを印刷するには、以下のコマンドを使用します-

>>> for instance in data.instances:
...    print(instance)
...
AACGTG
CAGGTG
TACGTA
AACGTG
CACGTG
CGCGTG

以下のコマンドを使用して、すべての値をカウントします-

>>> print(data.counts)
            0       1       2       3       4       5
A:       2.00    5.00    0.00    0.00    0.00    1.00
C:       3.00    0.00    5.00    0.00    0.00    0.00
G:       0.00    1.00    1.00    6.00    0.00    5.00
T:       1.00    0.00    0.00    0.00    6.00    0.00
>>>