Biopython - obiekty z motywami

Motyw sekwencji to wzór sekwencji nukleotydów lub aminokwasów. Motywy sekwencji są tworzone przez trójwymiarowe rozmieszczenie aminokwasów, które mogą nie sąsiadować ze sobą. Biopython zapewnia oddzielny moduł, Bio.motifs, aby uzyskać dostęp do funkcjonalności motywu sekwencji, jak określono poniżej -

from Bio import motifs

Tworzenie prostego motywu DNA

Stwórzmy prostą sekwencję motywów DNA za pomocą poniższego polecenia -

>>> 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

Aby policzyć wartości sekwencji, użyj poniższego polecenia -

>>> 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

Użyj poniższego kodu, aby policzyć „A” w sekwencji -

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

Jeśli chcesz uzyskać dostęp do kolumn liczebności, użyj poniższego polecenia -

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

Tworzenie logo sekwencji

Omówimy teraz, jak stworzyć logo sekwencji.

Rozważ poniższą sekwencję -

AGCTTACG 
ATCGTACC 
TTCCGAAT 
GGTACGTA 
AAGCTTGG

Możesz stworzyć własne logo, korzystając z poniższego linku - http://weblogo.berkeley.edu/

Dodaj powyższą sekwencję i utwórz nowe logo i zapisz obraz o nazwie seq.png w swoim folderze biopython.

seq.png

Po utworzeniu obrazu uruchom teraz następujące polecenie -

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

Ten motyw sekwencji DNA jest reprezentowany jako logo sekwencji dla motywu wiążącego LexA.

Baza danych JASPAR

JASPAR to jedna z najpopularniejszych baz danych. Zapewnia możliwość dowolnego formatu motywu do czytania, pisania i skanowania sekwencji. Przechowuje metainformacje dla każdego motywu.The module Bio.motifs contains a specialized class jaspar.Motif to represent meta-information attributes.

Ma następujące godne uwagi typy atrybutów -

  • matrix_id - Unikalny identyfikator motywu JASPAR
  • name - nazwa motywu
  • tf_family - rodzina motywów, np. „Helix-Loop-Helix”
  • data_type - typ danych używanych w motywie.

Stwórzmy format serwisów JASPAR o nazwie w sample.sites w folderze biopython. Jest zdefiniowany poniżej -

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

W powyższym pliku stworzyliśmy instancje motywów. Teraz stwórzmy obiekt motywu z powyższych instancji -

>>> 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

Tutaj dane odczytują wszystkie instancje motywów z pliku sample.sites.

Aby wydrukować wszystkie instancje z danych, użyj poniższego polecenia -

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

Użyj poniższego polecenia, aby policzyć wszystkie wartości -

>>> 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
>>>