Статья Автор: Деникина Н.В., Деникин А.В.

Модуль Bio.Seq из библиотеки BioPython

Модуль Bio.Seq из библиотеки BioPython предоставляет объект Seq, который предназначен для работы с биологическими последовательностями (ДНК, РНК, белки). Он расширяет функциональность обычных строк Python, добавляя методы, специфичные для биоинформатики.


Что такое объект Seq?

  • Объект Seq представляет биологическую последовательность и позволяет выполнять операции, такие как комплементация, обратная последовательность, транскрипция, трансляция и другие.
  • Поддерживает неизменяемость (immutable), что делает его безопасным для работы с данными.

Пример:

from Bio.Seq import Seq 
dna_seq = Seq("ATGCGTACGATC") 
print(dna_seq) # Вывод: ATGCGTACGATC

Создание объекта Seq

  • Объект Seq можно создать из строки, содержащей символы:
    • ДНК: A, T, G, C
    • РНК: A, U, G, C
    • Белки: 20 аминокислотных букв (например, M, F, L)

Пример:

from Bio.Seq import Seq

dna = Seq("ATGCTACG")
rna = Seq("AUGCUACG")
protein = Seq("MKTLLL")
 

Основные методы и операции с Seq

3.1 Получение длины последовательности
  • Используется стандартная функция len().
print(len(dna_seq)) # Вывод: 12 
3.2 Доступ к символам
  • Индексация начинается с 0.
print(dna_seq[0]) # Первый символ: A 
print(dna_seq[-1]) # Последний символ: C 
3.3 Срезы (slicing)
  • Работает аналогично строкам Python.
print(dna_seq[:3]) # Первые 3 символа: ATG 
print(dna_seq[-3:]) # Последние 3 символа: ATC 
3.4 Комплементация и обратная последовательность
  • Комплементация: Создание комплементарной цепи ДНК.
    complement = dna_seq.complement() 
    print(complement) # Вывод: TACGCATGCTAG 
  • Обратная комплементация: Инвертирование комплементарной цепи.
    reverse_complement = dna_seq.reverse_complement() 
    print(reverse_complement) # Вывод: GATCGTACGCAT 
3.5 Транскрипция (DNA → RNA)
  • Замена тимина (T) на урацил (U).
rna_seq = dna_seq.transcribe() 
print(rna_seq) # Вывод: AUGCGUACGAUC 
3.6 Обратная транскрипция (RNA → DNA)
  • Преобразование РНК в ДНК.
dna_from_rna = rna_seq.back_transcribe()
print(dna_from_rna) # Вывод: ATGCGTACGATC 
3.7 Трансляция (RNA → белок)
  • Преобразование последовательности РНК в последовательность аминокислот.
protein_seq = rna_seq.translate()
print(protein_seq) # Вывод: MR* 
  • Если последовательность содержит кодоны-стопы, они обозначаются символом *.
3.8 Поиск и подсчёт символов
  • Поиск:
    print(dna_seq.find("CGT")) # Индекс первого вхождения: 2 
  • Подсчёт символов:
    print(dna_seq.count("A")) # Количество A: 3 
3.9 Проверка типа последовательности
  • ДНК:
    print("T" in dna_seq) # True 
  • РНК:
    print("U" in rna_seq) # True
Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать