Структуры данных для биоинформатики

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

Ответ 1

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

Всесторонняя работа над этим - Дэн Гусфилд Алгоритмы по строкам, деревьям и последовательностям

Ответ 2

Многие вводные книги по биоинформатике будут охватывать некоторые из основных структур, которые вы будете использовать. Я не уверен, что такое стандартный учебник, но я уверен, что вы можете это найти. Возможно, было бы полезно посмотреть на некоторые из конкретных языков:

Я выбрал эти два примера, потому что они опубликованы O'Reilly, которые, по моему опыту, публикуют книги хорошего качества.

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

Ответ 3

Пространственные хеширующие структуры данных (kd-tree), например, часто используются для запросов ближайших соседей произвольных векторов признаков, а также анализа структуры 3d-белков.

Лучшая книга для вашего $$ Понимание биоинформатики по Zvelebil, потому что она охватывает все: от анализа последовательности до сравнения структуры.

Ответ 4

В дополнение к базовому знакомству со структурами, которые вы упомянули, деревья суффикса (и массивы суффиксов), de Bruijn, и интервальные графики широко используются. Справочник по вычислительной молекулярной биологии очень хорошо написан. Я никогда не читал все это, но я использовал его как ссылку.

Ответ 5

Я также очень рекомендую эту книгу, http://www.comp.nus.edu.sg/~ksung/algo_in_bioinfo/

И совсем недавно python гораздо чаще используется в биоинформатике, чем perl. Поэтому я действительно предлагаю вам начать с python, он широко используется в моих проектах.

Ответ 6

Многие проекты в области биоинформатики включают объединение информации из разных полуструктурированных источников. RDF и онтологии необходимы для большей части этого. См., Например, проект bio2RDF. http://bio2rdf.org/. Хорошее понимание идентификаторов является ценным.

Большая биоинформатика - это поисковые и быстрые легкие инструменты, которые часто используются. См. Инструменты рабочего процесса, такие как Taverna, где основным ресурсом часто является набор веб-сервисов - поэтому HTTP/REST являются общими.

Ответ 7

Независимо от ваших математических или вычислительных знаний, вы, скорее всего, найдете приложение в вычислительной биологии. Если нет, сделайте еще один вопрос о stackoverflow, и вам помогут: o)

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