2021-11-27 14:02:58
Гиф выше - иллюстрация работы алгоритма Elastic Principal Graph разработанного Андреем Зиновьевым и его коллегами в институте Кюри.
Пакет доступен через pypi:
pip install elpigraph-python
Граф строится последовательно, начиная с двух вершин и постепенно на каждом шаге добавляется новая вершина. Граф строящийся на каждом шаге минимизирует функционал, который состоит из трех "пенальти" - за плохую аппроксимацию данных, за большую длину, и некоторое условие на вершины ветвления, о котором стоит думать как о штрафе за НЕгладкость. То есть, мы хотим получить -
короткий, гладкий граф хорошо аппроксимирующий данные.
Одно из основных приложений - биология - анализ данных одноклеточного РНК секвенирования.
( Trajectory inference ).
В нашем организме постоянно бесчисленные клетки трансформируются из клеток "похожих на стволовые" в лейкоциты, эритроциты, и прочее.
(См. Гемопоэз - кроветворение - это процесс образования, развития и созревания клеток крови — лейкоцитов, эритроцитов, тромбоцитов у позвоночных).
Можно взять кучу таких клеток померить "экспрессии" генов для каждой из них в отдельности, и задача состоит в восстановлении в ветвящегося графа (точнее дерева), описывающего как клетки ОДНОГО типа ("похожие на стволовые" - корень дерева) постепенно трансформируются в клетки РАЗНЫХ типов (лейко,моно,эри ... циты). Аналогично изучаются и другие Cellular differentiation процессы (не только гемопоэз). Другое приложение - клеточный цикл, но об этом в другой раз.
pip install elpigraph-python
864 viewsAlexander C, 11:02