powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД для хранения генома.
56 сообщений из 56, показаны все 3 страниц
СУБД для хранения генома.
    #39658810
rigor mortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.
Встал вопрос выбора БД для хранения генома. Должна ли это быть sql или nosql БД, то же вопрос. Структура информации и работа с ней заключаются в следующем:

- геном представляет собой непрерывную цепочку четвертичных бит (ДНК-нуклеотидов), то есть каждый бит может содержать одно из
значений А, Т, Г, Ц;

- длина генома от 500 (некоторые бактерии) до нескольких миллиардов (3200000 у млекопитающих);

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

- в геноме должна быть возможность поиска определённой последовательности по 40-60% совпадений (искомая последовательность до
2000 бит) и по точному совпадению более коротких последовательность (искомая последовательность до 50 бит). А так же сравнение
двух последовательностей.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39659100
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor mortis,

задача как она описана вообще не особо для БД, имхо. По сути нужен список blob-ов и какой-то хитрый индекс по нему. Реализовывать этот индекс на 99.99% всё равно придётся самостоятельно, а в остальном функциональность БД просто не требуется.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39659135
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гуглим gene database

похоже, много людей уже решали эти вопросы
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39659136
Фотография Щиче
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor mortis, NoSQL обслуживают специфические случаи. Берите реляционку, она универсальна. У вас геном сводится к хранению чисел, которые надо хранить в блобах (как целое). Несколько миллиардов записей на организм для любой СУБД слишком круто. Но вот держать таблицу с данными организма и в отдельном поле геном будет удобно.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39659173
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снова попытки изобрести велосипед.
Хорошо, что если в учебных целях.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39659194
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читай про hadoop и map-reduce, типичная для него задача.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39659246
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как же РНК?
по последним исследованиям, ДНК хранит много базовых инструкций, а вся инфа по специфике конкретного вида - в РНК
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39659360
rigor mortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tip78а как же РНК?
по последним исследованиям, ДНК хранит много базовых инструкций, а вся инфа по специфике конкретного вида - в РНК
Ну это вообще ни в какие ворота.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39660954
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте пока забъем болт на возможную экономию.
И представим геном текстовой строкой из алфавита 4х букв.

Просто нам так будет проще с терминологией.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39660956
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДавайте пока забъем болт на возможную экономию.
И представим геном текстовой строкой из алфавита 4х букв.

Просто нам так будет проще с терминологией.
Ну не 4, а все же больше.

Про РНК уже вспомнили.

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

последовательности по 40-60% совпадений

Совершенно НЕ понятно. Как считать % совпадений и что вообще подразумевается под "совпадением"

Насколько я помню ДНК - парная. Т.ч. не очень понятно, как считать "совпадения". Никто же не мешает, в одной БД основания из одной цепочки выписать, а искать по основаниям из паралелльной цепочки. В общем, не знаю, как принято в генной инженерии кодировать.

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

Побить каким-то образом миллиардную последовательность на маленькие кусочки и искать по ним (в принципе, никто не мешает резать куски, что бы они взаимно накладывались друг на друга). Тогда БД будет осмысленна. Сначала находим сопадающие кусочки, потом SELECT'ами определяем какому гену они принадлежат.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661036
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор пишет
Код: sql
1.
- длина генома от 500 (некоторые бактерии) до нескольких миллиардов (3 200 000 у млекопитающих); 


Переводя на наш язык. БД должна хранить строки от 500 символов до 3 мега-символов.

Здесь особо нечего выбирать. Здесь нужно key-value хранилище.

Типа

keyvalueСаблезубая мышь.genomATGCATGCATGCATGCATGC.....Комар писклявый кусачий.genomAAAAAGGGGGTTTTTCCCCCC....
Согласен с softwarer по поводу акцента на алгоритмах. По большему счету здесь даже СУБД особо не нужна.
Нужен эффективный алгоритм индексирования. Учитывая специфику - это не текстовый поиск. Могу чуть
позже аргументировать почему. Но сперава задам вопросы Ригор-Мортису.

По поводу специализированных СУБД для генетики. Здесь я не готов ничего комментировать.
Но скорее всего их сила не в хранении а в обработке. Тоесть в алгоритмах сопоставления нечетких ключей.
И я вангую что подобных проектов очень мало и они стоят денег.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661078
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИ я вангую что подобных проектов очень мало и они стоят денег.
На практике мало кто оперирует полностью расшифрованным геномом.
Используется технология "полосок" на маркере.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661091
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А мы можем уйти от биологии и плавно подойти к.. Терминологии которая общепринята в it?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661099
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА мы можем уйти от биологии и плавно подойти к.. Терминологии которая общепринята в it?
Чаще всего на практике используются аналоговые технологии, а не цифровые.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661168
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183,

Как энтузиаст и бывший радио-любитель я готов поддержать тему аналоговой техники. Но мне кажется будет разумным обсуждать здесь постановку в терминах it и в русле Сравнения СУБД.

Рнк-днк и и прочаа биологическая атрибутика - В форум биологов. Аналоговая техника - тоже оффтоп.

Поверьте старому модератору.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661293
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА мы можем уйти от биологии и плавно подойти к.. Терминологии которая общепринята в it?мне кажется тут как раз именно проблема как перейти
т.е. пока нет модели
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661330
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во1, надо буквы в цифры перевести - 1234
во2, bigint-ами хранить геном под индексами 001 002 003 - как то так
поиск достаточно по первому bigint-у сделать, думаю там уник будет
ну или 2й подключить на крайняк
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661333
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по 18 цифр это 177 777 778 записей для генома в несколько ярдов
но ещё есть вариант в битах хранить: 00 01 11 10
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661335
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. 1 байт будет содержать аж 4 нуклеотида
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661363
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4 нуклеотида это всего 16 уникальных блоков так то
т.е. hex

кстати, интересный способ хранения данных - по горизонтали верхние 3 строчки, по вертикали - нижние
Код: sql
1.
https://youtu.be/L_YByJ2QtUc?t=1h14m34s
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661449
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton...it и в русле Сравнения СУБД.
....
Рнк-днк и и прочаа биологическая атрибутика - В форум биологов.
....
Поверьте старому модератору.
в общем, все предметная область - в топку

будем обсуждать чем битики и байтики в БД MySQL отличаются от битиков и байтиков в PostgreSQL ? :-)

На последний вопрос, могу сразу дать ответ - ничем. И то и то маленькие кусочки намагниченного жесткого диска. При этом в русле IT и Сравнения СУБД даже ничем не будут отличаться от битиков и байтиков просто в текстовом файле.

СУБД это все же только и не столько система хранения. Сколько система управления и ПОИСКА (SELECT) данных. А вот критерии, алгоритмы и требования к поису как раз очень расплывчатые.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661464
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor mortis,

задача то какая? восстановление полного генома по отдельным участкам или всё же поиск вхождений из базы?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661476
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevбудем обсуждать чем битики и байтики в БД MySQL отличаются от битиков и байтиков в PostgreSQL ? :-)

А я объясню. Я считаю что это очень важно. На самом старте ТЗ договорится о терминологии.

Автор пишет.
Код: sql
1.
2.
- геном представляет собой непрерывную цепочку четвертичных бит (ДНК-нуклеотидов), то есть каждый бит может содержать одно из
значений А, Т, Г, Ц;


Четверичных бит? Вы слышали нечто подобное? И я задаю вам дальше вопрос. Мы будем оперировать символами?
Или битами? Битами какими? В нашем общепринятом понимании или в том в котором мыслит топик-стартер.

Далее. По поводу строк и целых чисел. Другой господин в топике пишет
Код: sql
1.
2.
3.
bigint-ами хранить геном под индексами 001 002 003 - как то так
поиск достаточно по первому bigint-у сделать, думаю там уник будет
ну или 2й подключить на крайняк 


Отвечу сразу. Никакого смысла. Вообще никакого. Можно искать пользу в экономии места. Но не забывайте
что нам надо двигать шаблон по геному и искать совпадения или частичные совпадения. Как вы их будете искать?
Двигать биты в четверичных целых? Хм... Ну я-б подумал. Для 3 200 000 нуклеотидов мы получим 3-х мегабайтную
строку в классическом представлении + аппарат строковых операций. Или мы можем децл сэкономить и получить
в 4 раза меньше тоесть 3 200 000 / 4 = 800 000 или 800 килобайт упакованных бит. И кучу головняка с тем
как это матчить. Не забывайте что нам надо двигать информацию кратно позиции нуклеотида а не байта.
Вобщем думайте.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661485
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, вы утверждаете, что первые 20-40 нуклеотидов не будут уникальными?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661486
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

вот просто интересно, второй раз за день упоминаю


если мы применим Преобразование Барроуза — Уилера к сохраняемому геному, то вроде уже и не всё так печально с поиском

копать можно в сторону "Суффиксный массив и BWT"

ещё тынц прямо из области ТС
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661487
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а, вот эта часть:
автор- в геноме должна быть возможность поиска определённой последовательности по 40-60% совпадений (искомая последовательность до
2000 бит) и по точному совпадению более коротких последовательность (искомая последовательность до 50 бит). А так же сравнение
двух последовательностей.
ну так в hex упаковать, да и всё
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661503
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78mayton, вы утверждаете, что первые 20-40 нуклеотидов не будут уникальными?
Я ничего не говорил про уникальнлсть.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661507
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerrigor mortis,

задача как она описана вообще не особо для БД, имхо. По сути нужен список blob-ов и какой-то хитрый индекс по нему. Реализовывать этот индекс на 99.99% всё равно придётся самостоятельно, а в остальном функциональность БД просто не требуется.

Именно.
Да и вообще подход так себе, проектировать тут серьезную базу на форуме, в чате.
Этим надо профессионально заниматься.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39661510
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парень набросил и слился, а вы тут пыжитесь...
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39662712
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мортис. Ну что там? Как дела?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39664942
hck1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39665857
rigor mortis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Четверичных бит? Вы слышали нечто подобное? И я задаю вам дальше вопрос. Мы будем оперировать символами?
Или битами? Битами какими? В нашем общепринятом понимании или в том в котором мыслит топик-стартер.


Для вас открытие что существуют системы счисления, отличные от двоичных?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39665874
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor mortismaytonЧетверичных бит? Вы слышали нечто подобное? И я задаю вам дальше вопрос. Мы будем оперировать символами?
Или битами? Битами какими? В нашем общепринятом понимании или в том в котором мыслит топик-стартер.


Для вас открытие что существуют системы счисления, отличные от двоичных?
Вообще ни разу не открытие. Я изучал телеграфию и передачу данных техникуме.
Я вообще - связист по 1-му образованию.

Но в данном конкретном топике во избежание путаницы и mangling, я настаиваю
на том чтобы мы использовали термин бит в нашем смысле в котором его пишут
в 99% случаев в форумах. А данный enum = { A, C, T, G } c аденином и прочими
символами мы рассматривали отдельно как особый тип данных.

Даю руку на отсечение что мы запутаемся в противном случае.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39665882
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor mortismaytonЧетверичных бит? Вы слышали нечто подобное? И я задаю вам дальше вопрос. Мы будем оперировать символами?
Или битами? Битами какими? В нашем общепринятом понимании или в том в котором мыслит топик-стартер.


Для вас открытие что существуют системы счисления, отличные от двоичных?
Мне кажется компактность хранения в этой задаче - дело 100500.
Первичны алгоритмы, а их то и нет.

Ну и бы побоялся на начальной стадии разработки, закладываться "впритык". Вдруг еще что-то хранить потребуется, что в 2 бита не влезет.

например из Вики:
Википедия_РНКВсего в РНК насчитывается около 100 разных видов модифицированных нуклеотидов


Википедия_ДНКВ виде исключения, например, у бактериофага PBS1, в ДНК встречается пятый тип оснований — урацил ([U]), пиримидиновое основание, отличающееся от тимина отсутствием метильной группы на кольце, обычно заменяющее тимин в РНК[17].
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39665925
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу алгоритмов.

Классика жанра. Кнут-Моррис-Пратт (КМП), и Боуер Мур (БМ). Это алгоритмы поиска строки в строке.
Не намного лучше брут-форса. Они просто слегка улушают брутфорс вводя какие-то эвристические
предположения. И позволяют двигаться по исходной строке более длинными прыжками.

Что есть у нас?

Длинный кусок говна вида

Код: sql
1.
2.
3.
4.
5.
// Мышь саблезубая.
string s1 = "ACTGACTGAAAACCCCTTTGGG......"; 

// Ищем в этой мыши 3 цитозина подряд. 
string s2 = "CCC"; 




Никаких лексем и токенов нет. Разделителей нет. Стемминга нет. Нет никаких
предположений относительно жанра текста. Что подать на вход текстовому
движку? Непонятно. Не за что зацепиться.

И что надо найти? Факт наличия? Факт наличия + 1 совпадение? Или все вышесказанное
+ вектор совпадений.

Пускай автор скажет что.

Индексирование.

Как? Очевидно что для единоразового поиска это гиблое дело. Индексировать
имеет смысл строку s1 в том случае когда у нас есть понимание того
как ускорить КМП или БМ на основе знаний об s2 (или там будет не s2 а
целое множество подстрок).

Еще вариант. Мы можем имея 1000 геномов саблезубых мышей проиндексировать
наличие факта какого-то под-геномчика и таким образом ускорить поиск. Признаки
положить рядом с мышью в виде хеш-тегов или карты блума. Но здесь я влезаю
в опасную зону прогнозов относительно задачи которую я еще не понимаю.
Надо - ли индексировать много мышей? Будут ли повторные поиски? Это
должен автор мне сказать. Все не хочу больше глядеть в хрустальный шар.

Нечеткий поиск.

Как? Здесь индекс еще менее вероятен.

Можно эдакий Код Хэмминга для скользящих трех цитозинов по геному мыши
и в тех местах где у нас есть 100% совпадение мы проставим в вещественный
вектор 1.0. А там где совпало 2 цитозина а третий символ не совпал будет
соотв 0.66666666. И таких вещественных векторов надо построить по количеству
искомых под-геномчиков s2. Пускай автор скажет это оно или не оно.

Базы данных

Я долго думал. Скорее нет. Не подходят. В тех БД что я знаю нет никаких механизмов
для оптимизации решения данной задачи. Тут главный смысл - алгоритм поиска подстроки
(возможно нечеткого) и способность задачи очень быстро себя распараллелить по вычислительным
узлам (не 4-8 как в кластере БД) а хотя бы в узлов 100 - 1000. Вобщем как в этих ваших амазонах.

Использовать БД просто как сторедж для данной задачи - скорее ДА. Можно. Но это будет
такой-себе юзкейс. Не лучше чем файловая система. Тразнакции не нужны.

Но есть и хорошие поинты.

- Все данные Read/Only.
- Идеально паралеллятся для машин с раздельной памятью.(Много процессов на одной машине - скорее всего плохо т.к. просядет канал памяти.)
- Удобно запускать в Hadoop/Spark, возможно ApacheStorm (надо подумать).
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39665971
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНикаких лексем и токенов нет.Эээ, немножко есть. 3 основания (кодон) кодируют одну аминокислоту. Плюс есть специальный кодон, означающий "конец строки гена". Кстати, аминокислот порядка 20, а вариантов кодонов - 64 (помню только на школьном уровне, там небось как обычно 100500 нюансов у разных организмов), то есть разные куски ДНК могут кодировать идентичные белки. В поиске наверняка понадобится искать что-нибудь вроде "все гены, кодирующие такую-то аминокислотную последовательность".
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39665987
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор КузьмичmaytonНикаких лексем и токенов нет.Эээ, немножко есть. 3 основания (кодон) кодируют одну аминокислоту. Плюс есть специальный кодон, означающий "конец строки гена". Кстати, аминокислот порядка 20, а вариантов кодонов - 64 (помню только на школьном уровне, там небось как обычно 100500 нюансов у разных организмов), то есть разные куски ДНК могут кодировать идентичные белки. В поиске наверняка понадобится искать что-нибудь вроде "все гены, кодирующие такую-то аминокислотную последовательность".

Кузьмич. Это всё безумно интересно! Кодоны всякие там шмодоны.
Но постановка усложняется а мы никуда не двинулись.
Каждая ваша фраза требует расшифровки с примерами.

Нам не нужна идеальна и общая постановка. Мы с ней никуда не уедем. Или сменим работу и пойдем в биологи.
Нам нужно средненькое причёсанное It-шное ТЗ в терминах нам понятных. Строки. Поиск. Хранилище. Отчет. И требования по времени. Ну там... больше года ждать никто не будет. Ну и интерфейс. Как оно вообще должно выглядеть с точки
зрения юзера.

Пожалуйста ответьте на следующее.

1) Сколько всего аминокислот? Сколько брать букв алвавита?
2) Какова типичная длина генома для данной задачи. (В начале прозвучало что-то до 3 миллионов символов.)
3) Что надо искать? "все гены, кодирующие такую-то аминокислотную последовательность". Здесь-бы нужен
пример. Какой длины эта последовательность (в среднем).
4) Будем искать много и часто в одном геноме? Или одноразово во многих? Это ключевой момент в алгоримах и индексах.
5) Зачем нечеткий поиск? Что это? Как выглядит результат нечеткого матчинга? Как близко мы должны
быть в этой нечеткости? 50% ? 80% ?
6) Визуальный аппарат. Как вы (биологи) видите данные? Вряд-ли 3 миллона символов вам информативны.
Возможно есть какой-то стандарт на отображение. Спектр там.... Цветные матрицы. Или какой-то усредненный
грубый набор символов.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39666017
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton5) Зачем нечеткий поиск? Что это? Как выглядит результат нечеткого матчинга? Как близко мы
должны быть в этой нечеткости? 50% ? 80% ?

Чтобы искать похожие геномы. И выводить релевантность.
То есть в базе есть "AAACCDDDDE", и оно должно найтись на поиск "AABCCDDEDE".
Я так это понимаю.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39666059
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovmayton5) Зачем нечеткий поиск? Что это? Как выглядит результат нечеткого матчинга? Как близко мы
должны быть в этой нечеткости? 50% ? 80% ?

Чтобы искать похожие геномы. И выводить релевантность.
То есть в базе есть "AAACCDDDDE", и оно должно найтись на поиск "AABCCDDEDE".
Я так это понимаю.

Левенштейн катит? Ну тоесть если я взял 1 аминокислоту удалил.

Код: sql
1.
AAA(C)CDDDDE -> AAACDDDDE



Это будет та-же близость что и в первом варианте? Или вообще не близко?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39666254
Jan Kowalski-Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39671006
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39687777
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наберите отдельную таблицу с цепочками по 32 аминокислоты.
само днк будет набиратся из ссылок на эту таблицу.

Дальше поиск будет заметно быстрее
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39710384
Eugene New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делайте это максимально плохо, чтобы ни у кого не возникло возможности этим пользоваться. вы же тоже человек.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39710464
Ваще в БД генома структурированная инфа тоже должна быть, типа классификация организма, область, экзон/ интрон, название гена, если это конкретный ген а не кусок хромосомы, инфа о конкретном носителе (имя фамилия) и тд и тп. Дофига, я помни полей 15 было.

И ваще много вариаций. В РНК есть U, у разных зверей разные аминокислоты, по уму это всё в БД тоже запихивать надо.

насчет ридонди... вдруг автор сам гены читает?

Главное, зачем что-то изобретать? Давно есть готовые решения. Уже лет 20 назад, когда эти БД распростанялись на лазерных дисках, были описаны форматы хранения, предоставлялись библиотеки для доступа, КМК ковыряться с большими СУБД в этом деле смысла вообще нет.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39711089
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigor mortis- в геноме должна быть возможность поиска определённой последовательности по 40-60% совпадений (искомая последовательность до
2000 бит)
Неточное совпадение - это с удалением или с заменой вхождения? И каких длин и на какие?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39711133
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
// Мышь саблезубая.
string s1 = "ACTGACTGAAAACCCCTTTGGG......"; 

// Ищем в этой мыши 3 цитозина подряд. 
string s2 = "CCC";

Индексируем позиции одного символа, двух символов, трех символов, и т.д., сколько не жалко.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
^GI("Mouse sable","A")=1
^GI("Mouse sable","A")=5
^GI("Mouse sable","A")=6
...
^GI("Mouse sable","AC")=1
^GI("Mouse sable","AC")=5
^GI("Mouse sable","AC")=12
...

После чего запрашиваем позиции где есть "C" после которого идет "C", после которого идет ....
И найти такую последовательность этих позиций, расстояние между которыми меньше чем... ну и в нужном порядке следования.
Как на sql сделать - не знаю, а на М это но проблем, там любые индексы можно сделать.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39713406
ну я,

с индексами КМК не сильно катит.

Предположим, есть последовательность из 2000 знаков, где первые 500 почти не совпадают, зато дальше почти совпадают так, что общий критерий 40% выполняется влегкую. Боюсь представить, сколько будет знанимать индекс на все возможные слова длиной 500 символов, и, главное, он все равно не поможет.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39713458
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
старый пеньну я,

с индексами КМК не сильно катит.

Предположим, есть последовательность из 2000 знаков, где первые 500 почти не совпадают, зато дальше почти совпадают так, что общий критерий 40% выполняется влегкую. Боюсь представить, сколько будет знанимать индекс на все возможные слова длиной 500 символов, и, главное, он все равно не поможет.
На всевозможные не нужно, нужно на сколько не жалко. Последовательность в 500 элементов проверяется как 100 последовательностей в 5 элементов.

"и, главное, он все равно не поможет" - давненько я не встречал таких сильных аргументаций ))))
Хотя у женщин попадался еще более сильный - "бе-бе-бе"
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39713522
ну яПоследовательность в 500 элементов проверяется как 100 последовательностей в 5 элементов.
Забавный бред. А если совпадающий кусок начинатется с 99 позиции? Достаточно рамку на 1 букву сдвинуть и надо всё искать заново. В том то и дело, что если надо достичь предела точности в 40%, то, что б воспользоваться индексом, всё равно придется сравнивать начиная со ВСЕХ позиций из начала сравнимаего куска длиной почти 40%.

Даже для слов по 100 нуклеотидов, с учетом того, что последовательности могут быть совершенно произвольными, сколько вариатов ожидется, 4^100 , если не ошибаюсь?

Это очень нетривиальные задачи, а не словарь русского языка длиной всего в 20000 слов, где длина слова редко превосходит 16 букв. Я в прошлой жизни занимался поиском экзонов, используя марковсие цепи, там стартовые якоря были длиной всего в 3 нуклеотида, и все равно неделями шуршало, что б статистику набрать (правда на 486м).
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39714908
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я Последовательность в 500 элементов проверяется как 100 последовательностей в 5 элементов.

сильно.
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39715716
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
старый пеньА если совпадающий кусок начинатется с 99 позиции? Достаточно рамку на 1 букву сдвинуть и надо всё искать заново. В том то и дело, что если надо достичь предела точности в 40%, то, что б воспользоваться индексом, всё равно придется сравнивать начиная со ВСЕХ позиций из начала сравнимаего куска длиной почти 40%.
Сравниваемый кусок имеет несколько символов (пусть для определенности будет N) в начале? Имеет. По ним можем по индексу взять где они начинаются в индексированной последовательности? Можем. После этих N символов есть еще N других символов? Есть. они должны отстоять от полученных по первым N на N позиций. Можем из первого индекса пропустить те котором это условие не удовлетворяет? Можем. Ну и так далее.

ТАК НАХРЕНА БРАТЬ ВСЕ ПОЗИЦИИ, ЕСЛИ ЕСТЬ ИНДЕКС ПО ПОДСТРОКАМ, ИТИТЬ КОЛОТИТЬ?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39716967
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яКак на sql сделать - не знаю, а на М это но проблем, там любые индексы можно сделать.
Мне кажется твоя М-система попрехнется объемом индекса. И еще до того
как получить решение мы получим "unable to extent segment" или как оно там называется.

Если я не прав - то приведи мне пожалуйста хотя-бы приблизительные расчеты размера этого
индекса исходя из базовой постановки (3 миллиона нуклеотидов и 2000 искомых символов).
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39717710
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonну яКак на sql сделать - не знаю, а на М это но проблем, там любые индексы можно сделать.
Мне кажется твоя М-система попрехнется объемом индекса. И еще до того
как получить решение мы получим "unable to extent segment" или как оно там называется.

Если я не прав - то приведи мне пожалуйста хотя-бы приблизительные расчеты размера этого
индекса исходя из базовой постановки (3 миллиона нуклеотидов и 2000 искомых символов).
"unable to extent segment" или как оно там называется - это в Oracle называется.

Не поперхнется. Ни моя, ни какая другая промышленная. С чего? Это не SQL, где помирают от объема.
Цепочка в 3 миллиона нуклеотидов при индексации по N символов в подстроке это 3 миллиона минус эти N записей в индексе на одну ДНК.
Даже для моей реализации М несколько миллионов - это просто штатные тесты на быстродействие,
чтобы работало достаточно долго для засекания времени. Из-за компрессии индексов там на диске может и гига не будет.
Для современных СУБД и дисков это как-бы вообще не объемы, чтобы париться.

Вот если будет миллионы не нуклеотидов в одной ДНК, а миллионы самих ДНК, тут диски могут понадобиться.

Меня же больше интересует, что так тормозит топикстартер с формализацией процента совпадений.
Пока нет постановки что (у него) это такое, толком можно обсуждать лишь строгий поиск, а нестрогий - ну в силу неполноты информации тут можно что угодно в любой момент прикрутить под рубрикой "а мне не подходит".
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39717735
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яНе поперхнется. Ни моя, ни какая другая промышленная. С чего? Это не SQL, где помирают от объема.
Цепочка в 3 миллиона нуклеотидов при индексации по N символов в подстроке это 3 миллиона минус эти N записей в индексе на одну ДНК.какой алгоритм используется для реализации индекса?
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39717745
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)ну яНе поперхнется. Ни моя, ни какая другая промышленная. С чего? Это не SQL, где помирают от объема.
Цепочка в 3 миллиона нуклеотидов при индексации по N символов в подстроке это 3 миллиона минус эти N записей в индексе на одну ДНК.какой алгоритм используется для реализации индекса?
B*
...
Рейтинг: 0 / 0
СУБД для хранения генома.
    #39719863
исходный вопрос- длина генома от 500 (некоторые бактерии) до нескольких миллиардов (3200000 у млекопитающих)

Автор в в числе с нулями немного ошибся, хотя озвучил правильно. У человека длина генома 3,289,000,000 оснований. А организмов - много разных, у всех геном разный.
...
Рейтинг: 0 / 0
56 сообщений из 56, показаны все 3 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД для хранения генома.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]