Здесь должен находиться великолепный флэш-ролик. Если ролик не видно - установите Flash Player.

Новости

 
31 мая 2014 г.

Биология не раз переживала новое рождение: быв сначала «полевой» наукой, изучавшей животных и растения, в XX веке она значительно переместилась в лаборатории, концентрируясь на молекулярных основах жизни и наследственности. В XXI веке история двинулась дальше: многие эксперименты теперь проводятся на компьютере, а материалом для изучения являются последовательности белков и ДНК, а также информация о строении биологических молекул.

Любимые слова компьютерных биологов.

«Сухая» биология

В наше время в мире никого не удивишь уже названием профессии «компьютерный биолог» или «биоинформатик», хотя еще несколько десятков лет назад эти сферы деятельности — биология и компьютеры — казались совсем непересекающимися, а еще за несколько десятков лет до того никаких компьютеров не было вовсе. Причем сейчас этот термин включает в себя уже достаточно много отдельных занятий, требующих разной подготовки и разного взгляда на науку и ее место в жизни: биоинформатик, специалист по обработке информации, разработчик баз данных, программист, куратор онтологий, специалист по молекулярному моделированию — все они занимаются разными вещами, хотя со стороны их отличить будет непросто. Все это без намеков говорит нам, что компьютеры прочно вошли в будни биологов, причем это не только е-мейл и фейсбучек, но и масса более специальных навыков, без которых исследователю сейчас и в будущем уже не обойтись. Студент вы или профессор, — никогда не поздно начать совершенствовать свои навыки биоинформатика!

Для ясности биоинформатиками будем называть всех биологов, в работе которых компьютеры играют роль бóльшую, чем просто печатная машинка, хотя в российской традиции собственно под биоинформатиками имеют в виду тех, кто занимается изучением закономерностей биологических текстов — последовательностей белков и ДНК, — а моделирование динамики и свойств биомолекул, например, чаще называют молекулярным моделированием.

Выбор оружия за вами

Сейчас создано такое количество разнообразных биоинформатических программ, что сделать оригинальное компьютерное исследование можно, и не программируя самостоятельно; надо только выбрать подходящее ПО. Однако не стоит слишком расслабляться: чтобы получилось что-то хорошее, надо сначала как следует понять, что же эти программы делают, и какая математическая теория лежит в их основе. Вы же не пойдете в лабораторию ставить полимеразную цепную реакцию, предварительно не узнав, что это такое и для чего нужно? Ну так вот и с компьютерами то же самое. Биоинформатические программы, по сути, являются аналогами оборудования и методик в «мокрой» молекулярно-биологической лаборатории. (Кстати, на контрасте со словом «мокрый» биоинформатические лаборатории все чаще сейчас называют «сухими».) Поэтому, хотя от вас и не требуется вчитываться в каждую строчку исходного кода, представлять себе общие принципы работы программ совершенно необходимо.

Разные программы часто воплощают один и тот же теоретический подход, но все-таки адаптированы для решения разных практических задач. Например, при «сборке» генома из отдельных последовательностей ДНК, получаемых в результате работы автоматических секвенаторов, в случае «длинных» (сотни остатков нуклеотидов) прочтений используется алгоритм, основанный на перекрывании (Overlap-Layout-Consensus), в то время как для работы с наборами «коротких» (десятки остатков нуклеотидов) фрагментов лучше подходят графы де Брёйна. И выбор правильной программы не только сэкономит вам массу времени, но и вообще принципиально обеспечит (или не обеспечит) выполнимость поставленной задачи.

Держите все под контролем

Одна из главных опасностей, что компьютер запросто может выдать неправильный результат, специально никак не просигнализировав об этом. Отсутствие сообщения об ошибке еще не говорит о том, что полученный результат правильный. Подав программе дикие данные на вход или просто использовав неправильные настройки, неизбежно получишь дикий ответ, и чрезвычайно важно постоянно помнить о такой возможности и уметь проверять, что полученное имеет хоть какое-то отношение к действительности. Проще всего убедиться, что все работает как следует, запустив программу для данных, ответ для которых уже известен, и убедиться, что именно он и получается. Часто для маленьких наборов, данных вычисления можно провести буквально вручную, и тогда сверить ответ с получаемым на компьютере особенно занятно: если он отличается, то либо не права машина, либо вы. Но положительного результата в этом случае уже не получить — это точно.

Биохимические эксперименты никогда не проводят без отрицательных и/или положительных «контролей», так вот привыкайте и на компьютере делать то же самое. Контролем в биоинформатике служит, как правило, проверка модели на неких известных данных. С выбором модели данных надо быть очень и очень аккуратным. Дважды проверяйте, что все было без ошибок, и, главное, что полученные результаты имеют какой-то смысл, — иначе вас неизбежно подкараулят «открытия» на ровном месте.

Вы ученый, а не программист

Как известно, лучшее — враг хорошего. Помните, что в вашей работе важны свежие мысли и новизна результатов, а не красота исходников программы. Превосходно оформленный и документированный код, который не дает правильного ответа, несомненно, никуда не годится по сравнению с примитивным скриптом, который дает его. Другими словами, красоту в программу следует привносить только после того, как вы не раз уже убедились, что она и впрямь делает то, для чего предназначена. И — самое главное — используйте свои биологические знания по максимуму, потому что только это и делает вас компьютерным биологом. С другой стороны, полезно писать комментарии прямо по ходу написания программы: «эта функция/структура нужна для...», иначе уже через неделю вы потратите много времени, чтобы понять, что здесь происходит. Повторный запуск программы — это отличный повод для приведения кода в человеческий вид; вы просто будете делать это походу «вспоминания» вчерашней последовательности действий.

Используйте систему контроля версий

Использование контроля версий позволит более гибко управлять развитием кода, позволит легко возвращаться к предыдущим редакциям программы или переключаться между разными ветвями разработки, а также откроет возможность совместной разработки программы. Распространенные системы — такие как Git или Subversion — дадут возможность легкой публикации проекта в сети. Вы сделаете лучше прежде всего для себя, если не поленитесь написать несколько внятных README-файлов и положите их в нужные места проекта; это чрезвычайно вам поможет, если спустя месяцы или даже годы вам придется вернуться к старой программе. Документируйте программы и скрипты, чтобы было понятно, что они делают. Когда публикуете научную статью, хорошим тоном будет опубликовать также оригинальные программы, которые использовались для обсчета данных: это позволит другим использовать тот же метод и воспроизвести ваши результаты. Неплохо бы также вести электронный дневник, в котором был бы записан весь ход работы. Онлайн-репозитории, такие как Github, позволяют делать это, а также позволят вам хранить рабочие версии программы, что станет дополнительным уровнем бэкапа ваших наработок.

Системы управления проектами

Еще одним полезным инструментом, помимо систем контроля версий, который можно позаимствовать из программисткой практики, являются системы управления проектами. Проще всего воспринимать их как продвинутый электронный журнал, который предоставляет вам следующие дополнительные возможности:

Создание и назначение задач. Например, «посчитать то-то». Внутри задачи можно вести обсуждения, которые будут удобно структурированы и не превратят вашу почту в склад ужасающей переписки вроде «Re: Project X (100)» При этом, однако, можно настроить почтовые уведомления, поэтому никто не пропустит важный комментарий.

Прикладывать и организовывать файлы с подробными описаниями и поддержкой версий а-ля Dropbox. Вам приходилось подолгу искать в нескольких ветках переписки по проекту какие-нибудь файлы с маловразумительными названиями, вроде «report_ACC_clean.xxx»?

Во встроенную Wiki можно заносить описания процедур запуска программ, методики экспериментов, встраивать видеозаписи и даже рендерить LaTeX формулы.

Текстовый поиск по всему содержимому, в том числе по приложенным файлам.

Интеграция с системами контроля версий для разработки ПО позволяет удобно соотносить задачи с изменениями в репозиториях.

Есть даже такие экзотические возможности, как организация своего аналога Google Docs для одновременного редактирования текста. Не всю информацию можно доверить сторонним ресурсам.

Заразная болезнь конвейерит

Конвейер (pipeline) — программная цепочка из нескольких или многих инструкций, позволяющая проводить в точности те же операции на новом наборе данных. Конвейеры и скрипты незаменимы в работе компьютерного биолога, но они также могут в корне прервать полет фантазии.

Поэтому нужно предупредить: не пишите всеобъемлющих скриптов слишком рано. Сначала убедитесь, что ваша задумка сработала, и только потом программируйте конвейер. Да и в этом случае трижды подумайте: а оно надо? Точно ли конвейер в этом случае сэкономит время и позволит вывести исследование на новый уровень? Смогут ли (и захотят ли!) этой программой пользоваться другие люди? Если в дальнейшем никто, кроме вас, этой программой пользоваться не собирается, то проще будет оставить ее на уровне работающего скрипта и не увлекаться слишком полной автоматизацией процесса. Тем более — если работа была разовая, в вряд ли заново придется делать то же самое. В этом случае достаточно просто записать в журнал проделанное и с чувством выполненного долга двигаться дальше. В любом случае, вежливо будет в статье написать «scripts are freely available at request», если вы и впрямь не против поделиться своим решением.

Полет фантазии

Ну конечно же, вы можете. Что захотите — то и можете. В том смысле, что креатив и смелая фантазия в работе компьютерного биолога совершенно необходимы, потому что иначе сделать ничего интересного не получится. Адаптируйте существующие методы, создавайте новые, предвидьте успех и не бойтесь неудачи. В этой области очень многого можно достичь, просто лазая по интернету и общаясь с коллегами в лаборатории или в сети. Самообразование не только научит вас решать конкретные проблемы — оно научит вас постоянно учиться.

Никого не слушай

При отработке статистических методик часто делают такой эксперимент: генерируют большие массивы случайных данных, которые случайно же обозначают как «рабочую выборку» или «контроль». А затем к этим данным применяют статистический критерий, который должен выявить различия между данными, которые исходно не различаются. Для многих «выборок» p-значение частенько указывает на статистически значимое различие. Биологические наборы данных, например, полученные из геномного анализа или из скрининговых тестов, также полны случайного «шума» и часто огромны по размерам. Будьте готовы к тому, что при анализе подобных данных вам придется столкнуться с ложноположительными и ложноотрицательными результатами, а также в исходные данные может вкрасться систематическая ошибка, возникшая из-за особенностей эксперимента или экспериментатора.

Даже у биологов, искушенных в статистике, частенько возникает соблазн наплевать на осторожность и углубиться в эксперименты с программой или скриптом, давшими интересный результат. Однако тут всегда необходима осторожность, которая подсказывает, что необходимо рассматривать любой результат как потенциально ошибочный и провести дополнительные проверки на этот счет. Если один и тот же результат удается получить с помощью разных подходов, тогда уверенность в правильности каждого из них возрастет. И, тем не менее, большинство таких «открытий» требуют экспериментального подтверждения, чтобы откинуть оставшиеся сомнения.

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

Верный инструментарий

Обязательно освойте командную строку UNIX/Linux. Бóльшая часть биоинформатических программ имеет интерфейс командной строки. На самом деле, она чрезвычайно мощная, позволяет в тонкостях контролировать рабочие задачи, запускать программы на параллельное исполнение, и, что немаловажно, контролировать работу утилит и перезапускать их прямо через текстовый терминал, хоть с мобильного телефона. Это одно из преимуществ работы биоинформатиков — работать можно где угодно, был бы под рукой компьютер или планшет, а также выход в интернет. Освойте параллельные вычисления, потому что они позволяют запускать сотни задач одновременно и многократно повышать производительность работы. Обязательно нужно уметь хоть чуть-чуть программировать, хотя выбор конкретного языка программирования не играет большой роли: у всех у них есть свои преимущества и недостатки, и иногда нужно комбинировать несколько разных языков, чтобы сделать работу быстрее.

Помните, что выбор более популярного языка позволит вам пользоваться бóльшим набором существующих библиотек и подпрограмм, которые позволят не изобретать велосипед, а сосредоточиться на своей работе. Примером такого «склада» наработок является Open Bioinformatics foundation. Старайтесь не использовать Microsoft Excel (только для вывода таблиц, которые будут читать некомпьютерные биологи, которые только с ним и умеют работать). Это хорошая программа, но для обработки большого количества данных она все-таки подходит плохо. Лучше всего хранить экспериментальные данные в структурированных текстовых файлах (хороший вариант для таблиц — csv) или в SQL-базе — это позволит получать доступ к информации прямо из вашей программы. И, да, делайте бэкапы!

Элементарно, Ватсон!

Раз уж вы станете компьютерным биологом, вам все время придется возиться с данными. Они хранят множество историй, и выловить эти истории оттуда — ваш профессиональный долг. Однако скорее всего сделать это будет не так-то просто. Нужно постоянно держать в голове смысл проведенного эксперимента и схему анализа данных, а также денно и нощно обдумывать, какой же биологический смысл кроется в полученных результатах. И не является ли гипотетический подмеченный вами смысл тривиальным следствием ошибок анализа или артефактов в данных.

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

Кто-то это уже сделал. Так найдите их и спросите!

Какая бы хитрая не была проблема и как бы не был нов метод, всегда есть вероятность, что люди уже занимались тем, с чем пришлось столкнуться вам. Есть два сайта, на которых обсуждают возникшие в исследованиях проблемы — BioStars и SeqAnswers (а чисто программистские вопросы — Stack Overflow). Иногда можно получить дельный совет даже в твиттере. Поищите в интернете, кто в этой стране и в мире занимается похожими вопросами и свяжитесь с ними (см. таблицу 1).

Таблица 1. «Сухие» лаборатории с которыми можно связаться в России

Лаборатория Город Чем занимаются
Группа молекулярного моделирования на биологическом факультете МГУ Москва Молекулярная динамика белков и пептидов
Группа вычислительной структурной биологии, биоинформатическая группаи лаборатория эволюционной геномики на факультете биоинженерии и биоинформатики МГУ Москва Молекулярное моделирование нуклеиновых кислот и нуклеопротеидов и биомембран. Дизайн ферментов.
Системная биология, биостатистика, изучение вторичной структуры РНК.
Изучения естественного отбора на геномном уровне, работа с данными секвенирования нового поколения (NGS).
Лаборатория химической кибернетики и группа компьютерного молекулярного дизайна на химическом факультете МГУ Москва Квантовая и фотохимия
Молекулярное моделирование оболочек вирусов и их ингибиторов, а также мембранных рецепторов
Лаборатория биокатализа и биотрансформаций и Отдел математических методов в биологии НИИ физико-химической биологии МГУ Москва Молекулярное моделирование и биоинженерия ферментов
Анализ пространственной структуры белков и комплексов белок-ДНК. Анализ геномных данных.
Лаборатория моделирования биомолекулярных систем в Институте биоорганической химии РАН Москва Молекулярное моделирование биомембран и мембранных белков, а также биологически активных веществ
Лаборатории структурной биоинформатики и структурно-функционального конструирования лекарств в Институте биомедицинской химии РАМН Москва Компьютерное моделирование комплексов белков с белками и лекарствами, драг-дизайн, фармакология, изучение связей «структура—активность»
Учебно-Научный центр «Биоинформатика» и еще несколько биоинформатических групп в Институте Проблем Передачи Информации РАН Москва Системная биология, анализ пространственных структур биомолекул, сравнительная геномика.Организуют Московский биоинформатический семинар, Московскую школу биоинформатики и конференцию «Moscow Conference for Molecular Computational Biology».
Лаборатория системной биологии и вычислительной генетики и группа биоинформатики в Институте общей генетики РАН Москва Поиск функциональных мотивов (сайтов связывания транскрипционных факторов и т.д.) в последовательностях ДНК
Лаборатория биоинформатики и системной биологии в Институте молекулярной биологии РАН Москва Методы биоинформатики и поиска функциональных мотивов, предсказание предрасположенности к заболеваниям
Лаборатория биоинформатики в НИИ Физико-химической медицины Москва Проблемы метагеномики и протеомики
Лаборатория алгоритмической биологии Академического университета РАН Санкт-Петербург Проблемы «сборки» и анализа геномов
Лаборатория «Алгоритмы сборки геномных последовательностей» национального исследовательского университета информационных технологий, механики и оптики Санкт-Петербург Проблемы «сборки» и анализа геномов
Группа биоинформатики и функциональной геномики Института Цитологии РАН Санкт-Петербург Изучение функционального значения общей структуры генома
Лаборатории функциональной геномики и клеточного стресса и механизмов функционирования клеточного генома Института биофизики клетки РАН Пущино Моделирование структурной организации и поиск промоторов в ДНК бактерий
Анализ распределения физических свойств вдоль последовательности ДНК, нелинейная динамика ДНК
Лаборатория прикладной математики в Институте математических проблем биологии РАН Пущино Вторичная структура РНК, альтернативный сплайсинг
Лаборатория физики белка Института белка РАН Пущино Теоретическое и экспериментальное изучение процессов сворачивания белковых молекул
Отдел системной биологии Института цитологии и генетики СО РАН Новосибирск Постгеномная биоинформатика. Компьютерный анализ и моделирование молекулярно-генетических систем. Генные сети. Модели эволюции микроорганизмов.
Группа лаборатории экологической биохимии Института биологии КарНЦ РАН Петрозаводск Молекулярное моделирование биомембран
ООО "Биоконсалтинг" в сотрудничестве с Chemotargets SL (Испания) Екатеринбург Прогнозирование профилей аффиности малых молекул
Проектирования химических библиотек малых молекул
Выявление новых химических веществ с настраиваемыми профилями аффинности
Выявления нецелевого взаимодействия малых молекул - предпологаемое побочное токсичное действие


В довершение можно сказать, что в интернете есть масса форумов и юзергрупп, где можно задать интересующие вопросы. Установите себе линукс и начните изучать в онлайне что-нибудь биоинформатическое. При должном упорстве вы удивитесь, как многого можно достичь, имея просто компьютер и выход в интернет!

Источник: БИОМОЛЕКУЛА

Есть вопрос или комментарий?..


Ваше имя Электронная почта
Получать почтовые уведомления об ответах:

| Примечание. Сообщение появится на сайте после проверки модератором.


Вернуться в раздел Новости

Регистрация ЛСCRO Биоконсалтинг предлагает любые виды услуг по юридическому оформлению лекарственных средств на территории РФ....
Открыть раздел Регистрация ЛС
Подработка для студентов! Участие в медицинских-научных исследованиях. Исследования проводятся в течении 4-х дней (2+2 через 2 недели) (оплата от 3 000 рублей в день)....
Открыть раздел Вакансии
Политика в области качестваОсновная цель деятельности Общество с ограниченной ответственностью «Биоконсалтинг» (далее ООО «Биоконсалтинг») – проведение токсикологических,...
Открыть раздел Политика в области качества
The LineAct Platform