Практикум 9

Резюме: В ходе работы над данным практикумом был исследован геном Streptococcus thermophilus, на основе которого был получен протеом, который анализировался в 8 практикуме прошлого семестра (ID: UP000001170, количество белков: 1577).


1. Получение AC геномной сборки

Для начала нужно было из swiss файла узнать TaxID организма, геном которого будет анализироваться. TaxID прописан в поле OX, поэтому искать будем по соответствующим строкам. В моем файле были разные строки этого поля:

OX   NCBI_TaxID=264199 {ECO:0000313|EMBL:AAV60042.1, ECO:0000313|Proteomes:UP000001170};
OX   NCBI_TaxID=264199;
поэтому пришлось с ними справлятся. Конвейер:

grep '^OX' UP000001170.swiss | cut -f4 -d ' ' | tr -d ';' | uniq -c

Вывод (вроде нормально получилось):

1577 NCBI_TaxID=264199

Далее был получен список геномных сборок в человекочитаемом виде для данного TaxID с помощью следующей команды:

datasets summary genome taxon 264199 --as-json-lines | dataformat tsv genome | less -S

Нашлась одна геномная сборка в двух версиях: GenBank (GCA_000011825.1) и RefSeq (GCF_000011825.1). Для выполнения следующих заданий использовалась сборка RefSeq.


2. Скачивание последовательности генома и таблицы локальных особенностей

Далее нужно было скачать файлы, необходимые для дальнейшого анализа.

datasets download genome accession GCF_000011825.1 --include gff3,genome
        
unzip ncbi_dataset.zip

Получили архив, затем его распаковали. В архиве были таблица локальных особенностей в формате GFF3 и последовательность генома в формате fasta (еще два json файла, но они нам не нужны).


3. Поиск и трансляция открытых рамок считывания

Так как дальше нужно будет транслировать последовательность генома, сначала надо определить какой вариант генетического кода использует Streptococcus thermophilus. Это было сделано с помощью программы esummary:

esearch -db assembly -query "GCF_000011825.1" | elink -target nuccore | esummary

Наверное, можно как-то проще, но мне очень захотелось использовать esummary, а как это сделать лучше я не придумал. Зато получается удобно читаемый файл с вот такой строчкой:

<GeneticCode>11</GeneticCode>
Поиск и трансляция открытых рамок считывания были осуществлены с помощью программы getorf:

getorf GCF_000011825.1_ASM1182v1_genomic.fna translated.fna -minsize 150 -table 11 -circular

(Ну у бакетрий же кольцевой геном, поэтому -circular). ORF по умолчанию понимается, как последовательность, свободная от стоп-кодонов (как и надо). С помощью команды infoseq было проверно, что все прошло корректно, и среди транслированных ORFs нет короче 50:

infoseq translated.fna -only -length | sort -n | less

Длина всех последовательностей больше или равна 50. По ним была создана база данных для blastp:

makeblastdb -in translated.fna -dbtype prot -out ORFs

4. Получение последовательностей гомологичных метилтрансфераз

Далее из swissprot были скачены последовательности трех ДНК-метилтрансфераз с заданными кодами доступа c помощью следующего конвейера:

echo 'sw:P0AED9 sw:P0AEE8 sw:P23941' | tr ' ' '\n' | seqret -filter 'list::stdin' -outseq query_MTases.fasta

Получили fasta файл с последовательностями белков Dcm (m5C), E.coli; Dam (m6A), E.coli и m4C-МТазы из Bacillus amyloliquefaciens

5. Поиск по сходству последовательностей

С помощью blastp по запросу из последовательностей метилтрансфераз был осуществлен поиск гомологов по базе данных ORFs. Команда:

blastp -query query_MTases.fasta -db ORFs -out blastp.out -outfmt 7

Самой лучшей находкой оказалась NC_006448.1_7383, координаты: 808572 - 806629 (нашел grep в translated.fasta); по m4C-МТазе из Bacillus amyloliquefaciens. Вес находки: 46.2, E-value: 2.49e-06. Вес вроде бы не очень большой, но E-value достаточно маленькое, поэтому сомнений не вызывает (кстати логично, что лучшая находка именно с белком из Bacillus amyloliquefaciens, так как они с Streptococcus thermophilus довольно близки по систематическому положению). Выдача blastp.

Далее нужно было по координатам находки найти CDS из таблицы локальных особенностей генома находятся рядом c ней. Сначала из таблицы локальных особенностей для CDS на соответствующей последовательности были вырезаны столбцы с координатами, указанием +/- цепь и аннотацией. Конвейер:

grep '^NC_006448.1' genomic.gff | grep 'CDS' | cut -f 4,5,7,9 >CDS.tsv

Следующим шагом были найдены близкие CDS:

echo -e '806629\t808572\t-\tMY-ORF' | cat - CDS.tsv | sort -n | grep -C 3 'MY-ORF' >neighbors.tsv

Выдача: neighbors.tsv. Ура, одна из найденных CDS - это DNA methyltransferase (WP_011225879.1), правда запись с parent_gene (STU_RS13745) прекращена в NCBI. Но белковая есть.

6. Поиск по аннотациям кодирующих участков

Наконец, последним этапом стал поиск по аннотации кодирующих участков в геноме. Поиск проводился по EC-коду, который соответствует моей находке (m4C - 2.1.1.113). Конвейер:

elink -target 'protein' -db 'nuccore' -id 'NC_006448.1' | efilter -query {'2.1.1.72','2.1.1.113','2.1.1.37'} | efetch -format 'fasta' | less

Нашелся один белок - WP_011225759.1, type I restriction-modification system subunit M. И это не тот же, что был обнаружен ранее (тот кстати тоже restriction-modification system, но type III). И EC код у него, как у m6A, а не m4C. Возможно причина в плохой аннотации (для ранее найденного белка просто не прописан EC-код, поэтому его не находит). По аннотации эту CDS мы бы не обнаружили.