Проекты

Python инструменты

Dashline

Лаборатория Горшкова · Python, Dash · Клиент-серверное веб-приложение

Dashline берёт модель аналитических пайплайнов, проверенную в IdentiPIPE, и соединяет её с веб-интерфейсом, за счёт которого Quantis оказался таким простым в использовании — на этот раз как продукт для внешнего заказчика. Я переписал логику воркеров пайплайна под клиент-серверную модель, на которой работает Dashline, и сделал предпросмотр данных и генератор отчётов для интерактивного анализа, как в Quantis. Дальше была итеративная работа с командой: доводили приложение до состояния, которое устроило заказчика.

"IdentiPIPE"

Лаборатория Горшкова · Python, Tkinter · Графическая оболочка и просмотр результатов

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

Rabotyaga bot

QuantisQRePS GUI

Лаборатория Горшкова · Python 3.11, Dash · Самостоятельное десктопное приложение

Продолжая крестовый поход: сделать для всех инструментов лаборатории красивый интерфейс, в этот раз передо мной была поставлена задача доработать мою Dash страничку для разового количественного анализа (фактически дублирующую имеющийся инструмент командной строки QRePS) до полноценного самостоятельного приложения для подобных быстрых анализов. Quantis получился гораздо проще Perseus - похожей программы разработанной для MaxQuant, но моё решение отличается приятным современным дизайном и простотой. С этой простотой приходит и компактность: архив с полной программой, не требующей для работы никаких дальнейших установок и скачиваний весит всего лишь 140МБ. Впечатляюще!

Quantis logo

Roomba

МКИ · Python, фронтенд и бэкенд, деплой · В продакшене на folegle.ru

Во время жаркого противостояния МКИ и [другого сервиса], я и текущий председатель МКИ решили выбрать менее деструктивный подход, и взамен решили, вместо прямого уничтожения противного сервиса, сфокусироваться на проблеме и разработали собственный сервис. Он решал проблемный вопрос, но делал это лучше эстетически и функционально. Так мы сделали Румбу - онлайн расписание с отображением занятости аудиторий, с дополнительной возможностью поиска любых событий по их любым характеристикам. Писать оболчку и движок, а также выкладывание всего приложения на хостинг и привязка к домену - всё это было в новинку для меня, потому я был очень рад работать над проектом.

Quantis logo
Telegram-боты

Бот Работяга

МКИ · Python, Telegram Bot API, coda API · Единственный разработчик

Работяга - Telegram бот, помогающий активистам МКИ в их работе. Он отправляет сообщения из группы МКИ в ВК активистам в Telegram, устраивает открытые голосования в рабочих чатах, облегчает создание больших опросов и информирует о занятости офиса МКИ, а также иногда отправляет мемы. Исходно он был написан как связующий инструмент между coda и Telegram, так как coda не удобна для пользователей смартфонов, а бот упрощал это взаимодействие через интерфейс Telegram. Несмотря на то, что это самый старый и большой (поcле ratio) модуль, coda-связка сейчас мало используется из-за невысокого интереса в coda в принципе.

ПСИ-боты

МКИ · Python, Telegram Bot API · Единственный разработчик · ~50 заполнений в день

Настенька и Диана задумывались как инструмент для максимально простого лонгитюдного Проводить одинаковый опрос для одинаковых людей несколько раз в разное время, а не разово исследования ментального здоровья студентов. Начинался проект с простого опроса об оценке настроения по шкале от 1 до 5, затем под вдохновлением от одного стримера было переделано в шкалу из цветных сердечек. Так начались ежедневные опросы настроения. Несмотря на небольшое количество пользователей, я считаю достижением 50 ежедневных заполнений при отсутствии явных мотивирующих факторов для участников, кроме желания использовать бота. А также выдачи значка за 100 заполнений, однако низкое количество пришедших его забрать, как и невысокое влияние упоминания значка в общей статистике, похоже говорят о его невысоком значении Исходники на GitHub.

Biotech Day бот

2024 · Python, SQLAlchemy · Единственный разработчик, работа по ТЗ заказчика

Задолго до анонса BiotechDay 2024, организаторы обратились ко мне с просьбой написать бота для нескольких организационных задач: информирования участников, предоставления расписания и регистрации на лекции. Для этого я почти с нуля написал новую основу для бота под мой конкретный запрос с гибкой возможностью масштабировать функционал быстро под запросы "заказчиков"Это было бесплатно. Я после всего получил несколько наклеек и толстовку. Так я организовал хранение данных с помощью SQLAlchemy, а меню бота было построено в виде диалогового дерева. Я сильно углубился в вопрос использования SQL в Питоне, а разные куски кода до сих пор используются в других моих проектах, так как они оказались очень удачными и легко встраиваемыми.

BiotechDay logo
Анализ данных

Исследование об ошибках идентификаций в протеомном анализе методом DIA

Выдержка из тезисов к Конференции МФТИ 2025 · DIA-NN, Python · Исследование и анализ

Целью данной работы было выявление источников недостоверных идентификаций в результатах обработки данных DIA современными поисковыми машинами, на примере одного из таких инструментов, DIA-NN. Особое внимание в нашей работе было уделено оценке влияния изменений на концах пептидных последовательностей на результаты поиска. Мы обнаружили, что пептиды с модификациями на N-конце ошибочно идентифицируются DIA-NN как немодифицированные, что приводит к ложным идентификациям. Данное исследование акцентирует внимание на необходимости дополнительного подтверждения результатов поиска протеомного анализа на основе DIA, и предлагает способы улучшения данных алгоритмов.

Overall analysis pipeline

Лабораторный практикум

Пять семестров практикума МФТИ · Python, LaTeX · Обработка данных и графики

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

Lapki plots

Отчёт о ментальном здоровье 2022

2022 · МКИ · Дизайн опроса и статистический анализ · Аналитик

Я присоединился к команде опроса о ментальном здоровье в роли аналитика в рамках выезда МКИ 2022 года. Нашей задачей было найти группы риска с точки зрения психологического здоровья среди студентов, а также понять насколько активно такие студенты обращаются за помощью к психологам Физтеха. Это оказалось важным исследованием с важными выводами, хотя в ретроспективе наши методы были сомнительнымиЭто признаю не только я, но и организатор исследования Илья Захаров. Когда-то я получу от него глубокий написанный отчёт о том, что было сделано не так, тем более сейчас, когда он учится на статиста Повторные исследования сильно уменьшили оценки масштаба проблемы, но также подтвердили её наличие.

Report title page

Остались вопросы?

Свяжитесь со мной