|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Привет. Встал вопрос выбора БД для хранения генома. Должна ли это быть sql или nosql БД, то же вопрос. Структура информации и работа с ней заключаются в следующем: - геном представляет собой непрерывную цепочку четвертичных бит (ДНК-нуклеотидов), то есть каждый бит может содержать одно из значений А, Т, Г, Ц; - длина генома от 500 (некоторые бактерии) до нескольких миллиардов (3200000 у млекопитающих); - геном содержит последовательности бит, представляющих собой функциональные участки: начало гена, пустые участки гена, кодирующие участки гена, "хвост" гена. А так же прочие сервисные и пустые последовательности, которые должны иметь характеристику; - в геноме должна быть возможность поиска определённой последовательности по 40-60% совпадений (искомая последовательность до 2000 бит) и по точному совпадению более коротких последовательность (искомая последовательность до 50 бит). А так же сравнение двух последовательностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 12:42 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
rigor mortis, задача как она описана вообще не особо для БД, имхо. По сути нужен список blob-ов и какой-то хитрый индекс по нему. Реализовывать этот индекс на 99.99% всё равно придётся самостоятельно, а в остальном функциональность БД просто не требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 20:26 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
гуглим gene database похоже, много людей уже решали эти вопросы ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 23:07 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
rigor mortis, NoSQL обслуживают специфические случаи. Берите реляционку, она универсальна. У вас геном сводится к хранению чисел, которые надо хранить в блобах (как целое). Несколько миллиардов записей на организм для любой СУБД слишком круто. Но вот держать таблицу с данными организма и в отдельном поле геном будет удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 23:09 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Снова попытки изобрести велосипед. Хорошо, что если в учебных целях. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2018, 04:54 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
читай про hadoop и map-reduce, типичная для него задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2018, 10:22 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
а как же РНК? по последним исследованиям, ДНК хранит много базовых инструкций, а вся инфа по специфике конкретного вида - в РНК ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2018, 13:46 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
tip78а как же РНК? по последним исследованиям, ДНК хранит много базовых инструкций, а вся инфа по специфике конкретного вида - в РНК Ну это вообще ни в какие ворота. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2018, 00:21 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Давайте пока забъем болт на возможную экономию. И представим геном текстовой строкой из алфавита 4х букв. Просто нам так будет проще с терминологией. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2018, 20:01 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
maytonДавайте пока забъем болт на возможную экономию. И представим геном текстовой строкой из алфавита 4х букв. Просто нам так будет проще с терминологией. Ну не 4, а все же больше. Про РНК уже вспомнили. И AFAIK в целом оснований больше и в редких ситуациях основания вроде могут быть и другими (пруф. не дам, даже не помню, где это читал) последовательности по 40-60% совпадений Совершенно НЕ понятно. Как считать % совпадений и что вообще подразумевается под "совпадением" Насколько я помню ДНК - парная. Т.ч. не очень понятно, как считать "совпадения". Никто же не мешает, в одной БД основания из одной цепочки выписать, а искать по основаниям из паралелльной цепочки. В общем, не знаю, как принято в генной инженерии кодировать. Задача очень похоже на индексацию текста и нечеткий поиск. Вполне возможно, какие-то существующие алгоритмы вполне могут подойти. Побить каким-то образом миллиардную последовательность на маленькие кусочки и искать по ним (в принципе, никто не мешает резать куски, что бы они взаимно накладывались друг на друга). Тогда БД будет осмысленна. Сначала находим сопадающие кусочки, потом SELECT'ами определяем какому гену они принадлежат. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2018, 20:30 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Автор пишет Код: sql 1.
Переводя на наш язык. БД должна хранить строки от 500 символов до 3 мега-символов. Здесь особо нечего выбирать. Здесь нужно key-value хранилище. Типа keyvalueСаблезубая мышь.genomATGCATGCATGCATGCATGC.....Комар писклявый кусачий.genomAAAAAGGGGGTTTTTCCCCCC.... Согласен с softwarer по поводу акцента на алгоритмах. По большему счету здесь даже СУБД особо не нужна. Нужен эффективный алгоритм индексирования. Учитывая специфику - это не текстовый поиск. Могу чуть позже аргументировать почему. Но сперава задам вопросы Ригор-Мортису. По поводу специализированных СУБД для генетики. Здесь я не готов ничего комментировать. Но скорее всего их сила не в хранении а в обработке. Тоесть в алгоритмах сопоставления нечетких ключей. И я вангую что подобных проектов очень мало и они стоят денег. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 08:14 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
maytonИ я вангую что подобных проектов очень мало и они стоят денег. На практике мало кто оперирует полностью расшифрованным геномом. Используется технология "полосок" на маркере. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 09:20 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
А мы можем уйти от биологии и плавно подойти к.. Терминологии которая общепринята в it? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 09:36 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
maytonА мы можем уйти от биологии и плавно подойти к.. Терминологии которая общепринята в it? Чаще всего на практике используются аналоговые технологии, а не цифровые. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 09:49 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
982183, Как энтузиаст и бывший радио-любитель я готов поддержать тему аналоговой техники. Но мне кажется будет разумным обсуждать здесь постановку в терминах it и в русле Сравнения СУБД. Рнк-днк и и прочаа биологическая атрибутика - В форум биологов. Аналоговая техника - тоже оффтоп. Поверьте старому модератору. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 11:24 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
maytonА мы можем уйти от биологии и плавно подойти к.. Терминологии которая общепринята в it?мне кажется тут как раз именно проблема как перейти т.е. пока нет модели ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 14:29 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
во1, надо буквы в цифры перевести - 1234 во2, bigint-ами хранить геном под индексами 001 002 003 - как то так поиск достаточно по первому bigint-у сделать, думаю там уник будет ну или 2й подключить на крайняк ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 15:13 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
по 18 цифр это 177 777 778 записей для генома в несколько ярдов но ещё есть вариант в битах хранить: 00 01 11 10 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 15:16 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
т.е. 1 байт будет содержать аж 4 нуклеотида ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 15:19 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
4 нуклеотида это всего 16 уникальных блоков так то т.е. hex кстати, интересный способ хранения данных - по горизонтали верхние 3 строчки, по вертикали - нижние Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 15:56 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
mayton...it и в русле Сравнения СУБД. .... Рнк-днк и и прочаа биологическая атрибутика - В форум биологов. .... Поверьте старому модератору. в общем, все предметная область - в топку будем обсуждать чем битики и байтики в БД MySQL отличаются от битиков и байтиков в PostgreSQL ? :-) На последний вопрос, могу сразу дать ответ - ничем. И то и то маленькие кусочки намагниченного жесткого диска. При этом в русле IT и Сравнения СУБД даже ничем не будут отличаться от битиков и байтиков просто в текстовом файле. СУБД это все же только и не столько система хранения. Сколько система управления и ПОИСКА (SELECT) данных. А вот критерии, алгоритмы и требования к поису как раз очень расплывчатые. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 19:17 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
rigor mortis, задача то какая? восстановление полного генома по отдельным участкам или всё же поиск вхождений из базы? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 20:27 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsevбудем обсуждать чем битики и байтики в БД MySQL отличаются от битиков и байтиков в PostgreSQL ? :-) А я объясню. Я считаю что это очень важно. На самом старте ТЗ договорится о терминологии. Автор пишет. Код: sql 1. 2.
Четверичных бит? Вы слышали нечто подобное? И я задаю вам дальше вопрос. Мы будем оперировать символами? Или битами? Битами какими? В нашем общепринятом понимании или в том в котором мыслит топик-стартер. Далее. По поводу строк и целых чисел. Другой господин в топике пишет Код: sql 1. 2. 3.
Отвечу сразу. Никакого смысла. Вообще никакого. Можно искать пользу в экономии места. Но не забывайте что нам надо двигать шаблон по геному и искать совпадения или частичные совпадения. Как вы их будете искать? Двигать биты в четверичных целых? Хм... Ну я-б подумал. Для 3 200 000 нуклеотидов мы получим 3-х мегабайтную строку в классическом представлении + аппарат строковых операций. Или мы можем децл сэкономить и получить в 4 раза меньше тоесть 3 200 000 / 4 = 800 000 или 800 килобайт упакованных бит. И кучу головняка с тем как это матчить. Не забывайте что нам надо двигать информацию кратно позиции нуклеотида а не байта. Вобщем думайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2018, 23:10 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
mayton, вы утверждаете, что первые 20-40 нуклеотидов не будут уникальными? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2018, 00:19 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
mayton, вот просто интересно, второй раз за день упоминаю если мы применим Преобразование Барроуза — Уилера к сохраняемому геному, то вроде уже и не всё так печально с поиском копать можно в сторону "Суффиксный массив и BWT" ещё тынц прямо из области ТС ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2018, 00:21 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
а, вот эта часть: автор- в геноме должна быть возможность поиска определённой последовательности по 40-60% совпадений (искомая последовательность до 2000 бит) и по точному совпадению более коротких последовательность (искомая последовательность до 50 бит). А так же сравнение двух последовательностей. ну так в hex упаковать, да и всё ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2018, 00:21 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
tip78mayton, вы утверждаете, что первые 20-40 нуклеотидов не будут уникальными? Я ничего не говорил про уникальнлсть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2018, 08:43 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
softwarerrigor mortis, задача как она описана вообще не особо для БД, имхо. По сути нужен список blob-ов и какой-то хитрый индекс по нему. Реализовывать этот индекс на 99.99% всё равно придётся самостоятельно, а в остальном функциональность БД просто не требуется. Именно. Да и вообще подход так себе, проектировать тут серьезную базу на форуме, в чате. Этим надо профессионально заниматься. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2018, 09:02 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Парень набросил и слился, а вы тут пыжитесь... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2018, 09:09 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Мортис. Ну что там? Как дела? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2018, 21:48 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
mayton Четверичных бит? Вы слышали нечто подобное? И я задаю вам дальше вопрос. Мы будем оперировать символами? Или битами? Битами какими? В нашем общепринятом понимании или в том в котором мыслит топик-стартер. Для вас открытие что существуют системы счисления, отличные от двоичных? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 11:31 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
rigor mortismaytonЧетверичных бит? Вы слышали нечто подобное? И я задаю вам дальше вопрос. Мы будем оперировать символами? Или битами? Битами какими? В нашем общепринятом понимании или в том в котором мыслит топик-стартер. Для вас открытие что существуют системы счисления, отличные от двоичных? Вообще ни разу не открытие. Я изучал телеграфию и передачу данных техникуме. Я вообще - связист по 1-му образованию. Но в данном конкретном топике во избежание путаницы и mangling, я настаиваю на том чтобы мы использовали термин бит в нашем смысле в котором его пишут в 99% случаев в форумах. А данный enum = { A, C, T, G } c аденином и прочими символами мы рассматривали отдельно как особый тип данных. Даю руку на отсечение что мы запутаемся в противном случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 11:39 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
rigor mortismaytonЧетверичных бит? Вы слышали нечто подобное? И я задаю вам дальше вопрос. Мы будем оперировать символами? Или битами? Битами какими? В нашем общепринятом понимании или в том в котором мыслит топик-стартер. Для вас открытие что существуют системы счисления, отличные от двоичных? Мне кажется компактность хранения в этой задаче - дело 100500. Первичны алгоритмы, а их то и нет. Ну и бы побоялся на начальной стадии разработки, закладываться "впритык". Вдруг еще что-то хранить потребуется, что в 2 бита не влезет. например из Вики: Википедия_РНКВсего в РНК насчитывается около 100 разных видов модифицированных нуклеотидов Википедия_ДНКВ виде исключения, например, у бактериофага PBS1, в ДНК встречается пятый тип оснований — урацил ([U]), пиримидиновое основание, отличающееся от тимина отсутствием метильной группы на кольце, обычно заменяющее тимин в РНК[17]. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 11:52 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
По поводу алгоритмов. Классика жанра. Кнут-Моррис-Пратт (КМП), и Боуер Мур (БМ). Это алгоритмы поиска строки в строке. Не намного лучше брут-форса. Они просто слегка улушают брутфорс вводя какие-то эвристические предположения. И позволяют двигаться по исходной строке более длинными прыжками. Что есть у нас? Длинный кусок говна вида Код: sql 1. 2. 3. 4. 5.
Никаких лексем и токенов нет. Разделителей нет. Стемминга нет. Нет никаких предположений относительно жанра текста. Что подать на вход текстовому движку? Непонятно. Не за что зацепиться. И что надо найти? Факт наличия? Факт наличия + 1 совпадение? Или все вышесказанное + вектор совпадений. Пускай автор скажет что. Индексирование. Как? Очевидно что для единоразового поиска это гиблое дело. Индексировать имеет смысл строку s1 в том случае когда у нас есть понимание того как ускорить КМП или БМ на основе знаний об s2 (или там будет не s2 а целое множество подстрок). Еще вариант. Мы можем имея 1000 геномов саблезубых мышей проиндексировать наличие факта какого-то под-геномчика и таким образом ускорить поиск. Признаки положить рядом с мышью в виде хеш-тегов или карты блума. Но здесь я влезаю в опасную зону прогнозов относительно задачи которую я еще не понимаю. Надо - ли индексировать много мышей? Будут ли повторные поиски? Это должен автор мне сказать. Все не хочу больше глядеть в хрустальный шар. Нечеткий поиск. Как? Здесь индекс еще менее вероятен. Можно эдакий Код Хэмминга для скользящих трех цитозинов по геному мыши и в тех местах где у нас есть 100% совпадение мы проставим в вещественный вектор 1.0. А там где совпало 2 цитозина а третий символ не совпал будет соотв 0.66666666. И таких вещественных векторов надо построить по количеству искомых под-геномчиков s2. Пускай автор скажет это оно или не оно. Базы данных Я долго думал. Скорее нет. Не подходят. В тех БД что я знаю нет никаких механизмов для оптимизации решения данной задачи. Тут главный смысл - алгоритм поиска подстроки (возможно нечеткого) и способность задачи очень быстро себя распараллелить по вычислительным узлам (не 4-8 как в кластере БД) а хотя бы в узлов 100 - 1000. Вобщем как в этих ваших амазонах. Использовать БД просто как сторедж для данной задачи - скорее ДА. Можно. Но это будет такой-себе юзкейс. Не лучше чем файловая система. Тразнакции не нужны. Но есть и хорошие поинты. - Все данные Read/Only. - Идеально паралеллятся для машин с раздельной памятью.(Много процессов на одной машине - скорее всего плохо т.к. просядет канал памяти.) - Удобно запускать в Hadoop/Spark, возможно ApacheStorm (надо подумать). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 12:35 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
maytonНикаких лексем и токенов нет.Эээ, немножко есть. 3 основания (кодон) кодируют одну аминокислоту. Плюс есть специальный кодон, означающий "конец строки гена". Кстати, аминокислот порядка 20, а вариантов кодонов - 64 (помню только на школьном уровне, там небось как обычно 100500 нюансов у разных организмов), то есть разные куски ДНК могут кодировать идентичные белки. В поиске наверняка понадобится искать что-нибудь вроде "все гены, кодирующие такую-то аминокислотную последовательность". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 13:11 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Никанор КузьмичmaytonНикаких лексем и токенов нет.Эээ, немножко есть. 3 основания (кодон) кодируют одну аминокислоту. Плюс есть специальный кодон, означающий "конец строки гена". Кстати, аминокислот порядка 20, а вариантов кодонов - 64 (помню только на школьном уровне, там небось как обычно 100500 нюансов у разных организмов), то есть разные куски ДНК могут кодировать идентичные белки. В поиске наверняка понадобится искать что-нибудь вроде "все гены, кодирующие такую-то аминокислотную последовательность". Кузьмич. Это всё безумно интересно! Кодоны всякие там шмодоны. Но постановка усложняется а мы никуда не двинулись. Каждая ваша фраза требует расшифровки с примерами. Нам не нужна идеальна и общая постановка. Мы с ней никуда не уедем. Или сменим работу и пойдем в биологи. Нам нужно средненькое причёсанное It-шное ТЗ в терминах нам понятных. Строки. Поиск. Хранилище. Отчет. И требования по времени. Ну там... больше года ждать никто не будет. Ну и интерфейс. Как оно вообще должно выглядеть с точки зрения юзера. Пожалуйста ответьте на следующее. 1) Сколько всего аминокислот? Сколько брать букв алвавита? 2) Какова типичная длина генома для данной задачи. (В начале прозвучало что-то до 3 миллионов символов.) 3) Что надо искать? "все гены, кодирующие такую-то аминокислотную последовательность". Здесь-бы нужен пример. Какой длины эта последовательность (в среднем). 4) Будем искать много и часто в одном геноме? Или одноразово во многих? Это ключевой момент в алгоримах и индексах. 5) Зачем нечеткий поиск? Что это? Как выглядит результат нечеткого матчинга? Как близко мы должны быть в этой нечеткости? 50% ? 80% ? 6) Визуальный аппарат. Как вы (биологи) видите данные? Вряд-ли 3 миллона символов вам информативны. Возможно есть какой-то стандарт на отображение. Спектр там.... Цветные матрицы. Или какой-то усредненный грубый набор символов. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 13:33 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
mayton5) Зачем нечеткий поиск? Что это? Как выглядит результат нечеткого матчинга? Как близко мы должны быть в этой нечеткости? 50% ? 80% ? Чтобы искать похожие геномы. И выводить релевантность. То есть в базе есть "AAACCDDDDE", и оно должно найтись на поиск "AABCCDDEDE". Я так это понимаю. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 14:03 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovmayton5) Зачем нечеткий поиск? Что это? Как выглядит результат нечеткого матчинга? Как близко мы должны быть в этой нечеткости? 50% ? 80% ? Чтобы искать похожие геномы. И выводить релевантность. То есть в базе есть "AAACCDDDDE", и оно должно найтись на поиск "AABCCDDEDE". Я так это понимаю. Левенштейн катит? Ну тоесть если я взял 1 аминокислоту удалил. Код: sql 1.
Это будет та-же близость что и в первом варианте? Или вообще не близко? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2018, 14:48 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Может Genomics? https://azure.microsoft.com/en-us/services/genomics/ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2018, 00:39 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
rigor mortis, Genomics England uses MongoDB to Power the Data Science Behind the 100,000 Genomes Project ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2018, 14:18 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
наберите отдельную таблицу с цепочками по 32 аминокислоты. само днк будет набиратся из ссылок на эту таблицу. Дальше поиск будет заметно быстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 23:19 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
делайте это максимально плохо, чтобы ни у кого не возникло возможности этим пользоваться. вы же тоже человек. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2018, 21:06 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Ваще в БД генома структурированная инфа тоже должна быть, типа классификация организма, область, экзон/ интрон, название гена, если это конкретный ген а не кусок хромосомы, инфа о конкретном носителе (имя фамилия) и тд и тп. Дофига, я помни полей 15 было. И ваще много вариаций. В РНК есть U, у разных зверей разные аминокислоты, по уму это всё в БД тоже запихивать надо. насчет ридонди... вдруг автор сам гены читает? Главное, зачем что-то изобретать? Давно есть готовые решения. Уже лет 20 назад, когда эти БД распростанялись на лазерных дисках, были описаны форматы хранения, предоставлялись библиотеки для доступа, КМК ковыряться с большими СУБД в этом деле смысла вообще нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2018, 09:36 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
rigor mortis- в геноме должна быть возможность поиска определённой последовательности по 40-60% совпадений (искомая последовательность до 2000 бит) Неточное совпадение - это с удалением или с заменой вхождения? И каких длин и на какие? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 17:06 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5.
Индексируем позиции одного символа, двух символов, трех символов, и т.д., сколько не жалко. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
После чего запрашиваем позиции где есть "C" после которого идет "C", после которого идет .... И найти такую последовательность этих позиций, расстояние между которыми меньше чем... ну и в нужном порядке следования. Как на sql сделать - не знаю, а на М это но проблем, там любые индексы можно сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2018, 17:52 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
ну я, с индексами КМК не сильно катит. Предположим, есть последовательность из 2000 знаков, где первые 500 почти не совпадают, зато дальше почти совпадают так, что общий критерий 40% выполняется влегкую. Боюсь представить, сколько будет знанимать индекс на все возможные слова длиной 500 символов, и, главное, он все равно не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 10:45 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
старый пеньну я, с индексами КМК не сильно катит. Предположим, есть последовательность из 2000 знаков, где первые 500 почти не совпадают, зато дальше почти совпадают так, что общий критерий 40% выполняется влегкую. Боюсь представить, сколько будет знанимать индекс на все возможные слова длиной 500 символов, и, главное, он все равно не поможет. На всевозможные не нужно, нужно на сколько не жалко. Последовательность в 500 элементов проверяется как 100 последовательностей в 5 элементов. "и, главное, он все равно не поможет" - давненько я не встречал таких сильных аргументаций )))) Хотя у женщин попадался еще более сильный - "бе-бе-бе" ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 11:58 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
ну яПоследовательность в 500 элементов проверяется как 100 последовательностей в 5 элементов. Забавный бред. А если совпадающий кусок начинатется с 99 позиции? Достаточно рамку на 1 букву сдвинуть и надо всё искать заново. В том то и дело, что если надо достичь предела точности в 40%, то, что б воспользоваться индексом, всё равно придется сравнивать начиная со ВСЕХ позиций из начала сравнимаего куска длиной почти 40%. Даже для слов по 100 нуклеотидов, с учетом того, что последовательности могут быть совершенно произвольными, сколько вариатов ожидется, 4^100 , если не ошибаюсь? Это очень нетривиальные задачи, а не словарь русского языка длиной всего в 20000 слов, где длина слова редко превосходит 16 букв. Я в прошлой жизни занимался поиском экзонов, используя марковсие цепи, там стартовые якоря были длиной всего в 3 нуклеотида, и все равно неделями шуршало, что б статистику набрать (правда на 486м). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2018, 12:47 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
ну я Последовательность в 500 элементов проверяется как 100 последовательностей в 5 элементов. сильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2018, 13:50 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
старый пеньА если совпадающий кусок начинатется с 99 позиции? Достаточно рамку на 1 букву сдвинуть и надо всё искать заново. В том то и дело, что если надо достичь предела точности в 40%, то, что б воспользоваться индексом, всё равно придется сравнивать начиная со ВСЕХ позиций из начала сравнимаего куска длиной почти 40%. Сравниваемый кусок имеет несколько символов (пусть для определенности будет N) в начале? Имеет. По ним можем по индексу взять где они начинаются в индексированной последовательности? Можем. После этих N символов есть еще N других символов? Есть. они должны отстоять от полученных по первым N на N позиций. Можем из первого индекса пропустить те котором это условие не удовлетворяет? Можем. Ну и так далее. ТАК НАХРЕНА БРАТЬ ВСЕ ПОЗИЦИИ, ЕСЛИ ЕСТЬ ИНДЕКС ПО ПОДСТРОКАМ, ИТИТЬ КОЛОТИТЬ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2018, 18:26 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
ну яКак на sql сделать - не знаю, а на М это но проблем, там любые индексы можно сделать. Мне кажется твоя М-система попрехнется объемом индекса. И еще до того как получить решение мы получим "unable to extent segment" или как оно там называется. Если я не прав - то приведи мне пожалуйста хотя-бы приблизительные расчеты размера этого индекса исходя из базовой постановки (3 миллиона нуклеотидов и 2000 искомых символов). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2018, 23:38 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
maytonну яКак на sql сделать - не знаю, а на М это но проблем, там любые индексы можно сделать. Мне кажется твоя М-система попрехнется объемом индекса. И еще до того как получить решение мы получим "unable to extent segment" или как оно там называется. Если я не прав - то приведи мне пожалуйста хотя-бы приблизительные расчеты размера этого индекса исходя из базовой постановки (3 миллиона нуклеотидов и 2000 искомых символов). "unable to extent segment" или как оно там называется - это в Oracle называется. Не поперхнется. Ни моя, ни какая другая промышленная. С чего? Это не SQL, где помирают от объема. Цепочка в 3 миллиона нуклеотидов при индексации по N символов в подстроке это 3 миллиона минус эти N записей в индексе на одну ДНК. Даже для моей реализации М несколько миллионов - это просто штатные тесты на быстродействие, чтобы работало достаточно долго для засекания времени. Из-за компрессии индексов там на диске может и гига не будет. Для современных СУБД и дисков это как-бы вообще не объемы, чтобы париться. Вот если будет миллионы не нуклеотидов в одной ДНК, а миллионы самих ДНК, тут диски могут понадобиться. Меня же больше интересует, что так тормозит топикстартер с формализацией процента совпадений. Пока нет постановки что (у него) это такое, толком можно обсуждать лишь строгий поиск, а нестрогий - ну в силу неполноты информации тут можно что угодно в любой момент прикрутить под рубрикой "а мне не подходит". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 15:45 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
ну яНе поперхнется. Ни моя, ни какая другая промышленная. С чего? Это не SQL, где помирают от объема. Цепочка в 3 миллиона нуклеотидов при индексации по N символов в подстроке это 3 миллиона минус эти N записей в индексе на одну ДНК.какой алгоритм используется для реализации индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 16:16 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
kealon(Ruslan)ну яНе поперхнется. Ни моя, ни какая другая промышленная. С чего? Это не SQL, где помирают от объема. Цепочка в 3 миллиона нуклеотидов при индексации по N символов в подстроке это 3 миллиона минус эти N записей в индексе на одну ДНК.какой алгоритм используется для реализации индекса? B* ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 16:36 |
|
СУБД для хранения генома.
|
|||
---|---|---|---|
#18+
исходный вопрос- длина генома от 500 (некоторые бактерии) до нескольких миллиардов (3200000 у млекопитающих) Автор в в числе с нулями немного ошибся, хотя озвучил правильно. У человека длина генома 3,289,000,000 оснований. А организмов - много разных, у всех геном разный. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2018, 12:27 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552208]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 189ms |
0 / 0 |