Сегодня в центре внимания — цикл While! 🔁
Это один из самых простых и мощных инструментов для автоматизации повторяющихся задач. Он позволяет выполнять блок кода многократно, пока выполняется определённое условие.
📌 Если вы уже освоили базовую работу с библиотеками NumPy и pandas, научились читать и обрабатывать датасеты, группировать, и визуализировать векторные операции — самое время перейти к управлению потоком выполнения кода. Цикл
Например:
Здесь
📌 Структура цикла while в Python:
➖ Условие — логическое выражение, которое проверяется перед каждой итерацией.
➖ Двоеточие (:) сообщает Python, что далее — блок команд.
➖ Тело цикла — команды с отступом, которые выполняются, пока условие истинно.
❕
📌 Сравнение с оператором
Цикл
➖
➖
Оба могут использовать логические операторы
Этот цикл будет продолжаться, пока уровень свёртки меньше 8 и белок остаётся токсичным. Когда
📌 Бесконечные циклы
Цикл
Чтобы остановить такой цикл, используют
Этот код будет спрашивать показатель качества, пока пользователь не введёт корректное значение выше
❕ Всегда следите за условиями цикла и используйте
Цикл
↗️ Освоив базовые принципы, вы сможете перейти к более сложным паттернам: вложенным циклам, контролю итераций через
🔭
#openbio_python #openbio_ml #openbio_education
Это один из самых простых и мощных инструментов для автоматизации повторяющихся задач. Он позволяет выполнять блок кода многократно, пока выполняется определённое условие.
while
— фундаментальная конструкция, которая пригодится в любом проекте.Например:
ридов_прочитано = 0 # Количество прочитанных фрагментов ДНК
цель_ридов = 1000 # Требуемое количество
while ридов_прочитано < цель_ридов:
print(f"Прочитано {ридов_прочитано} ридов. Ещё собираем...")
ридов_прочитано += 100 # Имитация чтения 100 ридов за шаг
Здесь
while
проверяет условие ридов прочитано < цель_ридов
. Пока оно истинно, выполняется print(count)
и увеличивается значение переменной ридов прочитано
. Когда ридов прочитано
достигнет 1000
или больше — цикл завершится.while условие:
Тело цикла
While
— это цикл с предусловием: сначала проверяется условие, и только если оно истинно — выполняется тело цикла.if
и логические операцииЦикл
while
напоминает условный оператор if
, но с повторением:if
выполняет код один раз, если условие истинно.while
выполняет код многократно, пока условие остаётся истинным.Оба могут использовать логические операторы
and, or, not
:белок_свернут = 0 # Уровень правильной свёртки белка (0-10)
токсичность = True # Моделируем, что белок токсичен на старте
while белок_свернут < 8 and токсичность:
print(f"Свёртка: {белок_свернут}. Белок пока токсичен.")
белок_свернут += 1 # Улучшаем свёртку
if белок_свернут >= 5:
токсичность = False # Допустим, после 5 уровня свёртки токсичность исчезает
Этот цикл будет продолжаться, пока уровень свёртки меньше 8 и белок остаётся токсичным. Когда
белок_свернут
станет 5, токсичность переключится в False
и цикл завершится, даже если свёртка не достигла 8.Цикл
while
может стать бесконечным, если условие всегда истинно:while True:
print("Ищем идеальную последовательность...")
# Здесь могла бы быть сложная функция анализа
Чтобы остановить такой цикл, используют
break
:консенсус_найден = False # Флаг нахождения консенсуса
while True:
показатель_качества = float(input("Введите показатель качества сборки (0.0-1.0): "))
if показатель_качества > 0.95:
print("Отлично! Сборка соответствует стандарту:", показатель_качества)
break # Выходим из цикла, т.к. цель достигнута
else:
print("Качество сборки недостаточно. Попробуйте ещё раз.")
Этот код будет спрашивать показатель качества, пока пользователь не введёт корректное значение выше
0.95
.break
осознанно, бесконечные циклы могут «повесить» программу.Цикл
while
— универсальный инструмент, которым пользуется почти каждый биоинформатик, особенно при парсинге данных, автоматизации рутинных задач и построении пайплайнов. Он позволяет создавать гибкие конструкции и управлять выполнением кода с максимальной точностью.continue
и else
, созданию симуляций и генераторов.While
обязательно пригодится в ваших проектах — от простых до исследовательских. Главное — начать, практиковать и не бояться экспериментов.#openbio_python #openbio_ml #openbio_education
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Всегда ли шум имеет гауссовское распределение?
Центральная предельная теорема говорит, что если вы суммируете много одинаково распределенных (причем по любому закону) величин, то получаете нормальное распределение. Например, в физической реальности на объект действует много случайных сил (скажем, от броуновского движения молекул и частиц). Их равнодействующая — это как раз такая сумма, поэтому распределена нормально.
Но это не всегда так. В биомедицине встречаются распределения с тяжелыми хвостами, например, распределения Леви или Парето, характерные для редких событий (экстремальных значений).
Почему важно правильно учитывать экстремальные значения?
Часто это ключевые сигналы в медицине: высокий уровень онкомаркеров → опухоль, повышенный тропонин → инфаркт, аномальные электрокардиограммы → тяжелые нарушения ритма.
Если предположить нормальность ошибок, такие показатели могут восприниматься как выбросы или ошибки измерений, а важные случаи — пропущены.
В биологических системах шум поступает из разных источников: молекулярные флуктуации, технические ошибки измерений, внешние воздействия окружающей среды и многое другое. Каждый источник имеет свою природу и характер распределения ошибок. Например, молекулярный шум часто моделируют как дискретный процесс с определенной вероятностью возникновения события (например, биномиальное или Пуассона), а технический шум — как гауссовский из-за случайных флуктуаций в электронике.
Что делать на практике?
🔷 Постройте гистограмму ошибок или остатков. Посмотрите на форму: симметрична? Есть ли тяжелые хвосты? Выбросы?
🔷 Проверьте через статистические тесты на нормальность - Шапиро-Уилка, Колмогорова-Смирнова, Андерсона-Дарлинга
🔷 Проверьте наличие тяжелых хвостов — экстремальных значений, которые реже встречаются, чем по нормальному закону. Для этого помогут графики квантиль-квантиль (Q-Q plot).
🔷 При подозрении на тяжелые хвосты — попробуйте модели с распределениями Леви, Парето, Стьюдента; для выбора оптимальной модели рассмотрите критерии выбора (AIC/BIC).
Предположение о нормальности — лишь приближение, а не догма. Ключ к точной интерпретации данных — понимание природы шума.
Сталкивались ли вы с "тяжелыми хвостами" в ваших биологических данных? Как решали эту проблему? Делитесь своим опытом в комментариях!
В следующий раз поговорим о том, как сделать надежные выводы и избежать переобучения, если данных мало.
#openbio_education
📌 Машинное обучение в биологии и биомедицине | OpenBio.Edu — подписывайтесь!
Центральная предельная теорема говорит, что если вы суммируете много одинаково распределенных (причем по любому закону) величин, то получаете нормальное распределение. Например, в физической реальности на объект действует много случайных сил (скажем, от броуновского движения молекул и частиц). Их равнодействующая — это как раз такая сумма, поэтому распределена нормально.
Но это не всегда так. В биомедицине встречаются распределения с тяжелыми хвостами, например, распределения Леви или Парето, характерные для редких событий (экстремальных значений).
Почему важно правильно учитывать экстремальные значения?
Часто это ключевые сигналы в медицине: высокий уровень онкомаркеров → опухоль, повышенный тропонин → инфаркт, аномальные электрокардиограммы → тяжелые нарушения ритма.
Если предположить нормальность ошибок, такие показатели могут восприниматься как выбросы или ошибки измерений, а важные случаи — пропущены.
В биологических системах шум поступает из разных источников: молекулярные флуктуации, технические ошибки измерений, внешние воздействия окружающей среды и многое другое. Каждый источник имеет свою природу и характер распределения ошибок. Например, молекулярный шум часто моделируют как дискретный процесс с определенной вероятностью возникновения события (например, биномиальное или Пуассона), а технический шум — как гауссовский из-за случайных флуктуаций в электронике.
Что делать на практике?
Предположение о нормальности — лишь приближение, а не догма. Ключ к точной интерпретации данных — понимание природы шума.
Сталкивались ли вы с "тяжелыми хвостами" в ваших биологических данных? Как решали эту проблему? Делитесь своим опытом в комментариях!
В следующий раз поговорим о том, как сделать надежные выводы и избежать переобучения, если данных мало.
#openbio_education
Please open Telegram to view this post
VIEW IN TELEGRAM
Новосибирск. Атомное и молекулярное моделирование: современные подходы и алгоритмы, Молекулярно-динамическое моделирование и его приложения, Технологии суперкомпьютерного и атомистического ML
Петрозаводск. Теоретическая часть обучения пройдет в формате лекций и семинаров? А для решения кейсов – реальных задач от партнеров – будет сформировано несколько продуктовых команд под руководством опытных наставников
Дедлайн 27 июня.
Университет ИТМО, Санкт-Петербург приглашает на воркшоп, который заканчивается решением реального кейса в формате хакатона.
Сколково, Институт науки и технологий. В программе секции по компьютерным наукам в биологии и смежным дисциплинам. Дедлайн подачи тезисов уже прошел, но можно посетить конференцию в качестве слушателя.
В Екатеринбурге, на базе Института экологии растений и животных Уральского отделения РАН пройдет конференция? в которой затронут темы эволюционные процессы с точки зрения современной генетики. Эволюционная и историческая экология; Перспективы применения новых методов генетики, геномики и селекции в решении проблем продовольственной безопасности;
Дедлайн 1 июля.
Конференция пройдет в 2 этапа: первый в сентябре, в Севастополе на базе Института перспективных исследований Севастопольского государственного университета; второй - в Москве на базе Физического факультета Московского государственного университета им. М.В. Ломоносова, в программе: Общая биофизика, Молекулярная биофизика и биоинформатика, Медицинская биофизика и биофизическая химия, Биофизическая экология.
Дедлайн 20 июля
Место проведения Наукоград Кольцово. OpenBio — крупнейший форум молодых ученых по биотеху и смежным отраслям. В программе: секции по генетике, биоинформатике, вирусологии, фундаментальной медицине и фарме.
Дедлайн 1 августа.
Онлайн-симпозиум для специалистов по компьютерному поиску и разработке лекарств, анализу биологических путей, моделированию молекул, ML и AI для фармацевтики и медицины.
Дедлайн подачи тезисов — до 31 августа, зарегистрироваться в качестве слушателя или представителя онлайн- постера можно до 25 сентября
Сколково, Институт науки и технологий.
В программе: доклады из области генетики, молекулярной биологии, метагеномики и биохимии микроорганизмов, включая трансляционную микробиологию и геномное редактирование.
Дедлайн подачи тезисов до 30 июня
Дедлайн регистрации на конференцию до 15 сентября
Институт биологии развития им. Н.К. Кольцова РАН, г. Москва проводит конференцию по сравнительной физиологии сигнальных систем, эволюции механизмов сигнализации, генетическим и эпигенетическим механизмам физиологических процессов и поведения, молекулярно-клеточным механизмам функционирования сенсорных и двигательных систем.
Дедлайн подачи тезисов 31 августа
Поделись с друзьями и посещайте мероприятия вместе!
#openbio_events #биотех #openbio_education #конференции
Please open Telegram to view this post
VIEW IN TELEGRAM
Машинное обучение в биологии и биомедицине | OpenBio.Edu
Мы решили, что эфир будет проходить прямо здесь в телеграм -канале.
Вопросы можно задавать в комментариях под этим постом.
📌 Зарегистрируйтесь, если планируете смотреть встречу в записи.
До встречи!
Please open Telegram to view this post
VIEW IN TELEGRAM