Pull to refresh

Comments 32

Как и почти все файлы в биоинформатике, это файл типа TSV (текстовый формат с разделением табами).
Кстати, почему? Ведь это дичайше неоптимально. Разве такие файлы чаще читаются людьми, а не программами?
Чтоб баб Нюра в Excel могла импортировать, для ежеквартального отчёту =)
Предполагаю, что
  1. Если надо — можно что-то увидеть глазами (примерно как логи разбирать)
  2. Простота и переносимость: не нужно описание формата, не нужно думать о порядке байт, версии формата, несовместимых друг с другом расширениях и т.д.
  3. Уже стандарт де-факто
  4. Если надо хранить/передавать — gzip. Да даже читать/писать в файл можно поточно, используя gzip на лету.
Все бионформатические форматы были изначально придуманы ооочень далекими от программирования людьми и сохранились просто по исторической причине. При этом реальные файлы даже описанию форматов не соответствуют.
Ну вот в медицине (тоже, казалось бы, далёко от программирования) всё же смогли придумать DICOM — бинарный формат, заточенный именно под медицинские нужды.
Что мешает биоинформатикам между собой так же договориться… :(
Вы ведь знаете, какой именно комикс я процитирую? ;)
У нас есть как минимум два способа нумерации координат. Ген и имя гена — это отношение много-ко-многим. А про большинство файлов неясно, на какой вариант референсного генома опираются данные там описанные ;) И как минимум у первых двух проблем есть не только исторические причины. Так что всё плохо, но как это исправить — совершенно неясно. У нас проблемы не столько форматов, сколько онтологии: слишком много есть не вполне взаимозаменяемых типов объектов. Часто приходится пользоваться не тем, который идеально подходит, а тем, для которого есть данные — со всеми присущими логическими проблемами при «конвертации».
Форматы с разделителями (TSV, CSV и подобные) как раз очень удобны для массивно-параллельной машинной обработки. С ними гораздо проще проводить цепочки последовательных преобразований, чем данными в бинарных форматах. Разница примерно как с документами в Markdown и PDF — покуда подготавливаешь текст, он должен оставаться в основном текстом, а отрендеренный в пакованный конечный формат документ ты уже особо не изменишь.

(Это я как проектировщик расчётных модулей на Spark утверждаю, если что.)
Оптимальность на уровне числа байт и даже скорости чтения далеко не во всех задачах нужна. А вот то, что вы можете работать с помощью cut, grep etc — весьма полезно. И вы невооруженным глазом видите данные, вам не нужно их открывать в специальной программе — это очень удобно.
Там где всерьез нужна скорость, разумеется, есть более сложные форматы. Это, например, бинарные форматы типа bam для хранения выравниваний ридов. Или вот bgzf (blocked gzip) — сжатие с поддержкой индексирования.
А как выделяется отдельный ген в последовательности нуклеотидов? Там есть какие-то признаки начала и конца?

У прокариотов в промоторе есть ТАТААТ блок. У эукариотов всё значительно сложнее и "стандартной" последовательности не существует, насколько я знаю.

Всё сложно; начиная с того, что «ген» можно понимать по-разному.
Обычно геном обозначают некоторый участок ДНК, отвечающий за синтез некоторого белка (оставим в стороне множество генов, не являющихся белок-кодирующими).
ДНК сначала считывается в РНК (это зовется транскрипцией). Есть участок старта гена, зовущийся промотером. У эукариот, как вам правильно подметили, всё сложно. Промотер чётко не выделяется и вообще стартов транскрипции у гена может быть несколько разных.
Затем альтернативный сплайсинг делает из этих РНК несколько разных изоформ — «транскриптов». И только затем РНК превращается в белок в ходе трансляции. Этот последний этап — единственный более-менее стандартизованный. В генетическом коде, который используется при трансляции, есть последовательности нуклеотидов, маркирующих старт- и стоп-кодоны. Это наиболее похоже на то, что вы описываете, когда говорите про признаки начала и конца (называется это поиском открытой рамки считывания) — но это поиск скорее белка, чем «гена».
Но экспериментально вы можете отсеквенировать РНК и хотя бы понять, где начинается кончается область, которая транскрибируется — так вы имеете шанс поймать границы гена и, если повезет, границы интронов (участков, которые вырезаются при сплайсинге).
Сколько весит архивированный файл VCF? Если я правильно понимаю, этот размер даёт оценку изменчивости популяции.
Изменчивость между людьми — примерно 1 нуклеотид на тысячу. Соответственно ~3 миллиона нуклеотидов на геном.
Два вопроса:
1 — замены происходят на определённых местах? Поясню: пусть изменчивость определяется одной заменой. Если эта замена на определённом месте — то это один (ну два) бит информации. Если на любом из 3 000 000 000, то в log(3 000 000 000) раз больше.
2 — замены независимы?
В сложном случае хороший архиватор может дать лучшую метрику, чем наивный подсчёт.
Информационное содержание генома относительно референса посчитать полезно, но не думаю, что архиватор справится.

Замены происходят на всех позициях генома. Они не вполне независимы по разным причинам. В первую очередь из-за того, что варианты из поколение в поколение передаются большими «батчами» — целыми хромосомами. Соответственно сцепление вариантов зависит от расстояния между ними (кроссинговеру сложнее разделить близко расположенные варианты, так что близко расположенные варианты образуют гаплотипы — наборы вариантов, которые передаются между поколениями более-менее целиком).
Некоторые участки просто мутируют чаще, чем другие (например, участки активной транскрипции могут мутировать сильнее плотно замотанных участков) — это тоже даст вам зависимость вариантов на уровне расположения. Причем не по близости, а по функциональным характеристикам участков.
Некоторые виды мутаций случаются чаще других, причем это зависит от типа воздействия (например, ультрафиолет и табачный дым дают различающиеся мутационные подписи; всего подписей — десятки).
Ну и давление отбора, конечно, защищает определенные позиции от изменения (так синонимичные замены — т.е. изменения кодона, которые не меняют аминокислоту — случаются чаще несинонимичных).
Иногда варианты зависимы в самом банальном смысле, без скрытых параметров; например, по отдельности варианты могут встречаться, а когда они вместе — это летально.
При этом скорее всего все эти факторы немного отличаются в разных популяциях.

Стоит ещё отметить, что генетические варианты — это не всегда замены; иногда это инсерции или делеции (индели); размножение участка, перенос из хромосомы на хромосому итд. Ну и индель длины не кратной 3 может натворить куда больше проблем, чем сотня точечных замен: удаление/добавление одной буквы ломает рамку считывания — и белок будет абсолютно неправильным. Для архиватора же выкинуть 1 букву или 3 имеет мало разницы.

Добавлю, что VCF-ка, выдаваемая некоторыми популярными методами, не всю изменчивость в состоянии поймать. Это ведь часто не полногеномное секвенирование, а просто «чип», который определяет некоторые популярные варианты (разумеется не фазированно), предполагая, что остальные можно додумать по расположению.

И говоря откровенно мы пока довольно плохо понимаем, какие детали организации генома важны, а какие не слишком. Например, насколько важно, на какой хромосоме расположен ген, или важно только, что он есть. А ведь от таких вопросов вычисленная изменчивость может зависеть очень сильно.
Спасибо за развёрнутый ответ!
Ну и индель длины не кратной 3 может натворить куда больше проблем, чем сотня точечных замен: удаление/добавление одной буквы ломает рамку считывания — и белок будет абсолютно неправильным. Для архиватора же выкинуть 1 букву или 3 имеет мало разницы.

А это неважно. Мы же считали вариативность по гено- а не фенотипу.
(disclaimer: я никоим образом не специалист в эволюции, так что не претендую тут на научность высказываемых идей и предположений).
Кажется, можно ставить два вопроса: либо считать изменчивость генотипов на множестве всех живущих людей — тогда архиватором сжать генотипы всего человечества, наверное можно, и наверное вы правы, что неважно.
Либо можно пытаться оценить потенциальную изменчивость генотипов — тогда мы очерчиваем множество геномов по фенотипу: организм должен быть жизнеспособен и всё ещё оставаться человеком.

Возможно, вот эта статья вас заинтересует. На первый взгляд кажется, что статей по теме не очень много, но они всё же есть.
Биология поразительна и порой непостижима (по крайней мере для меня). Сложно понять, как геном задаёт фенотип. Я ещё могу понять, что, например, голубоглазость или склонность к ожирению вызывается какими-нибудь определёнными белкам, т.е. эти индивидуальные особенности/патологии с микроскопическими причинами можно соотнести с некоторыми генами.

Но вот как кодируется в геноме широкий нос или узкие глаза, мне уже не доступно для понимания. Как эти различия в фенотипе (организация крупных органов и тканей организма) реализуются наборами белков? Как вообще по сути химические соединения могут воздействовать на организацию материи на макромасштабе, причём не случайно, а с уверенной повторяемостью у разных особей одного вида.
Склонность к ожирению задается только привычками в еде и не более. Нету не какой особой склонности к ожирению.
Есть врождённые особенности метаболизма. Конечно, личный опыт это такой себе аргумент, но я знаю людей, которые питаются чуть ли не только фастфудом в нестеснительных количествах и не толстеют хоть тресни. А мне постоянно приходится дозировать даже такие простые вещи, как яблоки и картофель.
Вы не правильно считаете калории, вот и вся загадка. «даже яблоки» звучит вообще странно, яблоки конечно не супер калорийные. Но всетаки, на них легко можно растолстеть. Я готов поспорить, что если вы будете есть 1800 калорий в день, то не будет проблем с весом.

Ой нет.
Там много разных факторов перемешано.
Генетика (наверняка)
Эпигенетика (наверняка)
Микробиом (весьма вероятно)
Привычки в еде (ну это типа здравый смысл)
При этом все эти факторы влияют друг на друга нелинейно.
Гуглить статьи:
"Dutch hunger winter epigenetics"
"Microbiome obesity"
basal metabolic rate genetic variance"

Я не знаю, понимаете ли вы или нет, но вы только подтверждаете мои слова. Если у человека реально проблемы с обменом веществ, то последнее о чем он будет думать, так это о лишнем весе, потому, что это очень серьезное заболевание (как пример ваша мышь). Однако, даже в столь сложном положении если урезать рацион, человек будет худеть, просто в силу закона сохранения энергии. Именно поэтому я и говорю, что решающею роль играет именно привычки в еде.
Есть статьи на Хабре про то как это происходит
habr.com/ru/post/448376
habr.com/ru/post/400905
На самом деле это конечно потрясающе. Насколько сложны биологические системы, и как много нам надо еще понять, чтобы мы могли проектировать такие системы с нуля по заданным характеристикам…
Если совсем коротко, то всё дело в симметрии, асимметрии и «градиентных химических линейках». Эмбрион в какой-то момент начинает «метится», например с «носа» вырабатывается одно химическое вещество, с «хвоста» другое, по градиенту этих веществ каждая клетка точно «знает» своё местоположения относительно каждого из концов. Это запускает различия в экспрессии прочих белков которые уже и строят нужные фенотипические структуры. На деле таких химических линеек тьма-тьмущая, весь эмбрион располосован кучей градиентов в самых разных направлениях, потому зародыш точно знает где должны быть руки, ноги, печень и прочее, а так же какими они должны быть.
Как-то не очень «Введение» и не очень «для программистов» =)
Со временем наша ДНК повреждается космическими лучами и ошибками копирования, поэтому ДНК, которую родители передают детям, немного отличается от их собственной.

Воу воу, мущина, полегче с такими заявлениями.
Это утверждение верно с одной важнейшей оговоркой, иначе вы Нобелевскую премию получите за наследование приобретенных признаков.
Тут всё-таки не было сказано, что это повреждения соматических клеток.
И диплоидный набор хромосом в качестве примера, ага.
А почему не могут быть переданы мутации в клетках зародышевой линии?
Ну вот вы понимаете это, я, а надо делать скидку на то, что аудитория с неспецифическими знаниями, которой адресован пост, должна понимать, что это касается гаплоидного набора в половых клетках.
А так да, причина, почему курить нельзя, например.
Sign up to leave a comment.

Articles