Модуль 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 Комплементация и обратная последовательность
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 Поиск и подсчёт символов
3.9 Проверка типа последовательности