К сожалению, текущая архитектура утилиты CADD плохо приспособлена для параллельной обработки больших объёмов данных в облачных платформах по следующим причинам:
1. Для работы утилиты требуется набор аннотаций размером около 100Gb данных, а для использования заранее рассчитанных оценок требуются дополнительные данные объёмом ещё порядка 200 Gb. Все эти данных хранятся в сжатых текстовых файлах с tabix-индексами и должны быть доступны на файловой системе. Это порождает ряд затруднений.
1. Установка большого объёма локальных файлов при инициализации виртуальной машины (фактически загрузка этих данных из распределенной системы хранения облака) замедляет подготовку машины к работе.
2. Размещение баз данных на общей файловой системе NFS создаёт проблемы с производительностью при большом числе параллельно обрабатываемых образцов (50 и более).
3. Построение производительной распределенной файловой системы (LustreFS) требует сложной настройки и администрирования.
2. Работа утилиты не параллельна, при аннотировании используется только один поток. Поэтому при наличии выделенных машин, на которых работает CADD, это становится узким местом вычислительной системы и затрудняет масштабирование.
Команде предлагается решить эти проблемы и сделать утилиту CADD более приспособленной к работе в параллельных средах. поэтому Поставленная задача не предполагает решения фундаментальной научной проблемы, однако имеет очень высокую практическую значимость.
РезультатЗадачи1. Разобраться в имеющихся алгоритмах и наборах данных, используемых утилитой CADD для оценки клинической значимости вариаций
2. Придумать, как оптимизировать доступ к данным для того чтобы обеспечить параллельную обработку большого числа образцов в облачной среде. В качестве возможных вариантов решения этой задачи можно рассмотреть следующие:
1. Перенос данных из текстовых файлов в базу данных, способную обслуживать одновременно несколько работающих машин.
2. Разбиение кода утилиты на параллельно выполняющиеся потоки.
Требования к участникамКрайне желательно одновременное наличие в команде участников с опытом разработки программного обеспечения, которые смогут конвертировать имеющиеся данные и оптимизировать алгоритм работы утилиты, и участников, имеющих образование в области биологии и способных разобраться в данных, используемых CADD для оценки значимости вариаций.
Утилита CADD написана на Python, так что опыт разработки на этом языке будет дополнительным преимуществом.