Шрифт:
Разработка этой монографии началась давно, в течение нескольких лет появлялись краткие версии нескольких глав. После многих дополнительных пересмотров конспекты курса достигли критической массы, и публикация их для использования другими преподавателями оказалась лишь вопросом времени.
Многие студенты помогали, как в качестве критиков, так и в качестве экспериментаторов, пытаясь решать предлагаемые задачи, вычитывая текст, задавая много вопросов. Несмотря на все старания, некоторые ошибки наверняка просочились, пожалуйста, сообщите автору обо всем, что сочтёте неверным.
Многие из упражнений и проектов относятся к компьютерному математическому пакету MATLAB. Изучение базовых команд этого пакета для использования его в качестве мощного калькулятора является простым и полезным делом. Когда потребуются более сложные команды для решения упражнений, примеры обычно будут приводиться в постановках задач. Таким образом модели будут постепенно усложняется с применением специализированного программного обеспечения.
MATLAB по сути является полноценным языком программирования с отличными графическими возможностями. Мы воспользовались этими функциями, чтобы предоставить несколько программ, упрощая изучение математических моделей для начинающих. В упражнениях и проектах используются некоторые программы и файлы данных, приводимые ниже.
Готовые тексты программ приводятся в целях минимизации необходимого багажа знаний синтаксиса MATLAB. Чтобы запустить большинство программ ниже, просто скопируйте их из электронного варианта книги или введите в окне редактора скриптов MATLAB.
Можно просто сохранить текст программы в файл с расширением m. Для запуска такого скрипта в окне водится имя запускаемого файла. После запуска будет задан ряд вопросов о конструируемых моделях и их параметрах. Команда help имя_файла также предоставляет краткое описание функций программы, получаемое из комментариев в первых строках программы. Поскольку m-файлы являются текстовыми файлами, они могут быть прочитаны и изменены любым заинтересованным пользователем.
Некоторые m-файлы определяют функции, которые принимают аргументы. Например, такая команда, как compseq(seq1,seq2), запускает программу compseq.m для сравнения двух последовательностей ДНК seq1 и seq2. Набрав help compseq, можно увидеть объяснение синтаксиса такой функции. A mat-файл содержит данные, доступ к которым возможен только из MATLAB. Чтобы загрузить такой файл, скажем, seqdata.mat, введите load seqdata. Имена всех новых переменных, которые будут созданы, можно увидеть вводя команду who, в то время как значения, хранящиеся в этих переменных, можно увидеть просто вводя имя переменной.
Некоторые файлы данных могут быть предоставлены в виде m-файлов, тогда вспомогательные комментарии и пояснения сохраняются вместе с данными. Для них запуск m-файла создает переменные, так же, как и загрузка mat-файла. Комментарии можно прочитать с помощью любого текстового редактора.
В ходе выполнения задач для самостоятельного решения предлагается использовать следующие файлы скриптов MATLAB, доступных из открытых источников:
aidsdata.m – содержит данные числа случаев синдрома приобретенного иммунодефицита;
cobweb.m и cobweb2.m – рисуют графики с паутинной диаграммой для итераций модели с одной популяцией; первая программа оставляет все рисуемые линии, а вторая программа постепенно стирает их;
compseq.m – функция сравнивает две последовательности ДНК, получая частотную таблицу количества фрагментов с каждой из возможных базовых комбинаций;
distances.m – функция вычисляет расстояния Джукса-Кантора, 2-параметрическое расстояние Кимуры и логарифмическое расстояния между всеми парами в коллекции последовательностей ДНК;
distJC.m, distK2.m и distLD.m – функции вычисляют расстояние Джукса-Кантора, 2-параметрическое расстояние Кимуры и логарифмическое расстояние для одной пары последовательностей, описываемых частотным массивом сайтов ДНК с каждой комбинацией оснований;
flhivdata.m – содержит последовательности ДНК гена оболочки вируса иммунодефицита человека из «случая стоматолога во Флориде»;
genemap.m – моделирует данные тестового скрещивания для проекта генетического картирования, используя гены мухи или мыши;
genesim.m – производит временной график частоты аллелей гена в популяции фиксированного размера; относительные значения приспособленности для генотипов могут быть установлены для моделирования естественного отбора;
informative.m – функция находит участки в выровненных последовательностях ДНК, которые информативны для метода максимальной экономии;
longterm.m – рисует диаграмму бифуркации для модели с одной популяцией, показывая долгосрочное поведение по мере изменения значения одного параметра;