Свободное программное обеспечение в Передовой Инженерной Школе (Сергей Симонов, OSEDUCONF-2024)
- Докладчик
- Сергей Симонов
Авторами описывается проект по созданию обновляемого архива СПО и открытых данных, а также развёртке на его основе сервисов, используемых в высокотехнологичных дисциплинах в учебном и научно-исследовательском процессе. Проект призван понизить риски, связанные с доступом к соответствующим ресурсам, и повысить удобство их использования.
Сам проект реализуется на СПО студентами разных курсов под руководством преподавателей и сотрудников университета. Авторами описывается, как наличие такого проекта может благотворно повлиять на весь учебный процесс.
Содержание
Видео
Презентация
Thesis
Преподавание и исследовательская работа в рамках таких высокотехнологичных дисциплин, как «Биоинформатика», «Молекулярное моделирование», «Машинное обучение» и прочих, относящихся к передовой инженерной школе, невозможна без широкого использования уже имеющихся в мировой практике средств, технологий, инструментов и баз данных. Большая часть такого ПО и датасетов доступны для свободного распространения и стали де-факто стандартом в своей области.
Многие программы распространяются с открытым исходным кодом.
Подобные дисциплины изначально располагают к более интенсивному применению СПО в учебном и научно-исследовательском процессе (см., например: [1] [2]).
Авторы данной статьи ведут учебные и исследовательские работы по этим дисциплинамв Национальном Исследовательском Академическом Университете им. Жореса Алфёрова и Санкт-Петербургском Государственном Университете, в которых опираются на СПО и открытые данные.
Проблема доступности ресурсов и предпосылки появления проекта
К сожалению, проблемы с постоянным доступом к мировым информационным ресурсам, в основном связанные с санкционной политикой, ограничивают учебный и научно-исследовательский процесс. Например, далеко не все вычислительные инструменты, используемые в базовой задаче биоинформатики «выравнивания сырых ридов на имеющийся референсный геном», оказались доступными для загрузки и использования, несмотря на их изначальную принадлежность к СПО. Задача является базовой, поскольку после массового развития и использования секвенаторов (машин для прочтения генома), она в настоящее время лежит в основе большинства работ в биоинформатике.
Суть её в том, что современные секвенаторы не способны секвенировать всю цепочку ДНК (её длина для генома человека более нуклеотидов, по сути, букв в алфавите ACGT). Вместо всей последовательности они выдают набор фрагментов цепочки ДНК (так называемых «ридов»), и выстраивание всей цепочки на основании этих фрагментов, даже с использованием готового, принятого за эталон для данного организма (так называемого «референсного») генома — далеко не простая задача, с учётом возможных ошибок прочтения цепочек и отличий анализируемого индивида от референса.
Решение этой задачи состоит из последовательного применения различных программных средств к данным. По сути, это организация конвейерной работы и часть элементов такого конвейера оказывается недоступной. Например, из состава ПО в конвейере [3] несколько фрагментов стали недоступны для скачивания.
Решением этой проблемы было бы создание своего обновляемого архива СПО и открытых данных; сервиса,регулярно сканирующего актуальный набор серверов и сравнивающего версии ПО.
Есть ещё ряд других задач, возникающих в процессе применения СПО в учебном процессе:
- настройка рабочего окружения, для предоставления студентам возможности выполнения некоторых задач в собственном «облаке». Это важно ещё потому, что многие задачи требуют значительных вычислительных ресурсов;
- создание единого источника истины, с руководствами по установке, настройке и работе с разными версиями ПО, и пособиями по выполнению лабораторных работ (известными недостатками проектов с исходным кодом являются неконсистентность обновлений, отсутствие документации, более высокий порог вхождения);
- вовлечение студентов в командную работу и знакомство с применяемым СПО в их области на ранних этапах.
Последнее даст возможность студентам ознакомится с работой их старших коллег и в последствии выбрать квалификационную работу на этой основе. Авторам категорически не нравится практика написания дипломных работ с закрытым кодом, где в качестве доказательства проделанной работы предоставляется «акт внедрения». Нужно создавать предпосылки, чтобы студенты были заинтересованы в выполнении работ с открытым доступом к результатам, что соответствовало бы принципам академической работы.
Интеграция проекта в учебный процесс и начальные этапы реализации
На базе кафедры биоинформатики и математической биологии Академического Университета было решено выделить сервер для создания обновляемого архива СПО и открытых данных, а также развёртке на его основе сервисов для решения перечисленных выше задач.
На данный момент проект реализуется студентами второго курса бакалавриата и первого курса магистратуры под руководством авторов данной работы. Продолжение работы над проектом проводится в рамках летней практики. Соответствующая работа разбивается на два уровня сложности: студенты бакалавриата работают над общими, стандартными задачами (Debian, LAMP, CMS MediaWiki, CMS Wordpress, LMS Moodle и т. д.), студенты магистратуры — над задачами, связанными со специализированным ПО.
В дальнейшем сервисы планируется использовать непосредственно при прохождении и аттестации по основным дисциплинам, а выстраиваемая схема позволяет надеяться на преемственность исполнителей проекта и вовлечение студентов в исследовательскую работу, основанную на СПО.