RSS Feeds
Май 2006
ПН ВТ СР ЧТ ПТ СБ ВС
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
 
Толкс

Емкость генома

  Рейтинг: 5 (3)
Автор: Mykola RudenkoНаписать ПС | | Дата: 01-05-2006 / 03:23 | 2617 просмотров | [18 комментариев]
genom2.jpg (10.32 KB)

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

Итак, считаем. Геном строится из т.н. нуклеотидных оснований. Их четыре разновидности, читай 2 бита. В хромосомах содержится 3 миллиарда 200 миллионов этих оснований. Таким образом имеем:

3200000000 * 2 = 6400000000 бит = 800000000 байт = 763 Mb

Один несчастный сидюк! Не хватит даже, чтобы фильм в нормальном качестве записать. То ли люди проще, чем я думал, то ли я чего-то не понимаю...

Может я посчитал чего неправильно?
версия для печати версия для печати | версия для печати с комментариями
 
А если сравнить сидюк и хромосому по размеру?
Maxim KhripkoffНаписать ПС Дата: 01-05-2006 / 07:23 Быстро цитировать
Там просто мощный архиватор применяется. :)
Eugene IvanovНаписать ПС Дата: 01-05-2006 / 10:20 Быстро цитировать
Eugene IvanovНаписать ПС:
Там просто мощный архиватор применяется

Да, там фрактальное ужатие применяется. Но то, чем мы бы писали картинки или фильмы на сидюк (jpeg, divx и т.п.) - это тоже, по сути дела, фрактальная компрессия.
Mykola RudenkoНаписать ПС Дата: 01-05-2006 / 15:05 Быстро цитировать
Если учесть что это не данные, а практически программный код, да еще и сжатый, то 763 это очень много :)
Rustam FaizullinНаписать ПС Дата: 01-05-2006 / 20:21 Быстро цитировать
А ешё нужно учесть, что эти 763 Mb "сжаты" в 46 хромосом ! А во время образования половых клеток все 46 хромосом (двойной набор - 2n) сжимаются в одинарный набор (23 хромосомы). Нам бы такое сжатие !
Grynko IvanНаписать ПС Дата: 01-05-2006 / 20:42 Быстро цитировать
Rustam FaizullinНаписать ПС:
это не данные, а практически программный код

Я думаю тут нельзя говорить о программном коде в чистом виде. Мы под программным кодом обычно что-то высокоуровневое подразумеваем, вроде сишных исходников. А тут даже не ассемблер. Просто набор рулесетов для создания протеинов и еще какие-то behaviours.
Mykola RudenkoНаписать ПС Дата: 01-05-2006 / 20:42 Быстро цитировать
Почему не код, по моему или машинный или скорее байт код (так как работает только в окружении сложного фреймворка) в чистом виде.
Rustam FaizullinНаписать ПС Дата: 01-05-2006 / 21:20 Быстро цитировать
И не просто программный код, а код, в котором "смысл" текущей команды зависит от команды предыдущей. Что-то вроде кодирования в четверичном (по аналогии с бинарным) деревом. В этом случае для оценки реального многообразия корректнее было бы говорить, что мы, грубо говоря, имеем код длинной в 763М бит.
Vladislav ApostolyukНаписать ПС Дата: 02-05-2006 / 17:19 Быстро цитировать
Vladislav ApostolyukНаписать ПС:
"смысл" текущей команды зависит от команды предыдущей

Ну, и фильм на сидюк мы также пишем. Один кей-фрейм, а потом поток изменений.
Mykola RudenkoНаписать ПС Дата: 02-05-2006 / 19:03 Быстро цитировать
[Откровенный и неприкрытый наезд на автора безжалостно затерт модератором :)]
Vladislav ApostolyukНаписать ПС Дата: 02-05-2006 / 19:34 Быстро цитировать
Maxim KhripkoffНаписать ПС:
Все учили в школе, что человек со всеми потрохами строится на основании генома, т.е. информации, записанной в хромосомах. А мне, вот, как программисту, стало интересно оценить обьем этой информации количественно

Если взять за основу человека как чисто материал (или хотя бы человека с нулевыми знаниями, навыками, привычками...), то может быть так и есть, а если оценивать человека не "по физике", то тут одними хромосомами не отделаться, ибо, почему тогда от меня рождается ребенок, который идет в ясли а не в институт сразу например на второе высшее (я же закончил высшее, пусть типа дальше продолжает учится) :) Т.е. хромосомы носители только физиологической части человека, а вот если человека оценивать с мозгами, тут помоему и нескольких терабайтов не хватит. Как пример, взяли у меня всера анализ на ДНК, а сегодня я прочтал Programming with C# :) И сегодняшняшний ДНК не будет ничем отличатся от вчерашнего.. Вот бы научится "сливать" и "заливать" информацию в мозг человека, это было бы достижением :)
Yura ZikinНаписать ПС Дата: 03-05-2006 / 10:50 Быстро цитировать
BIOS размером 763 Mb - это дофига.

Но ты учти что это еще в запакованом виде, да и алгоритм такой что более нескольки тысяч шагов отмотать/перемотать не получится (Ноготь отратстет- а палец нет)

Кстати реального тела человека там не более 5%, все остальное это салт, хеши и своп файл предыдущих поколений :)))
Anton KarpenkoНаписать ПС Дата: 03-05-2006 / 23:08 Быстро цитировать
А меня еще одногруппники на парах по биохимии помешанным на компьютерах человеком считали. А тут их хоть отбавляй :) Даешь shareware имплантанты! :)

Алгоритм расчета не верен. Человек построен не на основе генома, а на основе белков, которые построены на основе генома :)

Белки (в человеке около 100000) построены из 20 аминокислот. Из 20 аминокислот можно построить 2,4•10^18 разнообразных белков. Т.е. единица информации при синтезе белка – это аминокислота.

Одна аминокислота кодируется триплетом, состоящего из трех нуклеотидов. Т.е. единица информации здесь нуклеотид (бит). Но, если процессор работает с двоичным кодом, то природа работает с третичным! Один байт в двоичном коде – это 2^3 = 8 бит. (8 единиц информации) Если “взять” (инициализировать) 8 нуклеотидов, то можно закодировать 2,666 аминокислоты.

Но опять же, третичный код используется при кодировании аминокислоты из нуклеотидов – битов. Какие значения принимает бит на процессоре? 1 и 0. А бит природный – это Аденин, Гуанин, Цитозин, и Тимин (Последний равен "Урацилу") Т.е. в одном бите природном 4 разряда, а не два! Т.е. 2 бита природных – это уже байт. И здесь мы имеем не двоичную систему исчисления, а четверичную.

Т.е. утверждение, что “Геном строится из т.н. нуклеотидных оснований. Их четыре разновидности, читай 2 бита.” - не верно. Т.е. 4 разновидности – это бит природный. В обычном бите – всего две разновидности 1 и 0.

А байтом природным (кодоном) выходит триплет. 1 триплет – это три нуклеотида (бита). Итого: 1 природный байт = три природных бита =4*4*4 =64 разряда. == 32 обычным битам = 4 байтам. Следовательно, чтобы закодировать 1 байт природный, нужно аж 4 байта обычных.

Вот такой генетический код. А если “хромосомах содержится 3 миллиарда 200 миллионов этих оснований” то, это 3200000000 разрядов/ 4 / 3 = 2,5 * 10 ^ 8 (природных байт – в мегабайты природные переводить не будем, там водородные связи надо учитывать :) )
Отсюда обычных байт = 4 * 2,5 * 10 ^ 8 =1,00* 10^9.
И, следовательно, выходит 954 мегабайта – а это на CD уже не вмещается :)

Это для кодирования аминокислот (байта). Аминокислоты – это мономер (звено) белка и в связи с этим к расчетам дальше, без научной фантастики подойти не получиться: информацию откуда снимать будем: с белков или с аминокислот? :) Лучше конечно с нуклеотидов сразу.

Но, все на много сложнее: генетический код вырожден и избыточен. Вырожден потому, что каждая аминокислота кодируется более чем 1 кодоном. (есть лишь два исключения). Избыточен, т.к. 3 битами можно закодировать 4*4*4 =64 аминокислоты. (Это все равно, что буква “A” имеет два ASCII кода – вы можете себе это позволить? А природа может:) ) Но за счет вырожденности остаются 3 кодона – нонсенс кодоны – на них происходит терминация в синтезе. (т.е. это разделение памяти) Вырожденность кода – защита от взлома – не грозит перевыполнение буфера и потеря инфы (мутации и т.р.)

Подсчитано, что в геноме человека содержится около 100000 генов. (сравнимо с количеством белков). И отсюда выходит, что в среднем на 1 белок выходит 750,5 аминокислот. (3200000000 / 4/100000). Т.е. цифра заслуживает доверие. Например, инсулине – 51 аминокислотный остаток.
Вспомнил чуть биологию, а то все маркетинг, да маркетинг…
Michail PozdnyakovНаписать ПС Дата: 11-05-2006 / 07:34 Быстро цитировать
Я думаю тут нельзя говорить о программном коде в чистом виде. Мы под программным кодом обычно что-то высокоуровневое подразумеваем, вроде сишных исходников. А тут даже не ассемблер. Просто набор рулесетов для создания протеинов и еще какие-то behaviours.


Точно. Но отчасти. Точнее - всё наоборот. Это "высокоуровневый код" на сишных исходниках - примитивный код по сравнению с генетическим :) Сишный код, да и любой, впрочем, однозначно интерпретирует переменную, команду и т.п. А генетический в одном байте всю жизнь, предусматривая абсолютно все и не требуя багфиксов в следующих версиях. :)
Michail PozdnyakovНаписать ПС Дата: 11-05-2006 / 07:49 Быстро цитировать
Т.е. утверждение, что “Геном строится из т.н. нуклеотидных оснований. Их четыре разновидности, читай 2 бита.” - не верно. Т.е. 4 разновидности – это бит природный. В обычном бите – всего две разновидности 1 и 0.

Один из нас возможно плохо разбирается в биологии, но другой уж точно не умеет считать биты :)

Бит это бит, минимальная единица информации. Не бывает никаких "природных" бит. Бит - это абстрактное понятие и два бита - это 4 исхода независимо от того что и как мы считаем.
Mykola RudenkoНаписать ПС Дата: 11-05-2006 / 08:09 Быстро цитировать
:))

Бит - это абстрактное понятие и два бита - это 4 исхода независимо от того что и как мы считаем.


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

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

А вот в генетический коде - три нуклеотида и этот нуклеотид может принимать четыре равновероятных исхода, а не два. Не спорю, этот код, конечно, можно представить в двоичном виде, но при синтезе белка (1 такт процессора) обрабатывается именно нуклеотид, принимающий четыре значения: транспортная РНК несет в себе три нуклеотида (шифровка 1 аминокислоты, 3 бита и 64 возможных значения) на очередную стадию синтеза белка. В одной ячейки памяти – 4 возможных (равновероятных) значения. А, допустим, регистр AX – слово, 16 разрядов в восемь бит, восемь ячеек памяти заставит обработать на команде MOV BX, AX опять же, 16 разрядов, восемь бит. И здесь в одной ячейке 2 равновероятных значения: 1 и 0.

Хотя, конечно, представлять информацию можно по-разному. Вот здесь, например, представляют бит в виде нескольких нуклеотидов. Оказывается наряду с NTFS, FAT32 существует и NGFS :)) Вот только MBR там шалит :)
Michail PozdnyakovНаписать ПС Дата: 12-05-2006 / 15:00 Быстро цитировать
Michail PozdnyakovНаписать ПСА как же тогда с q-битом

БИТ это БИТ. Q-бит, пентабит и черт-знает-еще-что-бит и БИТ - это не одно и то же. Не нужно путать грешное с праведным. Если модем использует не 8, а девять бит для передачи одного байта, это же не значит, что в байте девять бит :)
Да, бит - это минимальная единица информации. "В компьютерах" используется сигнал высокого и низкого напряжения. Просто это стало удобно, дешево и сердито. Если не ошибаюсь, были какие-то компьютеры с десятичной системой исчисления.

Информатика - это точная наука. Обьем информации никак не зависит от ее физического представления. Хоть камешками на песке выкладывай, а одна и та же информация имеет один и тот же размер. И бит всегда будет принимать два и только два значения. Хоть кровью на стене его представляй, хоть царапинами на двери Лексуса. Да, можно придумывать различные кодировки бита, когда один бит будет кодироваться десятью камнями, десятью ведрами крови или десятью Лексусами. Но обьем информации, которую несет один бит при этом не может измениться!!! Он как принимал два значения, так и будет принимать. По-крайней мере, в известной нам вселенной...
Mykola RudenkoНаписать ПС Дата: 22-05-2006 / 12:33 Быстро цитировать
Дано: 3 200 000 000 нуклеотидов.
<-------------------------------->
"Каждая из цепочек молекулы ДНК состоит из четырех типов мономеров - нуклеотидов. В свою очередь, в состав нуклеотидов входят три компонента, соединенные прочными химическими связями:
1) азотистое основание;
2) углевод (дезоксирибоза);
3) остаток фосфорной кислоты.
Азотистые основания - это пурины, имеющие двойное углеродно-азотное кольцо, и пиримидины, имеющие одно такое кольцо. Пурины представлены - аденином (А) и гуанином (Г), пиримидины - тимином (Т) и цитозином (Ц)."

Нуклеотид, по типовой пренадлежности, может принимать след. значения: А, Т, Г, Ц.
Нуклеотидные пары могут быть: A-Т Т-А Г-Ц Ц-Г (это связано с различным кол-вом водородных связей) -- 4 комбинации, представляются ввиде двух битов.
3 200 000 000 / 2 = 1 600 000 000 нуклеотидных пар -- 1 600 000 000 * 2 (бита) = 3 200 000 000 битов.
3 200 000 000 / 8 / 1024 / 1024 = 381,4697265625 МегаБайт.

2 Mykola Rudenko:
Т.е. зачем под одну нуклеотидную пару нужно было отводить 4 бита, если таких нуклеотидных пар, как А-А, А-Г, А-Ц, Т-Т, Т-Г, Т-Ц, Г-А, Г-Т, Г-Г, Ц-А, Ц-Т, Ц-Ц никогда не встретятся в геноме? Можно же выделить под хранение одной пары нуклеотидов всего 2 бита, как я описал выше.

2 Michail Pozdnyakov:
> Подсчитано, что в геноме человека содержится около 100000 генов.
А по-моему их меньше. Раза в три.
juicy_emadНаписать ПС Дата: 03-12-2006 / 13:32 Быстро цитировать
 
Логин:
Пароль:
  входить автоматически