Молекулярный компьютер 3000000 вековой давности

    Говорят, что все изобретения человечества были «подмечены» у природы, или хотя бы имеют природные аналоги; например, у самолёта в природе есть аналог — птица. А есть ли аналог компьютера и компьютерных программ?
    Это — биологическая клетка, которая и будет рассмотрена в этом посте с точки зрения программиста, как молекулярный компьютер. Вы узнаете, что многие современные способы и алгоритмы обработки информации появились не в 1980-х годах, а на многие миллионы лет раньше.



    Носитель информации


    Данные хранятся на молекулярном носителе информации — на одной молекуле (ДНК, у прокариотов ДНК в виде кольца), и разделены на кластеры (гены). Данные хранятся в виде 4-ричного кода (физически представлены в виде 4-х нуклеотидов: аденин, тимин, цитозин, гуанин). Высокая отказоустойчивость и целостность данных осуществляется по технологии RAID 1 (ДНК — двойная спираль, нуклеотиды в обоих спиралях связаны в пары А=Т, Ц=Г). Регулярно проходят проверки целостности данных (с помощью белка ДНК-лигазы), найденные повреждения восстанавливаются, разумеется при сохранившемся дубликате.
    Репликация такой базы данных осуществляется специальной службой (белковым комплексом под названием реплисома) методом физического разделения носителей информации, осуществляя тут же создание полноценной резервной копии одного из носителей, а так же сверяя при разделении целостность информации и восстанавливая повреждения. Создание резервной копии для реплики производится с задержкой для экономии ресурсов (см. репликация ДНК). По окончании процесса репликации, обе копии данных содержат резервные копии, соответствующие спецификации RAID 1.
    Носитель так же поддерживает запись информации (обратная транскрипция), но запись на практике применяется редко, обычно трудно уничтожаемыми вирусами (ретровирусы).

    Параметры носителя: Объём памяти: масштабируемый, скорость репликации: >1 Гб/с (не точно), скорость чтения/записи: ??? Мб/с / ??? Мб/с.

    ОЗУ


    Так как это молекулярный компьютер, то объём оперативной памяти определяет число свободно доступных молекул, незадействованных в хранении данных. При выделении памяти в «ОЗУ» берутся свободные молекулы и выстраиваются в нити, в последовательности, кодирующую информацию.
    При освобождении памяти нитевидные молекулы разделяются, пополняя объём свободных молекул.

    Чтение данных с носителя информации


    В начале чтения данных с носителя (транскрипция ДНК) в «ОЗУ» осуществляется поиск нужного места на носителе (сайты связывания). Затем считывание продолжается до признака конца файла (предположительно последовательность АААА). Образовавшаяся нитевидная молекула (РНК или мРНК) направляется на обработку.
    Процессы чтения могут проходить параллельно.

    Запуск программ по событию


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

    Процессор


    В компьютере находятся множество процессоров, которые выполняют код, хранимый на нитевидных молекулах (РНК), так что можно сказать, что этот вид компьютеров поддерживает multithreading как в прямом, так и в переносном смысле.
    Слово «поток», в компьютере который, неправильно когда-то с английского переведён был. На самом деле перевод дословный thread-а будет — нить!
    Машинное слово 3-хразрядное, но 4-ричное. Все команды фиксированной длины — одно машинное слово (кодон), т.е. 64 вида команд.
    Примечание: до попадания в процессор, поток (РНК) проходит пре-обработку (сплайсинг), при которой убираются лишние команды.
    Процессор управляет молекулярным компьютером посредством создания белков, которые делают всю физическую работу: от построения новых структур и изменения формы и движения до запуска новых программ (т. е. команд считывания новых РНК).

    Архитектура процессора: 64 командный, скорость выполнения: зависит от шины данных (скорости доставки молекул).

    Assembler: какие команды?


    Команд 64, из них:
    Кодируют информацию по сборке: 61 (однако их действия дублируются)
    Управляющие: 3 (условная остановка:UAG, UGA, обязательная остановка UAA),
    Зарезервировано: примерно 41 можно использовать не по назначению, если немного изменить процессор (см. неканонические кодоны).

    Модульная структура кода


    Выше был рассмотрен код в виде «ассемблера», а теперь рассмотрим в виде языка сверх-высокого уровня. Выяснилось, что каждый ген отвечает за какую-то конкретную функцию, или набор функций.
    У многоклеточных организмов есть гены, отвечающие за построение конкретных систем у живых организмов, таких как глаза, лапы и т. д. Есть гены, отвечающие за построение сегментов: голова, туловище, хвост.
    Изменение в генах, отвечающих за внутреннее строение глаза повлияет лишь на его внутренне строение, а изменение гена, отвечающего за расположение глаза приведёт к тому, что глаза будут у организма, но расти они будут из других мест. Если убрать ген, отвечающий за расположение глаз, то они не вырастут.
    Примечательно то, что эти «блоки» (гены) взаимозаменяемы у большинства живых организмов. Так, учёные провели опыт: у мушек-дрозофилл удалили ген, отвечающий за расположение глаз — новые мушки появились безглазыми. В следующее поколение мушек вставили ген, отвечающий за положение глаз, который взяли у мышей, и у мушек появились глаза, мушиные а не мышиные.
    Похоже многие гены одинаковые для большинства живых организмов, и главное — взаимозаменяемы!


    Что такое генная инженерия


    Учёные уже научились выделять гены из одних живых организмов, и вставлять их в другие, получая новые организмы. Этот процесс называется генная инженерия. На сколько я знаю, сейчас функции генов выявляют методом проб и ошибок: повреждают ген, смотрят что изменилось, или смотрят на «мутировавшую» особь, и сверяют её гены с эталонной (чем-то похоже на взламывание программ в отладчике).
    Когда поймут, за что отвечают гены у многих организмов, когда научатся не только копировать уже готовые гены, а создавать совершенно новые, тогда не потребуется создавать каких-либо механических нанороботов — они уже будут в виде биологически запрограммированных клеток.

    В заключение

    Первый «ДНК компилятор» сделали в 2010 году группа учёных, которой руководил доктор Крейг Вентер.
    Так же успешно была сохранена, а затем прочитана абстрактная информация в ДНК (файлы, размером примерно 600 килобайт, и это не ограничение) специалистами из Кембриджского университета. Но об этом вы можете прочитать в других статьях.

    Источники и ссылки:
    Википедия: все термины смотрим там. Однако доверяй да проверяй — слишком много явно неадекватных числовых значений, например, скорость копирования в данной статье оценена с очень большой погрешностью из-за недостатка информации.
    Документальные видео и фильмы:
    «Создание синтетической жизни» 2010 — редактирование ДНК кода на компьютере, чтение и запись в живые клетки, при этом были выжившие клетки (группа доктора Крейга Вентера).
    «BBC: Клетка» 2009, «BBC: Эволюция жизни» — в некоторых сериях показан опыт с дрозофилами, которые наглядно показывают, как гены отвечают за расположение частей тела.
    «Внутренняя жизнь клетки» видео 8 минут на youtub — без лишних слов показано выполнение «навигационной программы»…

    UPD: Эта статья распространяется на условиях лицензии Creative Commons CC-BY-NC с 15 февраля 2014.
    Share post

    Comments 73

      +17
      2х12 год:
      — Ну что милая, пора нам заводить ребенка. Где там каталог? Значит хочу карие глаза, оволосение среднее, и чтоб ногти были не широкие, и еще…
      — Давай только ушки эльфийские сделаем, это сейчас самое модное!
      • UFO just landed and posted this here
          +14
          Поддерживаю Гаттаку. Недавно пересматривал. Отличный фильм.
            +2
            Ушел пересматривать пятый раз.
              +20
              Ушел смотреть в первый.
                +6
                Ага, я тоже подметил. Гаттаку смотрели не многие, но кто смотрел — не меньше пяти раз :-).
                  0
                  Многие.
                  32000 оценок на Кинопоиске.
          +11
          Андроид уже поставили?
            +3
            А потом целый день с разряженными клетками ходить.
            +1
            3-хразрядное, 4-хричное?
              +11
              У процессоров архитектуры x86 бинарный (двоичный) код, в блоке (байте) 8 бит двоичных.
              А в ДНК один распознаваемый блок состоит из 3-х идущих подряд «единиц» информации. Но, в отличие от двоичных значений (0 или 1) эти единичные блоки информации могут принимать значение 0,1,2 или 3, то есть 4-х ричный.
                +1
                спасибо, теперь понял)
                  –2
                  То есть сжатие выше? :) Как ведется расчет?
                    +3
                    То есть четырёхричная система счисления (0, 1, 2, 3, 10, 11, ...) и трёхбитный байт. Наш байт — даёт максимум информации 2 в 8ой, клеточный — 4 в 3ей.
                +1
                Современным компьютерам очень далеко до уровня клетки. Году в 2200-м, возможно, техника и дорастёт…
                  +2
                  Компьютеры — норм. Средства ввода-вывода местами могут уступать.
                  А вот программам еще расти и расти.
                    0
                    До уровня клетки — не факт. Вот до уровня ЦНС — очень.
                    • UFO just landed and posted this here
                    +8
                    Вы сделали мой день.
                    А еще доказали, что мои познания в биологии просмто смехотворноы, аж стыдно стало.

                    ЗЫ
                    похоже, мы таки биороботы ))
                    • UFO just landed and posted this here
                        –5
                        А знаете какой самый интересный вывод из этой статьи: компьютеры, так же как и наши тела могут иметь сознание, душу, ауру (читай некое информационное поле вокруг себя, по сути уже имеют) и т.д. До разумности там пока правда очень и очень далеко, да что там, но всё же :)
                          +2
                          Жаль, было бы интересно подискутировать на эту тему, но видимо на вопрос: «почему нет?» мне никто не ответит.
                            +5
                            Я думаю вас заминусовали те, кому выгодно, чтобы эта информация как можно дольше оставалась вне обсуждений :)
                              0
                              Похоже, что так :)
                                +2
                                Government denies knowledge ©
                                  +1
                                  Goverment поставило 8 (восемь) минусов!
                              +1
                              про ауру понравилось, буду теперь некоторое количество багов списывать на негативную ауру кода.
                              а ещё у него наверняка вместе с этим можно каким-нибудь образом карму получить)
                            0
                            Еще подумалось, что, получается, мы подсознательно делаем машины буквально по своему образу и подобию)
                              +4
                              Вряд ли — скорее «как проще»
                                +2
                                У человечества довольно давно такая развлекуха, примерять на себя последние достижения науки. Когда в эпоху возрождения высшим достижением была механика, человека сравнивали с механизмом. Сейчас высшее достижение — компьютеры, следовательно то и имеем.
                                  0
                                  И везде верно, причем с каждой итерацией различия всё меньше и меньше…
                                +5
                                например, у самолёта в природе есть аналог — птица

                                Скорее самолет аналог птицы :)
                                • UFO just landed and posted this here
                                  0
                                  Кодоны не кодируют команды.
                                  Они кодируют аминокислоты.
                                  А уже постедовательность аминокислот — составляет белок.

                                  В википедии есть таблица кодонов и их соответствие аминокислотам:
                                  ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D0%BE%D0%BD
                                    0
                                    А вот здесь, есть ещё и обратная таблица, из которой видно, что, например, метионин кодируется одним кодоном, а лейцин и серин имеют по шесть комбинаций каждый. И мне интересно, почему так? Частота употребления в коде ДНК лейцина и серина выше? Или они важнее метионина? Я пока не нашёл ответа на этот вопрос. :)
                                      0
                                      Как мне объясняли — именно по важности.
                                      Но не по устойчивости к сбоям, а по частоте использования.
                                      Чем больше белков содержат кислоту, тем больше кодонов её кодируют.
                                        +1
                                        Почему-то мне кажется, что наоборот: чем больше кодонов аминокислоту кодируют, тем чаще она используется в белках.
                                      0
                                      … а белки выполняют каждый свою роль: некоторые катализируют протекание биохимических реакций, некоторые белки выполняют структурную или механическую функцию (т.е. получается управляют движением и формой клеток). Также белки играют важную роль в сигнальных системах клеток, например регулируют транскрипцию.
                                      То есть по средством белков идёт управление системами клетки. Так что, я думаю, вполне можно сравнить РНК с программой, которая задаёт, что делать; рибосома во время трансляции создаёт белки по «программе», то есть отдаёт сигналы по средством белков, так что вполне её можно назвать процессором, а белки — вполне можно сравнить с отправляемыми сигналами процессора, например на внешний контроллер для включение мотора, или запрос на чтение с диска, для запуска программы.
                                      Естественно, в клетках этот процесс намного сложнее: РНК не всегда выполняет роль временного носителя информации (мРНК), часто РНК играет другие роли (тРНК, рРНК, тмРНК и другие).
                                      • UFO just landed and posted this here
                                          0
                                          Ну так про стартовый и стоповые кодоны в статье есть.
                                          • UFO just landed and posted this here
                                        0
                                        Кстати, стоило бы упомянуть, что в генетическом коде содержится куча комментариев, кторые при транскрипции пропускаются.
                                        Что именно записано в этих комментариях — загадка :)

                                          +3
                                          Ага, что-то вроде «работает и ладно», «будет реализовано в следующей версии» и тд. =)
                                            +1
                                            Скорее всего, там пометки VCS.
                                            Известно же, что человеческий эмбрион при развитии проходит все стадии эволюции (вырастают жабры, хвост, всё такое).
                                            Но потом это «рассасывается».
                                            По-видимому, тот код, который отвечает за развитие жабр и хвоста как раз закомментирован.
                                              +2
                                              Да уж, конструктор нужно рефакторить.
                                              Еще бы деструктор удалить.
                                                +1
                                                всё-таки природа — хороший оптимизатор.
                                                скорее всего, рефакторинг конструктора будет дороже, чем повторная эволюция.

                                                например, если ген жабр связан с геном генерации какого-нибудь фермента, крайне необходимого для развития костей. а сами механизмы отращиваиня жабр связаны с отращиванием ещё чего-нибудь полезного.
                                                  +1
                                                  Мне тоже кажется, что принципом единственной ответственности там не пахнет
                                                +1
                                                В подобной форме этот закон сформулировал Геккель (хотя на самом деле у него была целая предыстория). Но после этого он был немного скорректирован (кстати, нашим соотечественником — Северцовым).
                                                  0
                                                  Есть и другая теория. Например, были исследования по изучению влияния интронов на экспрессию генов.

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

                                                  То есть вопрос о «мусорной» ДНК сейчас пока находится в процессе изучения и исследований.
                                                  +3
                                                  TODO: убрать костыль и отрефакторить, как будет время
                                                    0
                                                    Время было. Жизнь на нашей планете существует около 3,5 млрд. лет. Невообразимая уйма времени, чтобы отшлифовать механизмы наследственности.
                                                    0
                                                    А также условия распространения этой и производных работ под той же лицензией :)
                                                    0
                                                    Речь о «мусорной ДНК»?
                                                      0
                                                      По статье в викиипедии понятно, что ничего не понятно :)

                                                      Насколько я понял, имеется аналог комбинации /* (начало комментария) и */ (конец комментария). Код, находящийся между ними, блокируется толи от синтеза, толи даже от транскрипции.
                                                      Работает, по видимому, как то так: ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D1%8B_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%86%D0%B8%D0%B8
                                                        0
                                                        Не совсем аналог /* */. Перед синтезом белка, участок ДНК, кодирующий данный белок считывается в РНК (этот процесс называется транскрипцией ), далее проводятся несколько процессов, в их числе сплайсинг, осуществляемый сплайсосомой. Именно сплайсосма каким-то образом отличает интроны от экзонов и сшивает экзоны в рабочую последовательность. А потом по ней проводится синтез белка.

                                                        Гениальный механизм.
                                                    0
                                                    // Был пьян, исправлю позже.
                                                    0
                                                    В продолжение темы:
                                                    «Проект GENOME» опубликовала результаты своей десятилетней работы.
                                                      0
                                                      «Десять лет назад человеческий геном выглядел, как огромная книга, написанная по-русски. Очень важная книга, но я лично не знаю ни слова по-русски.».


                                                      Русские везде руку приложили)
                                                      +2
                                                      А я ещё порекомендую почитать Рождение сложности. Эволюционная биология сегодня.
                                                      Просто, доступно и интересно, почти как книга Еськова.
                                                        –4
                                                        вы блондинка?

                                                        во первых нельзя однозначно переносить терминологию детерменированных систем на стохастические, которыми являются живые клетки и организмы.

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

                                                        в третьих в кодоне 3 нуклеотида и для цепочки ДНК есть 3 зависимых последовательности, которые обычно и работают, так что подсчеты всяких скоростей и обьемов неоднозначны даже с точностью до порядка.
                                                          +2
                                                          Я вот одного не понимаю: как конкретная клетка узнает, какой она должна быть, ведь в каждой клетке днк присутствует полностью?
                                                            +3
                                                            Только одно это и не понимаете? o_O Может поделитесь остальными знаниями? :)

                                                            Серьёзнее. Есть механизм дифференцировки стволовых клеток. Где лежат истоки этого явления, емнип, ещё точно не знают. Но это какой-то коллективный механизм, т.е. наблюдения одной клетки недостаточно для понимания. На процесс развития эмбриона влияет и материнский организм, вполне возможно, что его роль в процессе дифференцировки на первых этапах очень велика.

                                                            В рамках одной клетки дифференцировка выглядит как условное выполнение участков ДНК (избирательная активация генов). В силу этого они выглядят по-разному.
                                                            • UFO just landed and posted this here
                                                                0
                                                                Спасибо, напоминает игру «Жизнь»
                                                              • UFO just landed and posted this here
                                                                0
                                                                >> В следующее поколение мушек вставили ген, отвечающий за положение глаз, который взяли у мышей, и у мушек появились глаза, мушиные а не мышиные.

                                                                Тут нет ошибки (мушиные<->мышиные)?
                                                                  0
                                                                  Не должно, ведь ген отвечает за положение глаз, а не за то, как они выглядят.
                                                                    0
                                                                    Не за положение, глаза у мушки были по всему телу, но суть в том, что они Были!
                                                                    +1
                                                                    Ошибки нет. Как раз этот эксперимент доказал, что ген отвечающий за пусковой механизм генерации зрения очень древний и общий для разных (даже очень далёких по родству, таких как мыши и мухи) животных.
                                                                      0
                                                                      вполне разумно отделять логику от представления) Это вам не быдло-кодеры из компании "...." )))
                                                                        +2
                                                                        Просто наследование (в прямом и переносном) ;)
                                                                    0
                                                                    Прямо-таки приквел для фильма «Прометей» (который приквел для «Чужих») — о том как «создатели» дошли до жизни такой и изобрели свое генное оружие.

                                                                    Only users with full accounts can post comments. Log in, please.