Страницы: 1
RSS
Пример использования Excel для биоинформатики, Подготовка аминокислотных последовательностей для филогении
 

Все привет! Для молекулярной биологии (биоинформатики) есть множество специализиванных программ, например есть такие мощные инструменты как Geneious Prime, CLC bio, DNASTAR и многие другие, пусть и с меньшим функционалом, предназначенные для работы с последовательностями - нуклеотидными или аминокислотными. Здесь, я хочу показать, как можно использовать программу Excel для работы с последовательностями, при этом эксель не только не уступает по мощности или user friendly интерфейсу упомянутым «гигантам», но и даже превосходит их. Отчасти это сравнение неправильное, так как эти программы конкурируют между собой и, по сути, выполняют одни и теже операции (работа с плазмидами, сборка NGS-данных, визуализация геномов и т.д.), в экселе же, можно выполнять те операции, которых в принципе нет в этих программах (работать с массивами, вытаскивание информации по единичным позициям, одновременное глобальное выравнивания множества групп последовательностей и т.д.), т.е. эксель не конкурирует с ними, а только дополняет их. На мой взгляд это как раз то, что не хватает мокрым биологам, которые абсолютно не то, что умеют программировать, а даже пользоваться многочисленными программами, лежащими на GitHub (кнопочек в них нет, да и устанавливаются они как правило на Linux).

В качестве примера, попробуем построить филогенетическое дерево (родословную) золотистого стафилококка (Staphylococcus aureus) сиквенс типа 8 (ST8). Схематично этапы расчетов будут выглядеть так:

1) Получаем все гены этих штаммов, переносим их в эксель, удаляем (сортируем) идентичные последовательности.

2) Транслируем (переводим ДНК в белок, т.е. группы по три символа заменяем одним символом) и создаем список уникальных аминокислотных последовательностей.


3) Кластеризация: среди всех генов (пан-геном) необходимо найти только те гены, которые есть в каждом штамме (коровый геном). Кластеризуем последовательности, гомология которых не менее 80%.

4) Выравнивание. В итоге получаем более 600 коровых генов (т.е. 600 кластеров генов), различные по сиквенсу последовательности которых нужно выровнять между собой


 5) Возвращаем каждому геному свой выровненный белок.


6) Mask Alignment – аминокислоты, которые одинаковые в каждой позиции одного и того же кластера белков, ненужны для построения филогении, поэтому их можно и нужно удалить, тем самым сократив количество информации в более чем 10 раз.

7) Строим филогенетическое дерево или сеть и наслаждаемся полученным результатом.


Теперь немного подробнее каждый шаг:

1) Первый и последний шаг не относятся к экселю. В ГенБанке было скачано 1866 полных геномов золотистого стафилококка, определена принадлежность их к сиквенс-типам и выбрано 363 генома относящихся к ST8. Далее в эксель импортированы все гены каждого штамма (лист DataBase) (почти 973 тыс. генов).

Чтобы не хранить весь объем данных и уменьшить его, идентичные последовательности были удалены. Для этого была получена хеш-сумма каждой последовательности, массив сортирован и дубли удалены. Штатная функция «Удалить дубликаты» почему-то не работает на нуклеотидных и аминокислотных последовательностях, может они длинноваты?

2) Из нуклеотидов получаем белковые последовательности. Можно воспользоваться функцией из сообщения 9 от БМВ, за что его отдельная благодарность:

https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=129032&MID=1060215#message1060215

Аналогично нуклеотидам, чтобы не утяжелять файл, получаем хеш-сумму и удаляем дубли. Переносим уникальные сиквенсы на новый лист (хотя можно работать и на том же).

3) Кластеризация: среди всех генов (пан-геном) необходимо найти только те гены, которые есть в каждом штамме (коровый геном). Нужно кластеризовать (объединить в группу) последовательности, гомология которых не менее 80%. Самый сложный шаг. Пока пользуюсь онлайн программой:

https://toolkit.tuebingen.mpg.de/tools/mmseqs2

Результаты так себе, но быстро и просто. Как реализовать в экселе не знаю. VBA коды всех так называемых «Меры схожести строк» нашел в интернете. Пожалуй, один из самых быстрых и выдающих хорошее значение, здесь:

https://rosettacode.org/wiki/Jaro_similarity#VBA

Вероятно, наиболее близкий алгоритм здесь и кстати мера схожести строк тоже тут шустрая:

https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=95661&TITLE_SEO=95661-sravnenie-skhozhesti-teksta-dlya-raboty-s-bolshimi-spiskami

4) После кластеризации сиквенсов, оставляем только те кластеры, гены которых присутствуют в каждом геноме, т.е. не менее 363 раз (количество геномов). В итоге получаем более 600 коровых генов (т.е. 600 кластеров генов), различные по сиквенсу последовательности которых нужно выровнять между собой. Выравнивание лучше делать алгоритмом MAFF, код которой блестательно адоптировал doober, за что ему низкий поклон. Здесь ссылка на саму надстройку: https://disk.yandex.ru/d/py6SjDIZC4EiOA

А эта ссылка на программу, которую нужно скачать и распаковать на диск С, чтобы путь был такой c:\mafft-win:

https://mafft.cbrc.jp/alignment/software/windows_without_cygwin.html

скачиваем файл mafft-7.520-win64-signed.zip (версия на 18.11.2023, но может быть и более новая версия).

При вызове макроса, нужно выделить два столбца: правый столбец - сиквенсы которые нужно выровнять между собой, левый столбец содержит идентификатор, по которому MAFF объединяет последовательности для выравнивания. При этом данные выгружаются в соседний правый столбец относительно этих двух.

5) ВПР или ПРОСМОТРХ возвращаем каждому геному свой выровненный белок.

6) Mask Alignment – аминокислоты, которые одинаковые в каждой позиции одного и того же кластера белков, ненужны для построения филогении, поэтому их нужно удалить, тем самым сократив количество информации в более чем 10 раз. В данном примере если этого не сделать, то все в текстовый файл может не влезть, да и программам, которым в дальнейшем его обрабатывать будет намного сложнее. Великолепный макрос для этого написал Евгений Смирнов:

https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=161293&TITLE_SEO=161293-udalit-vse-odinakovye-simvoly_-v-kazhdoy-pozitsii-v-kazhdoy-yacheyki-po-stolbtsu-_mask-alignment&MID=1275919&result=new#message1275919

7) Строим филогенетическое дерево или сеть и наслаждаемся полученным результатом. Возьмем например бесплатную великолепную программу PHYLOViZ, она очень простая и интуитивно понятная:

https://bitbucket.org/phyloviz/phyloviz-main/downloads/

Все конечные файлы со всеми расчетами прикладываю.

Файл для программы PHYLOViZ. Архив нужно распаковать, получится папка, после открыть программу PHYLOViZ, File – Open project – папка будет в виде 4-х сцепленных шестеренок – правой кнопкой мыши Load dataset. https://disk.yandex.ru/d/xQxqZAgL7r6qpw

Исходные файлы для PHYLOViZ, полученные из Excel:

Данные в фаста формате: https://disk.yandex.ru/d/N3hxZac64g-7dw

Метаданные: https://disk.yandex.ru/d/2d6WnTWbk_sT7A

И самое главное – файл Excel: https://disk.yandex.ru/d/Rw_R8eRXwHeYIQ


Если кто-то проделает все это от начала до конца, тот настоящий биоинформатик, можете смело получать диплом!

Это лишь один из массы примеров, в котором показано что Excel способен решать задачи по биоинформатике. Придумать можно сколько угодно.

Надеюсь, никто не будет смеяться нам моими примитивными пассами над экселем. И вообще, гуру экселя, для нормальных людей написано десятки тысяч макросов, функций и формул, можно что угодны вытворять в нём, даже в игры играть, ну, когда же вы уже наконец обратите внимание на мокрых биологов? Это же, не справедливо ;)

Изменено: dim284 - 19.11.2023 12:00:31
 
Цитата
dim284 написал:
Надеюсь, никто не будет смеяться нам моими примитивными пассами над экселем.
На мой взгляд все наоборот. Если вы владеете знаниями в той области а Excel это инструмент, позволяющий что-то посчитать или показать наглядно, то любой результат, даже если он достигнут не самым оптимальным путем - это положительный результат. Кстати часто разовые вещи не имеет смысл вылизывать и оптимизировать. Тратить часы на разработку чтоб получить тот же результат на 2 секунды раньше и больше не запускать - не имеет смысла. Так что , для меня , как полного профана в стафилококках-  вы хорошо потрудились.

Я тут в очередной раз услышал мнение, которое слышу на протяжении последних 10-15 лет, мол вот сейчас внедрим систему и от excel откажетесь. И так с каждой системой, а excel продолжает выручать в те моменты когда система не может показать то что нужно, а доработка стоит конских денег. Как правило такое мнение слышу от тех, кто потребляет результат, а не готовит отчеты и расчеты.
По вопросам из тем форума, личку не читаю.
 

Ну и в конце. Для чего вообще все это нужно на практике. Люди всегда болели разными инфекционными агентами и задавали себе логичный вопрос: Иванов и Петвов инфицированы подобными штаммами, а у русских и немцев близкие штаммы и т.п. Нужно было научится отличать штаммы в пределах одного вида. Первое поколение таких попыток было фаготипирование и серотипирование – долго, сложно, плохо воспроизводимо, слабая дифференцирующая способность. Настала эра молекулярной биологии, появилось второе поколение методов основанных на анализе ДНК, часто предназначенные для определенного вида бактерий, среди них: spa-типирование, сполиготипирование, полиморфизм длин рестрикционных фрагментов, полиморфизм длин амплифицированных фрагментов и, как наиболее распространенный, мультилокусное типирование (MLST). В последнем методе определяют первичную структуру как правило семи вариабельных генов и по ним прослеживают филогенетические связи. Где-то в 2011 году произошло окончательное понимание того, что эти методы устарели и способствовало этому появление токсикогенной E. coli, которая по MLST была самой обыкновенной E. сoli. Собрали комиссию экспертов из разных стран … бог с ними. Третье поколение методов основаны на анализе полного генома, золотых стандартов пока нет, да и методов там несколько, один из которых анализ по коровым белкам, рассмотренный здесь. Этого анализ гораздо информативней, дешевле и быстрее в исполнении, но требует наличие биоинформатических навыков, людей которых как класса нет в России, по крайней мере в лабораториях мы их не видим.

Тут биологи скажут: - Постойте-постойте, откуда же NGS-секвенирование дешевле секвенирование по Сенгеру. Давайте посчитаем: на каждый из семи генов, чтобы их амплифицировать нужно по два праймера, возьмем их стандартного размера по 20 нуклеотидов, с ценой 30 рублей за нуклеотид. Итого: 7 генов * 20 праймеров * 30 рублей = 4200 рублей. Плюс сикенс каждого гена, читаем каждый ген с двух сторон, итого: 14 сиквенсов * 750 рублей/сиквенс =  10500. В итоге 14700 рублей весь анализ, если с первого раза все еще получится, держи карман шире. NGS-cеквенирование геномов на платформе Illumina за штамм 17900 (реклама запрещена, погуглите найдете). Второе будет дешевле поскольку в первом случае нужны ещё полимеразы, буферы для фореза, гели, чистка ДНК на колонках, время работы сотрудника и т.д.

Сравним MLST и то, что мы сегодня получили. В MLST всего 7 генов и по определению 7 точек по которым можно строить филогению. У нас же ДЛСТР получилось 12891 точка – разные аминокислоты в одних и тех же позициях, одних и тех же белков по происхождению, что в 1840 раз точнее, чем MLST-типирование. Изначально мы взяли по MLST-типированию только одну группу – ST8, то есть эти штаммы по этому методу находятся в одной группе, а как они относятся друк к другу внутри этой группы, мы не знаем, точнее не знали. А тут все видно, вот, например красные это Швейцария:

Суринам кучкуется:

Суринамцы и швейцарцы, конечно, хорошие люди, но нам надо думать как россиян лечить, мне лично до их штаммов до лампочки, не в обиду будет сказано про этих благородных людей.

У нас же в Росии много секвенируют, данных завались, только некому анализом занимать, мало кто в этом что понимает. Поэтому все данные лежат по лабораториям, многие их даже не выкладывают в базы данных. Ну теперь то мы попрем, планета excel все сделала, дальше живем на расслабоне  8)

 
dim284,  Я дал прочесть эти два поста своим стафилококкам, и они с грустным видам покидают мое тело  :D
По вопросам из тем форума, личку не читаю.
 
Цитата
написал:
вы хорошо потрудились
Спасибо за поддержку БМВ. Хорошо было бы, если бы эти посты на всех так действовали - пришел в больницу с жалобой, почитал брошюрку и пошел домой здоровый :)
С бактериями сложновато работать, генов много, да и компьютеры в НИИ оставляют желать лучшего. С вирусами проще, геномы небольшие, в ячейку помещаются, все летает.
Примечательно, что для работы с последовательностями нужен ограниченный набор специфических функций. Далее биологическая информация переводится в обычную информацию, с которой можно работать всеми доступными в Excel средствами. Всем советую!
 
Цитата
dim284 написал:
Хорошо было бы, если бы эти посты на всех так действовали - пришел в больницу с жалобой, почитал брошюрку и пошел домой здоровый
так нельзя, только так

или так
 :D
По вопросам из тем форума, личку не читаю.
 
БМВ Как круто . Теперь и мы внесли малюсенький вклад в борьбу с болезнями. :D  
 
dim284, спасибо за подробный отчёт! Очень полезная тема, я считаю. Успехов в дальнейших исследованиях!  :idea:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх