Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 СУБД в биоинформатике  [new]
aou
Member

Откуда:
Сообщений: 37
Просто интересно. А какие СУБД используются в биоинформатике? Например - базы, используемые в алгоритме BLAST где и как хранятся?

Если в кратце - то типичная задача следующая:

Сама база данных - строки длинной от 100 до 30000 символов (белковые или ДНК последовательности). Объем - от 20Gb до 3-4Tb.

Задача - найти в базе все записи *похожие* на заданную. То есть не такуюже, не подстроку, а именно похожую запись. Ну например, отличающуюся на 5-10 случайных символов от заданной.

Подробности здесь: http://www.ncbi.nlm.nih.gov/BLAST/
8 дек 04, 20:46    [1168269]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4257
MS sqL 2005 позволяет это делать. Только структуру придется разложить как XML документ и хранить в поле типа XML
8 дек 04, 21:24    [1168296]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
Константин Лисянский
Member

Откуда: Москва
Сообщений: 902
Не думаю, что MS SQL 2005 ИСПОЛЬЗУЕТСЯ вообще, тем более в биоинформатике. Потому что его ещё нет.
Также не очень понятно зачем раскладывать в XML, когда BLAST работает с текстовыми строками. Что-то здесь не так :)
Мне кажется, последовательность надо было бы хранить в CLOB и обрабатывать посредством UDF. Скорее всего, в MS SQL нет встроенной функции, реализующей BLAST.

3-4 ТБ также говорят о том, что задача не очень тривиальная. На мой взгляд, нужны достаточно хорошие вычислительные мощности. Желательно распараллеливание, поскольку объёмы достаточно большие.
Соответственно, нужно искать СУБД, способную эффективно параллельно обрабатывать достаточно большие объёмы данных с помощью UDF (не исключено, что реализация BLAST уже существует в виде UDF для какой-нибудь СУБД).
Не исключаю, что надо посмотреть в сторону специализированных СУБД. Может, есть такие?

Смотря на верхнюю границу объёма данных, предложил бы Терадату, если был бы уверен, что есть UDF для поддержки BLAST. Но не уверен.


С уважением,
Константин Лисянский
http://lissianski.narod.ru
9 дек 04, 00:15    [1168416]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4257
[quot Константин Лисянский]Не думаю, что MS SQL 2005 ИСПОЛЬЗУЕТСЯ вообще, тем более в биоинформатике. Потому что его ещё нет.

Есть не в полной версии - без инструментов.

--Также не очень понятно зачем раскладывать в XML, когда BLAST работает с текстовыми строками. Что-то здесь не так :)

что и собственно и есть XML.

---обрабатывать посредством UDF. Скорее всего, в MS SQL нет встроенной функции, реализующей BLAST.

зато есть многое что позволяет это реализовать.

--3-4 ТБ также говорят о том, что задача не очень тривиальная. На мой взгляд, нужны достаточно хорошие вычислительные мощности.

скажем так я оперирую обьектами 20-70 мег. достаточно легко.
а Юкон делает это еще проще, посокльку не хранит в тупую XML обьект как набор бинарных данных а его структурирование представление с легким доступом к любой части.
9 дек 04, 00:33    [1168431]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
Константин Лисянский
Member

Откуда: Москва
Сообщений: 902
что и собственно и есть XML.


ОК. Бласт работает с плоскими текстовыми строками без какой-либо разметки тегами.
XML в этом случае просто будет лишним оверхедом. ИМХО.

а Юкон делает это еще проще, посокльку не хранит в тупую XML обьект как набор бинарных данных а его структурирование представление с легким доступом к любой части.


Если это структурированное представление похоже на DOM, то тормоза и жуткий расход памяти обеспечены.
Но, ояпять-таки, BLAST не об этом. На мой взгляд, XML тут, всё-таки, не при чём.


С уважением,
Константин Лисянский
http://lissianski.narod.ru
9 дек 04, 00:50    [1168446]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4257
--XML в этом случае просто будет лишним оверхедом. ИМХО.

я хотел сказать что XML тоже текст, то есть предпологал предварительную конвертацию из BLAST -а


хотя если подумать Oracle лучший кандидат на это. Клобы можно хранить как файлы, а доступ к файлам, если не нужна модификация - а только чтение - почти мгновенный через file mapping. И будет это хорошо и быстро даже на среднем компьютере. Правда надежность будет также ниже.
9 дек 04, 00:54    [1168447]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
Константин Лисянский
Member

Откуда: Москва
Сообщений: 902
хотел сказать что XML тоже текст, то есть предпологал предварительную конвертацию из BLAST -а


А, понятно. Видимо, Вы немного не поняли. BLAST - это не формат хранения, а алгоритм обработки. Соответственно, речь идёт не о том, как сохранить текст структурированно, а о том, как обрабатывать длинные неструктурированные строки с помощью алгоритма BLAST.

И будет это хорошо и быстро даже на среднем компьютере

А что такое в данном случае "средний компьютер", если речь идёт об обработке 3-4Tb?

С уважением,
Константин Лисянский
http://lissianski.narod.ru
9 дек 04, 01:28    [1168470]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
Nikolay Kulikov
Member

Откуда: Москва
Сообщений: 607
DB2 + Db2 Information Integrator (Non relational Wrappers)

Куча лабораторий использует и это в некоторой степени
конек DB2 Inofrmation Integrator.

Life Sciences sources: Kyoto Encyclopedia of Genes and Genomes (KEGG) and data sources accessible by Entrez, BLAST, HMMER (including new support for HMMSEARCH tool), and BioRS.

Почитай
http://www-1.ibm.com/industries/healthcare/doc/content/bin/blast.pdf
http://www.google.ru/search?q=cache:TK0pLpDnZpUJ:sites.computer.org/debull/A04sept/ibm.ps+db2+blast+references&hl=ru&client=firefox-a
http://www.research.ibm.com/journal/sj/414/haas.pdf
http://www.research.ibm.com/journal/sj/402/haas.pdf

P.S. Если интересно пиши письма.
9 дек 04, 10:38    [1168922]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Kет 10 (чуть поболе) назад работал в институте молекулярной генетики, в отделе непосредственно связанным с мат.анализом этих самых науклеотидных последовательностей. Соответсвенно имел дело и с БД таких последовательностей. В то время форматов БД было несколько (не меньше 4х), нов общих чертах они были похожи. Кажадя запись имела загловок с перечнем полей, описывающих ее (что-то типа "организм", "когда" и "где была получена" и т.д. и т.п.) и сама последовательность. Фишка в том, что поскольку нуклеотидная последовательность использует по большому счету 4 символа (правда в ДНК и в РНК они немножко разные) то эту последовательнось хранят в сильно сжатом виде - пракитчески 2 бита на символ. СУБД не было - для работы с БД, представляющей собой набор файлов, прилагались библиотеки, реализующие функции типа поиск по полям извлечение последовательности и .т.д. и т.п. . Самая большая проблема была - объем. Еcли учесть что тогда работали на DOS 3.3 где объем диска ограничен 32 мегабайтами (если не ошибаюсь), то приходилось изврашаться по всякому какие то оособые драйвера дисков, хитрые програмно-управляемые накопители на ленточках, жуткодорогая (в то время) магнитооптика......

Помню, библиотеки приходили на С, а я их переделывал под С++ , пытаясь изобразить некий абстрактный класс со стандартными методами для работы с любым форматом, ну и его реализации - для каждого формата своя. Уже не помню - сделал или нет....
9 дек 04, 10:46    [1168959]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
Sarin
Member

Откуда: Земля, Солнечная система.
Сообщений: 14485
Oracle. БД до 16Tb.
9 дек 04, 10:51    [1168987]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
О! так там же все написано!

.......Узнаю знакомые слова - GenBank, EMBL :)
9 дек 04, 10:51    [1168988]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
AVVS
Member

Откуда:
Сообщений: 335
Попробуйте связаться вот с этими:

http://www.empproject.com

Очень много они этом смысле наработали. Используют ORACLE и XML и
специфический формат для аннотирования биоданных.

Удачи!
9 дек 04, 10:56    [1169015]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Кстати... оценивая общий объем этих файлов и этих файлов , что то не вижу я тут терабайтов... максимум 100 гигов для многих организмов. Например файл с гворящим названием human_genomic.gz вести 814 мегов - то есть около 3 гигов в распакованном виде.
9 дек 04, 10:58    [1169030]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
aou
Member

Откуда:
Сообщений: 37
Nikolay Kulikov
DB2 + Db2 Information Integrator (Non relational Wrappers)


Оно, конечно, хорошо, но по сути дела информация в DB2 и не хранится. Просто по запросу SQL, включающему в себя, например, BLAST подзапрос, DB2 направляет запрос на внешний BLAST сервер и получив ответ интегрирует его в результат SQL запроса.

То есть собственоо генетических данных DB2 в данном случае не хранит и не обрабатывает.
9 дек 04, 15:11    [1170609]     Ответить | Цитировать Сообщить модератору
 Re: СУБД в биоинформатике  [new]
ЗоринАндрей
Member

Откуда: Санкт-Петербург
Сообщений: 3004
Having a BLAST Data Mining in Oracle 10g:Implementing A Bioinformatics Target Database.
Oracle Life Sciences User Group Meeting – Reston, VA 2004
John Burke, Ph.D.
UCB Research, Inc.


Inclusion of BLAST in database
  • No need to build interface between DB and BLAST
  • No need to move data from DB to BLAST
  • Ability to execute other queries combined with BLAST
  • 9 дек 04, 15:22    [1170663]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    Nikolay Kulikov
    Member

    Откуда: Москва
    Сообщений: 607
    2: aou Что ты подразумеваешь под обработкой??? Ты работаешь с BLAST данными как с таблицами. Что хочешь то в запросах и обрабатывай.... Хочешь mining хочешь статистику etc...
    9 дек 04, 22:09    [1171976]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    aou
    Member

    Откуда:
    Сообщений: 37
    Nikolay Kulikov
    2: aou Что ты подразумеваешь под обработкой??? Ты работаешь с BLAST данными как с таблицами. Что хочешь то в запросах и обрабатывай.... Хочешь mining хочешь статистику etc...


    BLAST сервер (NCBI, например) один запрос обрабатывает 30-40 секунд (биологи говорят, что в моменты пиковой нагрузки результата пол часа ждать можно). Результат, грубо говоря - текстовый файл, который, естественно парсится в таблицу. Этут таблицу DB2 уже и использует. Где здесь уникальные преимущества DB2?

    Сдается мне что в любых реализациях идет тупой Full-Table-Scan с приложением BLAST ко всем записям в базе. Берем из базы последовательность, сравниваем с заданной, вычисляем "коэффицент похожести". И так для всех n тера/гигабайт данных.

    Пожалуйста поправьте меня! Есть ли СУБД, которая, например, за счет хитрого индексирования позволяет избежать перелопачивания всего массива данных?

    To: ЗоринАндрей - то что сделано на Оракле действительно больше впечатляет, чем сделанное в DB2, но ведь по прежнему имеет место полное сканирование базы по каждому запросу?
    10 дек 04, 02:29    [1172137]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    c127
    Guest
    2 aou

    >Есть ли СУБД, которая, например, за счет хитрого индексирования позволяет избежать перелопачивания всего массива данных?

    Врядли кто-то из серверов может создать такой индекс. Максимум что можно сделать по-моему это сначала с помощью индекса как-то отобрать строки подозрительные на совпадение (т.е. отфильтровать заведомо неподходящие), а потом сканировать уже внутри этого множества. Например сайбейз ASA умеет использовать индекс для like 'ccccc%', так что префиксы отфильтруются. Но для like '%ccccc' индекс уже не используется. В более сложных случаях по-видимому нужно будет просматривать все.

    Как развитие метода: можно попробовать предобработать последовательности символов, классифицировать их и сложить эту информацию в таблицы а потом попытаться это использовать при сужении поиска.
    10 дек 04, 04:13    [1172151]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    Nikolay Kulikov
    Member

    Откуда: Москва
    Сообщений: 607
    В DB2 есть такое понятие MQT в (ORA,MSSQL - это называется materialuzed views) + cached tables с твоего BLAST и.т.д. Берешь строишь на них индексы etc. Так что это вопросы оптимизации.

    Я бы в таком случае сделабы следующие шаги
    1) Создал nicknames на BLAST
    2) Создал cached tables
    3) Посмотрел как работает твое предложение.
    4) Запустил Design Advisor и он бы мне порекомендовал какие индексы и MQT построить на твои запросы.


    Субд есть Informix называется. Только такой индекс тебе самому придется написать.
    10 дек 04, 10:36    [1172636]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    U-gene
    Member

    Откуда: Москва. Россия
    Сообщений: 1576
    Забавно это все читать, ей-богу....:) По уровню осведомлености спорщиков - это покруче, чем спор Каше vs. Все остальное....Предлагается использовать "Одна ген. последовательность" LIKE "другая ген. последовательность"......и куда же тут индексы впихнуть??? АГА!!! Ребяты - вы о чем? я уже почти нифига не помню, но что сам делал - это использование для расссчета того самого "коэффициента похожести" марковских цепей длиной 64 элемента, причем каждый элемент представлял собой 3 нуклеотида имеет свой вес и вот такая хренотень вычисляется на участке длиной в 50000 нуклеотидов....а участков таких несколько тысяч.......я рассчет запускал и неделю мог смело на работу не ходить... ну конечно, на 386-м процессоре с мат.сопроцессором....зато и БД тогда наверняка на порядок меньше были......Время рассчета таких "коэффициентов" несравненно больше, чем время работы с БД.......Какие, нафиг, индексы? :)
    14 дек 04, 10:20    [1178673]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    SergSuper
    Member

    Откуда: SPb
    Сообщений: 5488
    оффтопик:
    А что получается в результате? Для чего это выискивание совпадений?
    14 дек 04, 13:51    [1179694]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    Nikolay Kulikov
    Member

    Откуда: Москва
    Сообщений: 607
    2U-gene. Я в отпуске выйду закину пару интересных документов. Но ты прав. БД в таких задачах немного для другого нужна...
    14 дек 04, 14:41    [1179927]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    U-gene
    Member

    Откуда: Москва. Россия
    Сообщений: 1576
    Зачем это нужно и почему так сложно. Наверное потому,что никто не знает, как вся эта штука работает и все хотят узнать как. Некоторые вещи известны и даже прочитан весь человеческий геном, но это как книга на незнакомом языке

    Вот одна из задач. Мой пример очень приблизительный (реальные названия нуклеотидов не используются, никаких точных последовательностей я не помню). Например известен ген "мамамылараму" то есть точно выяснено, что эта последовательность является является реально кодирующей. В геноме она может быть разбита на куски (экзоны) которые разбиты некодирующими участками - интронами. И вот выделил кто-то цепь - "аамамамымамамырмуаамммаарыыамыларрмуамыамуумаамыамурмууумаммамаылараму", и ему нужно узнать, есть ли в такой цепи этот ген (или другие гены)? Конечно, уже известны некоторые вещи - например , что последовательность "амы" обозночает начало экзона, "рму" - конец. Однако эти же куски могут встречаться и в других местах экзонов и интронов, где они несут другой смысл (или никакого смысла). И еще известна куча других закономерностей (которые иногда могут и не выполняться). И после такого разбора ...

    аамамамымамамырмуаамммаарыыамыларрмуамыамуумаамыамурмууумаммамылараму

    ...в результате должно получиться...

    аамамамымамамырмуаамммаарыыамыларрмуамыамуумаамыамурмууумаммамаылараму

    ...хотя , если сравнивать в лоб (типа использовать очень сложный LIKE:) ), то может получиться и...

    аамамамымамамырмуаамммаарыыамыларрмуамуамыумаамыамурмууумаммамаылараму

    ...и как то еще , и все это будут неверные ответы. Я еще раз повторю, что мой пример абсолютно надуман и схематичен. Все еще гораздо сложнее. и есть другие задачи и для их решения используется всевозможные математические методы. В общем БД здесь дело далеко не первое.
    15 дек 04, 11:34    [1182061]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    aou
    Member

    Откуда:
    Сообщений: 37
    to: U-gene

    Сомнений нет - алгоритмы сложные. Вопрос состоит в том, возможно ли средствами СУБД сузить круг обрабатываемых цепочек?

    Например (далее идут фантазии полного дилетанта), сначала средствами СУБД найти все записи, в которых встречаются 'мам' & 'ама' & 'мам' & 'амы' & 'мыл' и т.д. (все возможные участки из трех букв). А затем уже по этим цепочкам-кандидатам вести честный поиск по полной программе.

    Или всегда в таких случаях делается полный перебор всей базы?
    15 дек 04, 14:13    [1182788]     Ответить | Цитировать Сообщить модератору
     Re: СУБД в биоинформатике  [new]
    Alexey Rovdo
    Member

    Откуда: Москва
    Сообщений: 913
    В биоинформатике очень распространены объектные СУБД. В первую очередь VDS от Versant. Например, см.:
    http://www.versant.com/press/2002/021113-sciencefactory.html

    Именно объектные СУБД и именно VDS позволяет удобно хранить и обрабатывать такие данные, как описания длинных молекулярных цепочек.
    Собственно VDS и появилась в частности как результат разработок Versant для клиентов из сферы биоинформатики и биоинжиниринга.

    Что же касается скорости и емкости, то мне известны примеры баз объемом в несколько десятков терабайт, а сама база может быть распределенной и лежать на множестве серверов.

    С уважением. Алексей Ровдо.
    15 дек 04, 19:52    [1183993]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
    Все форумы / Сравнение СУБД Ответить