Biopython - Motif Nesneleri
Bir dizi motifi, bir nükleotid veya amino asit sekans modelidir. Sekans motifleri, bitişik olmayabilen amino asitlerin üç boyutlu düzenlenmesiyle oluşturulur. Biopython, aşağıda belirtilen sekans motifinin işlevlerine erişmek için ayrı bir modül olan Bio.motifs sağlar -
from Bio import motifs
Basit DNA Motifi Oluşturmak
Aşağıdaki komutu kullanarak basit bir DNA motif dizisi oluşturalım -
>>> 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
Sıra değerlerini saymak için aşağıdaki komutu kullanın -
>>> 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
Sıradaki 'A'yı saymak için aşağıdaki kodu kullanın -
>>> seq.counts["A", :]
(2, 1, 0, 1)
Sayım sütunlarına erişmek istiyorsanız, aşağıdaki komutu kullanın -
>>> seq.counts[:, 3]
{'A': 1, 'C': 0, 'T': 2, 'G': 0}
Sekans Logosu Oluşturma
Şimdi Sıra Logosunun nasıl oluşturulacağını tartışacağız.
Aşağıdaki sırayı düşünün -
AGCTTACG
ATCGTACC
TTCCGAAT
GGTACGTA
AAGCTTGG
Aşağıdaki bağlantıyı kullanarak kendi logonuzu oluşturabilirsiniz - http://weblogo.berkeley.edu/
Yukarıdaki diziyi ekleyin ve yeni bir logo oluşturun ve seq.png adlı resmi biopython klasörünüze kaydedin.
seq.png
Görüntüyü oluşturduktan sonra, şimdi aşağıdaki komutu çalıştırın -
>>> seq.weblogo("seq.png")
Bu DNA dizisi motifi, LexA bağlama motifi için bir sekans logosu olarak temsil edilir.
JASPAR Veritabanı
JASPAR, en popüler veri tabanlarından biridir. Dizileri okumak, yazmak ve taramak için herhangi bir motif formatının kolaylığını sağlar. Her motif için meta bilgileri depolar.The module Bio.motifs contains a specialized class jaspar.Motif to represent meta-information attributes.
Aşağıdaki dikkate değer nitelik türlerine sahiptir -
- matrix_id - Benzersiz JASPAR motif kimliği
- isim - Motifin adı
- tf_family - Motif ailesi, örneğin 'Helix-Loop-Helix'
- veri_türü - motifte kullanılan veri türü.
Biopython klasöründe sample.sites adında bir JASPAR site formatı oluşturalım. Aşağıda tanımlanmıştır -
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
Yukarıdaki dosyada motif örnekleri oluşturduk. Şimdi yukarıdaki örneklerden bir motif nesnesi oluşturalım -
>>> 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
Burada veriler, sample.sites dosyasındaki tüm motif örneklerini okur.
Verilerden tüm örnekleri yazdırmak için aşağıdaki komutu kullanın -
>>> for instance in data.instances:
... print(instance)
...
AACGTG
CAGGTG
TACGTA
AACGTG
CACGTG
CGCGTG
Tüm değerleri saymak için aşağıdaki komutu kullanın -
>>> 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
>>>