Rosetta@home

Что мы хотим знать о проекте Rosetta@Home ?

  Апрель 2006 г.

Автор статьи lusvladimir, команда "Russia Team"


Добро пожаловать в проект Rosetta@Home!

Зачем нужен этот проект?

В чем же состоит проблема?

Что считает эта программа, как происходит обработка информации?

Как это все работает?

Что мы считаем?

Ближайшие цели и планы (CASP7).

Об ошибках.

Системные требования.

Дополнительная информация.


 

Тематика данного проекта – молекулярная биология – наука, с одной стороны, конечно, сложная, но вместе с тем очень интересная. Мы с вами не будем углубляться в научные теории, а просто попытаемся дать ответ на некоторые интересующие вопросы по данному проекту.

 

Зачем нужен этот проект?

 Цель проекта - решение одной из самых больших проблем в молекулярной биологии - вычисление трехмерной структуры белков из их аминокислотных последовательностей. Немного непонятно?

Сейчас во всем разберемся.

Все живые организмы на земле построены на белковой основе. Белок как бы является строительным материалом, или, если угодно, “материалом жизни” для всех живых существ. Разнообразные формы белков принимают участие во всех процессах, происходящих в живых организмах. В теле человека из белков формируются мышцы, связки, сухожилия, все органы и железы, волосы, ногти; белки входят в состав жидкостей и костей. Ферменты и гормоны, катализирующие и регулирующие все процессы в организме, также являются белками.

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

Белок состоит из аминокислот (как слово состоит из букв).

Для разных организмов, конечно, количество белков («слов») и их длина («количество букв в слове») заметно отличается – чем сложнее устроен организм, тем возрастает количество и сложность белков –  но это и понятно – у человеческого организма гораздо больше функций, чем у какой-нибудь инфузории.

Благодаря недавно завершенному проекту "Геном человека" стали известны аминокислотные последовательности всех белков в человеческом организме. Ранее были изучены многие белки других живых организмов. Процесс пополнения этой информационной базы продолжается до сих пор, ведь природа живых существ так многообразна! Вы помните, что каждый белок уникален?

Что же произойдет, если организм в результате какой-то причины перестанет вырабатывать какой-то белок? Правильно, приходит болезнь (и как это ни прискорбно, в некоторых случаях организм может прекратить свое существование), вот почему все это так важно.

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

 

В чем же состоит проблема?

 Основная проблема - объем расчетов. Белков великое множество и каждый белок, как мы с вами уже знаем, уникален.

Как же охватить все это огромное многообразие? Кто лучше всех справится с обработкой таких гигантских объемов информации? Ответ очевиден - конечно, компьютер. Ну, раз компьютер, то ему нужна программа для вычислений. В результате огромной работы ученых и других специалистов в этой области, на основе существующих знаний эта программа была создана и получила имя - Rosetta.  Для выполнения расчетов по этой программе нужна фантастическая вычислительная мощность. Вот тут-то на помощь и приходят распределенные вычисления.

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

 

Что считает эта программа, как происходит обработка информации?

 Одно из самых важных открытий в молекулярной биологии – то, что в пространстве белковая структура (связка аминокислот) стремится занять такое положение, чтобы энергия этой структуры была минимальна (представьте шар в трубе - шар будет всегда катиться вниз к основанию трубы, потому что это - самое устойчивое состояние.).

Итак, задача программы – посчитать наименьшую энергию белковой системы, если известны составляющие этой системы (аминокислоты) – при этой минимальной энергии это и будет искомый белок!

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

Приведу еще аналогию, которая мне очень нравится, она описана основателем проекта – Дэвидом Бейкером, профессором биохимии Университета медицинских исследований  Ховарда Хьюза в Вашингтоне (David Baker, Professor of Biochemistry at the University of Washington Howard Hughes Medical Institute investigator) на сайте проекта:

 

"Вы - космический исследователь и обнаруживаете новую планету, ваша задача -  найти и сообщить координаты самой низкой точки поверхности планеты. Как Вам найти эту самую низкую точку? Одна из возможностей - приземлится где-нибудь на планете, и начать поиски оттуда. Тем не менее, если планета очень большая, вряд ли ваш корабль приземлится где-нибудь в  глубокой долине, чтобы находить эту самую низкую точку. Например, если вы приземлились бы на нашу  Землю, вы вряд ли найдете самую низкую точку, которая располагается на Земле на берегу Мертвого Моря, наиболее вероятно, что вы будете находится на другом континенте, возможно изучая Гималаи или пустыню Сахара. Но что если у вас было бы 10,000 преданных исследователей, и у каждого из них был бы парашют?

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

 

Как это все работает?

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

 

Что мы считаем?

 На первом этапе проекта, который продолжается и сейчас, стоит несколько более простая задача:

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

 

Ближайшие цели и планы (CASP7):

 Каждые два года ведущие специалисты в области молекулярной биологии проводят научно-практическую конференцию – CASP (Critical Assessment of Techniques for Protein Structure Prediction) - Критическая Оценка Методов для Белкового Структурного Прогноза.

CASP представляет собой "мозговой штурм"  в области прогнозирования белковых структур, на данных конференциях представляются различные методы и способы прогнозирования, а также подводятся итоги научных и практических разработок в данной области науки. Последний CASP (шестой по счету) был проведен в 2004 г. Очередной (CASP7) состоится в ноябре 2006 г.  в Калифорнии. Конференция не только научная, но и практическая, и участники разных молекулярно-биологических проектов, в том числе и проекта Rosetta@Home, будут непосредственно испытывать на своих компьютерах новые методы прогнозирования белковых структур, так что это еще будет и соревнование между различными «биологическими школами» (например, проекты Predictor@Home и Rosetta@Home – чей прогноз окажется точнее?)

В общих чертах, это будет выглядеть так: за несколько месяцев до начала CASP7 будут представлены несколько так называемых «целей» -  белковых структур, параметры которых удалось определить сложными дорогостоящими экспериментальными методами. Результаты этих экспериментальных методов,  расчетов и сама структура белков пока будет закрыта до окончания CASP7 (чтобы соблюсти чистоту эксперимента). Каждый участник эксперимента (для нашего случая все сообщество участников проектов Rosetta или Predictor) - рассчитывает прогноз для данного белка и отсылает полученные результаты организаторам. Группа судей - независимых экспертов (только они будут знать истинную структуру искомых белков) оценивает по разным критериям качество прогноза и на основании этого определяет победителя. Все результаты прогнозов и истинные структуры белков, после окончания CASP7, естественно, будут открыты, опубликованы и представлены всем желающим в свободный доступ.

В связи с этим, в рамках подготовки к столь важному событию, в проекте Rosetta@Home начато выполнение расчетов некоторых белков из предшествующих испытаний CASP6, чтобы протестировать работу систему в целом и избежать возможных ошибок при запуске CASP7.

 

Об ошибках:

 Любой сложный проект не может быть абсолютно застрахован от ошибок. К сожалению, они присутствуют и в данном проекте. Но не ошибается тот, кто ничего не делает, правильно?

Разработчики программы постоянно улучшают и совершенствуют свое творение.

Перед тем, как выпустить очередную версию программы, её, конечно, нужно протестировать.  Так вот, в этом вы тоже можете помочь!

С 15 февраля 2006 г разработчиками программы Rosetta создан дочерний проект, получивший имя RALPH (от слов Rosetta ALPHA в мире программного обеспечения альфа-версиями называются пробные, тестовые версии программ). Присоединившись к данному проекту, вы поможете разработчикам в их нелегком труде - сделать программу лучше, быстрее, надежнее в работе. И конечно, вы первыми узнаете обо всех нововведениях и улучшениях программы! Например, с недавних пор пользователь сам определяет, сколько времени будет считаться один рабочий блок (WU) в программе! (данная настройка может изменяться в пределах от 1 до 24 часов, в дальнейшем разработчики обещают увеличить это время).

До недавнего времени самой серьезной ошибкой, существующей в данном проекте, и вызывавшей неудовольствие многих его участников, считался так называемый «1%-bug» - когда при старте (вот почему 1%) расчета очередного WU программа как бы «застревала» на одном месте и дальнейший расчет не производился. Начиная с версии 5.06 разработчики заявляют, что данная ошибка устранена благодаря специальному механизму наблюдения за WU. Данный механизм называется watchdog (букв. – сторожевая собака), он контролирует ход выполнения вычислительного процесса, и, в том случае, если в течение определенного времени обнаруживается, что прогресса в вычислениях нет, «сторожевая собака» аккуратно прерывает данный «плохой» WU, и запускает на расчет следующий.

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

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

Среди пользователей проектов распределенных  вычислений немало талантливых людей. Вы тоже можете помочь своими знаниями. Как говорится, «одна голова хорошо, а две - лучше».

 

 В заключение хотелось бы сказать несколько слов о системных требованиях к проекту:

 Программа работает на различных операционных системах: Windows, Macintosh, Linux.

 Требования разработчиков, предъявляемых к аппаратной части вашего компьютера невысоки:

Процессор от 500MHz и выше (для Macintosh 350MHz), 200 Mb свободного дискового пространства, и 512 Mb оперативной памяти.

(хотя, судя по собственному опыту, и свободного места и памяти нужно гораздо меньше).

 

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


Дополнительная информация:

Часто задаваемые научные вопросы по Rosetta@Home.

Исследование Болезней.


 

Назад на главную страницу BOINC.RU 

Присоединяйтесь. Вместе мы победим!