Шапка
- LOCUS: название, длина в парах нуклеотидов, тип молекулы (DNA, mRNA), линейная она или кольцевая и дата.
- DEFINITION: описание в одну строку.
- ACCESSION и VERSION: идентификатор записи, например NM_000546.6. Число после точки меняется, когда меняется последовательность.
- SOURCE и ORGANISM: откуда последовательность.
- REFERENCE: статьи, где она описана.
FEATURES
У каждого элемента есть тип (gene, CDS, promoter, misc_feature) и координаты, а за ними квалификаторы вроде /gene="TP53", /product= или /translation=, где хранится белковая последовательность CDS.
100..500: нуклеотиды с 100 по 500 на верхней цепи.complement(100..500): те же нуклеотиды, прочитанные на противоположной цепи.join(100..200,300..450): соединённые куски, например экзоны гена.<1..300или200..>900: элемент продолжается за конец последовательности.
ORIGIN
Сама последовательность строчными буквами блоками по десять с позицией в начале каждой строки, заканчивающаяся на //.
Работа с ним
GenBank в FASTA убирает числа и пробелы и даёт простую последовательность, которую ждут большинство инструментов. Чтобы увидеть элементы на карте, откройте файл в Просмотр карты плазмиды. Элемент на комплементарной цепи читается от 5' к 3' как обратный комплемент своего диапазона.
Чтение одного признака
CDS join(101..250,401..559)
/gene="abcA"
/codon_start=1
/transl_table=11
/product="ABC transporter"
- Кодирующая последовательность состоит из двух частей: основания 101–250 (150 оснований) и 401–559 (159 оснований), всего 309 оснований.
- 309 ÷ 3 = 103 кодона, последний из которых — стоп-кодон, так что белок длиной 102 аминокислоты.
/codon_start=1говорит, что трансляция начинается с первого основания. Значение 2 или 3 используют для неполных последовательностей, начинающихся с середины кодона./transl_table=11— генетический код бактерий. Если его нет, подразумевается код 1, стандартный.
Частые проблемы
- Позиции сдвинуты на единицу. GenBank считает с 1 и включает оба конца, так что 101..250 — это 150 оснований. Файлы BED и многие языки программирования считают с 0, что сдвигает каждое начало на единицу.
- Белок на одну букву короче ожидаемого. Квалификатор
/translationникогда не включает стоп-кодон. - Два способа записи другой цепи.
complement(join(1..100,201..300))означает, что соединённые части читаются на противоположной цепи, начиная с последней.