Практикум 8. Сигналы и мотивы (часть 3)

В практикуме нужно было найти возможные сайты рестрикции в бактерии и возможные нуклеазы, узнающие их. Наша бактерия Dickeya dadantii 3937.

Изначально у нас в распоряжении были файлы prim_file.tsv с описанием известных эндонуклеаз и их возможными сайтами рестрикции и sequence.fasta с полным геномом нашей бактерии.

Из самого определения нуклеаз следует, что они узнают какие-то сайты на молекуле ДНК и разрезают ее. Это необходимо, если нужно защититься от чужеродной ДНК, но совсем неприемлемо для своей, поэтому очевидно, что организмы будут избегать иметь на своей ДНК сайты своих собственных эндонуклеаз. Поэтому мы искали сайты, которые неслучайно редко встречаются в геноме.

Сначала мы выделили из файла prim_file.tsv список всех сайтов для известных нуклеаз:

cut -f 5 prim_file.tsv | sort -u | grep -Ev "Recognition" | grep -Ev "-" > sites.txt

Затем используя алгоритм С.Карлина и соавторов для вычисления предполагаемой частоты встречаемости сайта в геноме, учитывающий наблюдаемые частоты подслов и реализованный на сервере kodomo программой CBcalc, вычислили отношение наблюдаемой и ожидаемой частот встречаемости сайтов в геноме.

cbcalc -s sites.txt --burge -o after_calcul.tsv sequence.fasta

Чем меньше это отношение (O/E ratio), тем больше можно быть уверенным, что в геноме намеренно избегаются эти сайты. Мы отсортировали таблицу по возрастанию этого отношения:

sort -k5,5g after_calcul.tsv > sorted_after_calcul.tsv

и переместили строки с O/E ratio < 0.8 (как предложенное разумное число) в файл probable_sites_dda.tsv.

Сайты

Далее нужно было найти экспериментально подтвержденные эндонуклеазы, которые имеют сайты, найденные нами у нашей бактерии. Для этого мы сначала выделили из файла с эндонуклеазами только подтвержденные экспериментально ("no" в столбце "Predicted"):

cut -f 11 prim_file.tsv | paste - prim_file.tsv | sed -nE '/^no\t/p;1p' | cut -f 2- > only_adj.tsv

Для выделения строк, содержащих эндонуклеазы с нашими сайтами, написали пайплайн и получили итоговый файл при направлении вывода в него.

pipelineИтоговый файл

НАЗАД