• Трехмерный движок в коде… ДНК

    • Tutorial
    UPD 29 ноября: Репозиторий с кодом ДНК выложен на GitHub.
    github.com/pallada-92/dna-3d-engine

    UPD 30 ноября:
    В англоязычном твиттере заметили проект
    Новость попала в топ-10 на HackerNews!






    Меня всегда интересовало, на что может быть похоже программирование внутриклеточных процессов. Как выглядят переменные, условия и циклы? Как вообще можно управлять молекулами, которые просто свободно перемещаются в цитоплазме?

    Ответ довольно неожиданный — lingua franca для моделирования сложных процессов в клетках является реакции вида
    Эти реакции моделируются при помощи закона действующих масс, который одинаково работает и в химии, и в молекулярной биологии.

    — Неужели при помощи этих примитивных реакций можно что-то программировать?
    — Да, а то, что написано выше, вычисляет $B = \sqrt{A}$.

    В этом пошаговом туториале мы вместе взорвем себе мозг, чтобы получить 10 таких реакций, которые производят рендер трехмерного куба.

    Потом я расскажу, как полученные реакции скомпилировать в код ДНК, который можно синтезировать в лаборатории и (если очень повезет) получить трехмерный куб из двумерного массива пробирок.

    Как обычно, я сделал веб-приложение с эмулятором таких реакций, в котором можно поупражняться в «реактивном» программировании. Вы сможете удивлять химиков способностью вычисления конечных концентраций в сложных системах реакций методом пристального взгляда.

    Для понимания статьи никаких предварительных знаний не требуется, необходимые сведения из школьной программы по биологии мы повторим в начале статьи. Также мы разберем типичные паттерны, которые использует эволюция для достижения сложного поведения в живых клетках.
    Читать дальше →