Тренажер слим: Ошибка 404. Страница не найдена — Объявления на сайте Авито

Содержание

Тренажер Кардио Слим Твистер (Cardio Slim Twister) SF 0056

2 DVD с упражнениями!

  

Внимание!!! Для целей транспортировки регулировочный винт на обратной стороне затянут, для проведения тренировок необходимо его незначительно ослабить. Повышения или понижения нагрузки можно также регулировать с его помощью.

 

Тренажер Кардио Слим Твистер (Cardio Slim Twister)

 

Вы давно планируете заняться спортом? Вам хочется не только укрепить свое тело, скинуть пару лишних килограммов или просто поддержать себя в форме, но и улучшить свое здоровье? Тогда вам стоит купить тренажер-степпер Кардио Твистер. Он является одним из наиболее эффективных методов, позволяющих вам добиться максимального эффекта.

 

Какого эффекта вы сможете добиться вместе с тренажером Cardio Slim Twister?

 

Вам просто не обойтись без тренажера Кардио Слим Твистер, если вы всерьез решили заняться своим здоровьем, фигурой, сохранением красоты и молодости. Купить тренажер-степпер Cardio Slim Twister значит приобрести надежную и эффективную основу для построения своего идеального тела.

 

Кардио Слим — это возможность иметь:

 

  • превосходное настроение;
  • хорошее здоровье;
  • красивую фигуру.

 

Вы до сих пор сомневаетесь? Этот эффективный тренажер даст вам уникальную возможность эффективно и в короткие сроки натренировать все без исключения мышцы вашего тела и поддерживать их в тонусе. Конструкция тренажера предполагает совершение нескольких движений: во-первых, повороты всего корпуса, во-вторых, движения ногами. Работа над разными группами мышц одновременно сделает тренировку максимально эффективной.

 

Купить тренажер Кардио Слим Твистер значит навсегда избавиться от:

 

  • лишнего веса;
  • дряблых мышц;
  • солевых отложений.

 

 Вы будете чувствовать себя превосходно, сбросив несколько лишних килограмм, подтянув тело, получив красивые и упругие мышцы. Очень скоро результаты тренировок станут заметны не только вам, но и окружающим вас людям. Позвольте себе насладиться восхищенными взглядами коллег и друзей — купите наш тренажер и начните заниматься прямо сейчас.

 

Преимущества занятий с тренажером Кардио Слим

 

Тренируясь самостоятельно или с тренером в зале, мы зачастую не можем подобрать такую нагрузку, которая позволяла бы нам равномерно прорабатывать все мышцы нашего тела. В итоге мы можем «перекачать» те или иные мышцы, но оставить непроработанными какие-то области. Все это делает нашу фигуру, даже если она подтянута, не очень привлекательной.

 

Кардио Слим Твистер позволяет равномерно распределять нагрузку между всеми группами мышц. Это позволяет вашему телу развиваться равномерно и гармонично. Занимаясь регулярно, вы сможете получить рельефную мускулатуру, плоский живот, а также добьетесь устранения первых признаков старения кожи.

 

Почему вам стоит выбрать именно Cardio Slim Twister?

 

Этот тренажер отлично подойдет для тех, кто уже устал от изнурительных упражнений, которые не дают никакого эффекта. Этот тренажер:

 

  • эффективен;
  • прост в применении;
  • легко и быстро избавляет от лишнего веса;
  • тонко настраивается под ваши возможности. Тренажер имеет целых 7 уровней сопротивления;

 

Кроме того, приобретая такой тренажер, вы сможет существенно сэкономить на посещении тренажерного зала. Cardio Slim Twister — это отличный выбор для общей тренировки и поддержания общего тонуса организма.

 

Цена на тренажер Cardio Twister, купить который вы легко можете в интернет-магазине Gramix, отличается своей доступностью. Вы будете приятно удивлены стоимостью данного прибора. А увидев его эффективность, вы не захотите менять Кардио Твистер ни на один другой тренажер.

 

Тренажер Кардио Твистер Слим (Cardio Twister Slim) степпер для дома | кардиостеппер от Live Active

Купить кардио слим кардиостеппер по цене со скидкой в городе Нижний Новгород Вы можете на официальном сайте интернет магазина поставщика.

Степпер Live Active Cardio Slim – кардио тренажер для тренировок в домашних условиях. Кардио Слим поможет привести фигуру в форму, а также поддерживать ее круглый год, даже когда у Вас нет времени для посещения тренажерных залов.

Во время тренировки на данном тренажере в работу включается все тело, что позволяет эффективнее сжигать калории.

Особенно сильно степпер кардио слим воздействует на мышцы ног: икроножные, бедра и ягодицы. Имитируя подъем по лестнице, тренажер позволяет укрепить и прокачать данную группу мышц, а благодаря вращающейся ручке, в работу также включается верхняя часть тела.

Конструкция

Тренажер представляет из себя степпер со специальной вращающейся ручкой. Вращение ручки происходит в противоположною сторону от нажатия на педаль, т.е Вы делаете шаг правой ногой и поворот влево, шаг левой ногой и поворот вправо.

На тренажере предусмотрена возможность регулировки нагрузки, а также он оснащен дисплеем, где отображается вся информация о тренировке:

  • количество сделанных шагов
  • сожженные калории
  • время тренировки.

Также степпер оснащен эргометром. Тренажер выдерживает вес до 113 кг.

Live Active Cardio Slim позволяет Вам выполнять кардио тренировку не выходя из дома, а насколько известно крадио тренировка является лучшей тренировкой для сжигания калорий.

Особенности и преимущества

  • Сжигает больше калорий. Благодаря вращающейся ручке, помимо мышц ног, в работу включается и верх тела, что позволяет сжечь больше калорий за единицу времени.
  • Регулировка уровня нагрузки. Благодаря возможности регулировать уровень нагрузки на степпере, тренажер можно подстроить под любого человека с разным стажем тренировок. Live Active Cardio Slim подойдет и новичкам и опытным спортсменам.
  • Тренировка дома. Вы можете выполнять кардиотренировку в любое время и в любую погоду не выходя из дома. 15 мин ежедневных тренировок на тренажере позволят привести форму в порядок и чувствовать себя хорошо.
  • Отсутствие лишней нагрузки на спину и суставы. Занятие на тренажере также подойдут взрослым и пожилым людям.
  • Тренажер не занимает много места.
  • Улучшает выносливость и работу сердечно-сосудистой системы.
  • Тренажер имеет противоскользящие педали и мягкие ручки.
  • Степпер прост в сборке, Вы сможете самостоятельно его собрать.

Какие мышцы тренируются

С помощью тренажера Live Active Cardio Slim Вы сможете проработать:

  • Ягодицы
  • Бедра
  • Икроножные
  • Также в работу включаются:
  • Руки
  • Мышцы живота и спины

Характеристики

  • Тип тренажера: степпер
  • Размеры: 750х1220х700
  • Вес устройства: 14 кг
  • Микрокомпьютер: да
  • Количество шагов, время тренировки, расход калорий
  • Эргометр: да
  • Гарантия: 1 год

 Информация для заказа: live active cardio slim
Заказать оригинальный товар:
Акции: 

спеццена для покупателей на сайте (акция действует до конца месяца)

Купоны на скидку:Нет
Доставка по России:Да
Тренажер кардио слим степпер поворотный купить или заказать с доставкой Вы можете: в Москве (Мск) Санкт-Петербурге (Спб) Архангельске Астрахани Брянске Великом Новгороде Волгограде Волгодонске Воронеже Иваново Ижевске Казани Костроме Краснодаре Курске Липецке Магнитогорске Мурманске Набережных Челнах Нижнем Новгороде Оренбурге Орле Пензе Перми Петрозаводске Пскове Ростове-на-Дону Самаре Саратове Смоленске Ставрополе Сыктывкаре Тамбове Тольятти Тюмени Ульяновске Уфе Чебоксарах Ярославле Йошкар-Оле
Доставка за рубежом:Нет
Доставка до двери:Да
Предоплата:Да
Оплата при получении:Да
Безналичный расчет\оплата картойДа
Гарантия:Да

Cardio Twister (кардио твистер) купить с быстрой доставкой по городу Нижний Новгород на официальном сайте производителя:

Тренажер для рук и ног FitStudio Slim Clip Exerciser — Shoppy

Описание

Slim Clip Exerciser — эффективный тренажер для рук и ног, который способен уже после нескольких регулярных тренировок привести Ваши мышцы в тонус и развить мышцы груди, ягодиц и бедер.

Новый тренажер для рук и ног Slim Clip Exerciser подойдет как новичкам, так и профессиональным спортсменам.

Вы сможете самостоятельно тренироваться в домашних условиях, постепенно усложняя свои тренировки, плавно развивая физическую силу и выносливость.

Уже несколько регулярных тренировок помогут Вам привести мышцы рук и ног в тонус и улучшить эластичность кожи!

Преимущества тренажера для рук и ног FitStudio Slim Clip Exerciser:

✔ Тонизирует и расслабляет основные мышцы ног и рук
✔ При регулярном использовании сжигает лишние калории
✔ Встроенная система подсчета количества сжиманий, израсходованных калорий и времени тренировки
✔ Способствует развитию мышечной силы
✔ Эргономичный дизайн делает тренажер компактным и удобным в использовании и хранении
✔ Подходит как для домашнего использования, так и для индивидуальных или групповых занятий в специализированных спортивных залах
✔ Помогает держать в тонусе плечи, мышцы предплечья, внутренней части бедра, а также ягодичные мышцы
✔ Встроенное автовыключение через 5 минут

Инструкция по применению тренажера для рук и ног FitStudio Slim Clip Exerciser:

Вставьте батарейку согласно инструкции
Тренажер готов к использованию.
Начинайте плавные сжимания, как показано на иллюстрациях в инструкции

Электронная система автоматически подсчитывает 4 показателя:

3.1.TIME– в этом режиме происходит подсчет времени проведенной тренировки.

3.2. COLORIE – подсчет израсходованных калорий за тренировку.

3.3. COUNT – количество совершенных сжиманий за тренировку.
Этот показатель отображается на дисплее во всех режимах.

3.4. T.COUNT – подсчет общего количества сжиманий за все тренировки.
Показатель можно обнулить только кратковременным извлечением батарейки.

3.5. SCAN – режим автоматического попеременного отображения показателей COUNT, T.COUNT, CALORIE и TIME через каждые 6 секунд.

Все показатели можно обнулить, зажав на 2-3 секунды кнопку MODE.
После автовыключения тренажера все показатели, кроме T.COUNT, обнуляются. Тренажер для рук и ног FitStudio «Slim Clip Exerciser»

Характеристики:

Материал: АБС/ТЭП
Размеры тренажера: 27,5*22*16,5 см
Вес: 0,91 кг
Функции электронного дисплея: подсчет времени тренировки, сожжённых калорий, количества упражнений 1 тренировки и за период.
Работает от одной батареи LR44

Информацию об условиях отпуска (реализации) уточняйте у продавца.
Информация о технических характеристиках, комплекте поставки, стране изготовления, внешнем виде и цвете товара носит справочный характер и основывается на последних доступных к моменту публикации сведениях
Стоимость доставки из других регионов приблизительная. Точную стоимость уточняйте у продавца.
Сообщить о неточности в описании

Тренажёр Степпер, Кардио Твистер многофункциональный тренажер,Cardio Twister

Тренажер Кардио Твистер (Cardio Twister). Степпер Кардио Слим одно из уникальных изобретений для борьбы с лишними килограммами. Благодаря этому тренажеру Вы сможете самостоятельно сформировать и укрепить свою мускулатуру, всегда поддерживать мышечный тонус. Без сомнений используйте последнее достижение науки, которым является уникальный тренажер степпер Cardio Twister. Благодаря этому тренажеру Ваша талия приобретет идеально красивые очертания ,и Вашу форму по достоинству оценят все окружающие на пляже! Тренажер степпер Кардио Твистер  — это ваш путь к здоровью и молодости, к стройной и красивой фигуре.

Заниматься на этом уникальном Тренажере Кардио Слим совсем не сложно,  движения, которые необходимо выполнять, легкие и простые. Но не смотря на свою простоту занятия на Кардио Твистере помогут Вам избавиться от лишнего веса, а также привести в порядок мышцы пресса, мышцы живота, ягодиц, бедер. И при регулярных тренировках Вы быстро увидите результат!

Хотите укрепить мышцы? Мечтаете избавиться от лишних килограммов? Сделайте это с тренажером Кардио Твистер.

Не забывайте о том, что Ваша мечта может станет реальностью, благодаря постоянным и регулярным занятиям на Тренажере степпере Кардио Твистер. Занимаясь на тренажере  Кардио Твистер (Кардио Слим)  Вы не только активно прорабатываете все группы мышц, но и вместе с этим приводите в норму вес совего тела.

Кардио Твистер, в чем секрет?

Обычные упражнения, которые часто используют при борьбе с лишним весом, как правило, не могут принести ощутимый результат по причине  того, что стандартные упражнения не могут активно проработать те мышцы, которые не задействованы в быту. А между тем, именно в этих областях находится источник лишних килограммов!  Кардио Твистер — это новый подход к процессу тренировок, он воздействует практически на все Ваше тело. Мышцы рук, предплечья, ягодиц, бедер. спины — это далеко неполный список зон, которые благодаря занятиям на тренажере Кардио Твистер приобретут красивую форму. Используя Тренажер Кардио Твистер (Кардио Слим) ваши тренировки станут максимально комфортными. Вам больше не придется тратить свое время на скучные и изнуряющие упражнения или утомляющие походы в спортзал. Уникальный тренажер-степпер Кардио Твистер (Cardio Twister) будет хорошим помощником в Вашем стремлении обрести идеальное тело.

Cardio Twister (Cardio slim) — это революция в домашнем фитнесе.

Кардио Твистер  — новый революционный степпер-тренажер, способный на многое. Вместе с этим тренажером Вы сможете избавиться от лишнего веса и сделать Ваше тело достойным искреннего восхищения. Более того, Cardio Twister осуществляет кардио тренировочный процесс, только с ним Вы укрепите свое сердце и всю сердечно сосудистую систему.

Кардио Твистер является не только удобным, но безопасным тренажером. Противоскользящее покрытие, мягкий и удобный руль, мощные педали — вот составные части Cardio Twister, которые делают его безопасными. 
Максимальная нагрузка, которую выдерживает  Кардио Твистер (Кардио Слим)  составляет 110 килограммов, что позволит заниматься на нем даже тучным людям.

Комплектация Кардио Твистера (Кардио Слим) :

1. Тренажер Кардио Твистер. Степпер Кардио Слим

2. Инструкция

3. План диет и тренировок

4. Диск с видео

5. Картонная коробка

Внимание!!! Для целей транспортировки регулировочный винт на обратной стороне затянут, для проведения тренировок необходимо его незначительно ослабить. Повышения или понижения нагрузки можно также регулировать с его помощью.



Тренажер Кардио Слим Твистер (Cardio Slim Twister) SF 0056

Тренажер Кардио Твистер обладает классическим строением степпера, но при этом он оснащен специальной ручкой, которая вращается вместе с вашим телом.

Эта рукоятка позволяет занимающемуся удерживать равновесие при выполнении шагов на степпере, но это не все ее полезные свойства. Естественные повороты тела позволяют выполнять упражнение более правильно. При этом Вы дополнительно тренируете косые мышцы пресса и мышцы спины.

Тренажер Cardio Twister выполнен из качественных материалов и способен выдерживать нагрузку до 110 кг. Большие педали позволяют удобно разместить ноги, а благодаря рельефной поверхности стопы не будут соскальзывать.

Со временем привыкания мышц к тренировкам потребуется увеличивать нагрузку.

Вы сможете выбирать из 7 уровней нагрузки. Смена уровней нагрузки производится передвижением специального рычага, расположенного в торцевой части степпера.

В интернет-магазине lavland.ru Вы можете купить Тренажер Кардио Слим Твистер (CARDIO Slim Twister) SF 0056 с доставкой в Орле (от 100 руб) и отправкой в другие города Почтой России (от 250 руб)

Также в продаже

Майка для похудения Hot Shapers произведена из современной, дышащей ткани по технологии Neotex, которая позволяет осуществлять повышение температурного режима человеческого тела, воздействуя таким образом на жировые отложения и позволяя худеть без диет и тренировок.

Добро пожаловать в интернет-магазин Lavland.ru! Наш магазин — это возможность совершать покупки, не выходя из дома. У нас каждый найдет все, что нужно.

Любителям загородной жизни могут быть интересны товары для дачи. Людям, занимающимся домашним птицеводством, стоит обратить внимание на инкубаторы для яиц, выбор которых огромен. Всем без исключения будет интересно ознакомиться с ассортиментом категории «товары для дома». Здесь можно выбрать и купить все, что необходимо для домашнего хозяйства, в том числе и товары для кухни.

Приверженцы активного образа жизни найдут много интересного среди представленных товаров для спорта и фитнеса. Вы всегда будете оставаться привлекательными и ухоженными, приобретая товары для красоты и здоровья в нашем магазине.

Разнообразный ассортимент не оставит без внимания и детей. В нашем интернет-магазине Вы найдете детские товары и игрушки. Ваши малыши и дети постарше будут рады всему, что Вы приобретете для них в интернет-магазине Lavand.ru.

Lavland.ru — это профессиональная команда людей, которые работают ради того, чтобы каждый покупатель остался доволен и вернулся к нам за очередной покупкой. Мы стремимся сделать сервис предельно комфортным и понятным для наших покупателей.

В нашем интернет-магазине Вы купите только качественный товар, прошедший предпродажную подготовку и имеющий гарантию официального производителя. Цены Вас также приятно удивят.

Мы ценим время наших покупателей, поэтому предлагаем воспользоваться услугами ответственных и пунктуальных курьеров, которые доставят покупки по указанному Вами адресу.

Вежливые консультанты с удовольствием ответят на все Ваши вопросы и помогут определиться с выбором.

Интернет-магазин Lavland.ru дорожит своими покупателями, поэтому регулярно проводит акции, которые позволяют покупать товары с выгодой. О проводимых акциях, а также о новинках магазина и скидках Вы можете регулярно узнавать, подписавшись на нашу страничку ВКонтакте.

Оформить заказ легко и просто можно на нашем сайте или по телефону.

Мы стремимся быть лучше для покупателей. Качественный сервис и индивидуальный подход к каждому клиенту – залог работы нашей команды. Поэтому мы всегда открыты для отзывов и предложений. При выявлении недочетов в работе магазина или сайта все недостатки будут оперативно устраняться. Нам важно Ваше доверие!

Тренажёр Кардио Слим (Cardio Slim)

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

Диета тоже не лучший вариант – вы можете банально ее не выдержать, неправильно выбрать диету, могут помешать замедленные процессы и т.д. К тому же, давно доказано, что диеты довольно вредны для любого, даже самого крепкого организма. Наверняка, вам все это знакомо.

Так какой же выход? Купить тренажер Cardio Slim и навсегда забыть об этой проблеме – вот лучший выход.

Преимущества тренажера Cardio Slim

  • Основное преимущество – тренажер Кардио Слим тренирует не только область ягодиц. Но и верхнюю часть тела. Он предусмотрен для тренировки талии, ягодиц, плечевого пояса и спины. Тренажер Cardio Slim это 2в1 – он не только укрепляет мышцы, но и сжигает лишние калории, и это происходит одновременно.
  • Поскольку во время тренировки задействованы косые мышцы живота, у вас появляется пресс, который дает дополнительную стройность и вашей талии.
  • Отзывы людей, которые уже пользовались тренажером показывают – во время тренировок сжигается большее количество калорий, чем при тренировке на другом тренажере, поскольку задействуется большее количество мышц.
  • Cardio Slim – это настоящая находка для женщин, которые хотят похудеть, при этом не наращивая мускулатуру (как это бывает при использовании других тренажеров). Достаточно заниматься 30 минут в день – и через 2 недели вы заметите существенное изменение вашей фигуры.
  • Тренажер Cardio Slim имеет стильный дизайн, компактные размеры, а также оснащен регулировкой нагрузки, что делает ваши тренировки еще приятнее и легче.

Тренажёр Кардио Слим будет полезен тем людям, которые не желают тратить время и средства на разного рода оздоровительные центры. Вы можете заниматься на тренажере дома, в любое удобное время. Также он очень понравиться тем, кому надоели старые скучные устройства, на подобии беговой дорожки.

Интенсивность занятий ограничивается коротким ходом педалей, но вы можете увеличить длительность занятий, либо просто поставьте нагрузку на максимум.

Пользование верхним рычагом тоже требует некоторых навыков, ведь вы не просто дергаете его руками, а задействуете мышцы живота, как бы скручивая их.

Приобретайте тренажер Кардио Слим и пользуйтесь на здоровье!

Тренажер Кардио Твистер (Степпер Cardio Twister)

Как известно, банальные силовые нагрузки не дадут должного эффекта в борьбе с лишними килограммами, в этом деле важна именно кардио нагрузка, которую и позволит получить тренажер Cardio Twister, при условии правильных и регулярных занятий на нем.

Во время занятий тренажеры Cardio Twister (Cardio Slim) создают нагрузку не только на ноги, как это происходит во время тренировки на мини степпере или велотренажере, но и верхнюю часть тела.В то время, как вы шагаете на Кардио Слим, у вас работают ноги, ягодицы, мышцы рук и плеч, пресс и боковые мышцы, что позволяет в результате получить равномерную нагрузку на все части тела и подтянуть их, параллельно сжигая лишние калории.

Cardio Twister – это настоящая находка для тех женщин, которые предпочитают иметь красивую и подтянутую фигуру, без признаков «перекачанности», которая присуща посетительницам спортзалов, отдающим предпочтение силовым нагрузкам.

Преимущества тренажера Кардио Твистер

  1. 7 уровней сложности.
  2. Имеет противоскользящие педали и мягкие удобные рукоятки.
  3. Эффективное решение для интенсивного сжигания калорий.
  4. Позволяет быстро подтянуть мышцы ног, ягодиц, спины, плечевого пояса и пресса.
  5. Способствует формированию тонкой талии и убирает живот.
  6. Имеет возможность регулировки интенсивности нагрузки.
  7. Укрепляет сердечнососудистую систему.
  8. Улучшает показатели организма.
  9. Стильный дизайн позволяет вписаться тренажеру в любой интерьер.
  10. Компактные размеры, благодаря которым он не кажется громоздким.
  11. Прочная и надежная конструкция тренажера позволяет выдерживать вес до 100 кг.

Как заниматься на тренажере Кардио Твистер

Как и перед любой другой физической нагрузкой, важно провести минимальную разминку, чтобы подготовить мышцы к работе. Повышать нагрузку стоит постепенно, чтобы избежать травм и позволить телу работать в комфортном для него режиме.

Тренажер Кардио Твистер достоин того, чтобы его купить в нашем интернет-магазине по оптимальной цене. По отзывам покупательниц, заниматься на нем можно по-разному: с постоянной интенсивностью или утроить полноценный жиросжигающий интервальный тренинг, чтобы поскорее привести себя в форму и сжечь лишний жир. Главное правило занятий на кардиостеппере Cardio Slim – это регулярность и длительность тренировки около 30 минут в день.

Комплектация

  1. Степпер Cardio Twister ( Кардио Слим)
  2. Инструкция по сборке
  3. План диет
  4. Диск с видео
  5. План тренировок

SLiM 3: дальнейшее генетическое моделирование за рамками модели Райта – Фишера | Молекулярная биология и эволюция

Аннотация

В связи с желанием моделировать генетические процессы популяций в соответствии со все более реалистичными сценариями, прямое генетическое моделирование стало важной частью инструментария современной эволюционной биологии. Структура прямого генетического моделирования SLiM — один из самых мощных и широко используемых инструментов в этой области. Однако было обнаружено, что его основа в модели Райта – Фишера представляет собой препятствие для реализации многих типов моделей; модель Райта-Фишера с ее многочисленными допущениями сложно адаптировать к моделированию экологически реалистичных сценариев, таких как явное пространство, перекрывающиеся поколения, индивидуальные вариации воспроизводства, регулирование популяции в зависимости от плотности, индивидуальные вариации в расселении или миграции, локальное вымирание и реколонизация, спаривание между субпопуляциями, возрастная структура, выживаемость и жесткий отбор на основе пригодности, возникающие соотношения полов и так далее.В ответ на эту потребность мы представляем SLiM 3, который содержит два ключевых усовершенствования, направленных на отмену этих ограничений. Во-первых, новый тип модели, отличной от модели Райта – Фишера или «не WF», обеспечивает гораздо более гибкую основу, которая позволяет легко реализовать все вышеперечисленные сценарии и многие другие. Во-вторых, SLiM 3 добавляет поддержку непрерывного пространства, включая пространственные взаимодействия и пространственные карты переменных окружающей среды. Мы даем концептуальный обзор этих новых функций и представляем несколько примеров моделей, чтобы проиллюстрировать их использование.

Введение

Прямое генетическое моделирование играет все более важную роль в эволюционной биологии из-за их способности моделировать широкий спектр популяционных генетических механизмов и включать высокий уровень экологических деталей в моделируемый сценарий (Карвахал-Родригес 2010; Юан и др. 2012; Bank et al.2014; Hoban 2014; Thornton 2014; Haller and Messer 2017; Haller et al.2018). Фреймворк прямого генетического моделирования SLiM (Messer 2013; Haller and Messer 2017) оказался мощным инструментом для этой цели и представляет собой одну из наиболее широко используемых вычислительных структур для реализации такого моделирования в настоящее время.

Веб-сайт ресурсов генетического моделирования (GSR) Национального института рака содержит обширную базу данных программных средств генетического моделирования (NCI 2018). На момент написания GSR перечислил 42 пакета, поддерживающих прямое моделирование; это включает в себя множество инструментов, которые специализируются на конкретном типе модели, а также некоторые инструменты, которые поддерживают широкий спектр эволюционных сценариев. Популярность SLiM среди этих инструментов основана в первую очередь на трех ключевых атрибутах. Во-первых, он обладает высокой степенью готовности сценариев, что позволяет фундаментально модифицировать и расширять механику структуры SLiM во многих отношениях.В то же время даже довольно сложные эволюционные модели часто могут быть выражены на странице кода или меньше, поскольку весь основной код моделирования предоставляется SLiM, что дает огромные преимущества по сравнению с написанием моделирования с нуля на таком языке, как C ++. Во-вторых, SLiM включает в себя полнофункциональную среду графического моделирования SLiMgui, которая упрощает разработку интерактивных моделей, визуальную отладку и практическое исследование, что дает большие преимущества на протяжении всего процесса моделирования (Grimm 2002).И, в-третьих, большая работа была посвящена оптимизации SLiM, чтобы она работала с максимальной эффективностью в самых разных сценариях моделирования; эти преимущества скорости бесплатно наследуются любой моделью, работающей в SLiM. GSR не обеспечивает сравнения производительности, поэтому пользователи, которым нужна производительность, должны провести свои собственные тесты, прежде чем выбирать конкретный пакет; однако для сравнения функций, доступных в разных пакетах, GSR может быть очень полезным ресурсом.

В наших контактах с пользователями SLiM в последние годы преобладала одна категория вопросов: как можно построить моделирование SLiM, выходящее за рамки стандартной модели Райта – Фишера или модели «WF» (Fisher 1922; Wright 1931)? Эта модель, которая заложила концептуальную основу для всех предыдущих версий SLiM (Messer 2013; Haller and Messer 2017), определяется рядом упрощающих предположений.Например, модель предполагает, что поколения не пересекаются и дискретны, без какой-либо возрастной структуры или возрастной дифференциации между людьми. Другое важное допущение модели заключается в правилах, управляющих производством потомства из родительской популяции; в стандартной модели WF родители каждого ребенка в следующем поколении выбираются случайным образом из предыдущего поколения с вероятностью, пропорциональной физической форме каждого человека. Это затрудняет моделирование различий в размере помета, моногамного спаривания и других подобных явлений.Кроме того, поскольку размер популяции является параметром, определяемым извне в модели WF, часто неясно, как сценарии, в которых размер популяции является возникающей переменной — например, зависящей от таких факторов, как средняя приспособленность, доступная среда обитания и история колонизации — должны быть точно смоделированы в рамках WF.

Учитывая объем упрощающих допущений, лежащих в основе модели WF, желание пользователей SLiM выйти за рамки этой модели принимает разные формы, но можно сказать, что они объединяются вокруг идеи более реалистичной пространственной и экологической динамики.Например, пользователи интересовались, можно ли смоделировать явное перемещение людей по непрерывному ландшафту, жизненные циклы с перекрывающимися поколениями, индивидуальные вариации в воспроизводстве, регулирование популяции в зависимости от плотности, индивидуальные вариации в расселении или миграции, локальное вымирание и повторное заселение. , спаривание между субпопуляциями, возрастная структура, выживаемость и жесткий отбор на основе фитнеса, возникающие соотношения полов и многое другое. Поскольку в SLiM 2 уже было много сценариев, и поэтому многие из его внутренних динамических характеристик можно было изменить с помощью сценариев, иногда можно было обойти ограничения, унаследованные от модели WF; но эти обходные пути часто бывают неуклюжими и трудоемкими, а некоторые типы моделей просто оказалось трудно или невозможно реализовать в SLiM 2.По сути, модель Райта – Фишера не является экологической моделью, и поэтому, если мы хотим продвигаться к объединению генетики и эволюционной биологии с экологией, необходимость в более гибкой основе очевидна.

В ответ на эту потребность мы представляем SLiM 3, который содержит два основных усовершенствования, прямо направленных на устранение этих ограничений. Во-первых, в дополнение к традиционному типу модели Райта – Фишера или WF предыдущих версий SLiM, SLiM 3 поддерживает новый тип модели не Райта – Фишера или «не WF», который обеспечивает гораздо большую гибкость в том, как ключевые процессы, такие как выбор партнера и воспроизведение , миграция, оценка приспособленности, выживание, регулирование популяции и другие связанные области реализованы, что позволяет явно связать эволюционную динамику с экологическими паттернами и процессами.Во-вторых, помимо поддержки дискретных субпопуляций, связанных миграцией, SLiM 3 теперь поддерживает модели, которые занимают непрерывные пространственные ландшафты, включая встроенную поддержку пространственных карт, описывающих характеристики окружающей среды, и локальных пространственных взаимодействий, таких как пространственная конкуренция и выбор партнера. (Поддержка пространственных моделей фактически была введена в SLiM 2.3, но ранее не публиковалась.)

SLiM 3 также содержит много других важных дополнений. Наиболее заметно то, что он добавляет поддержку «записи древовидной последовательности» (также называемой «запись родословной»), метода записи информации о родословной при прямом моделировании (Kelleher et al.2016, 2018). Запись древовидной последовательности может сократить время выполнения моделирования на несколько порядков, позволяя эффективно накладывать нейтральные мутации после завершения прямого моделирования и позволяя чрезвычайно эффективно выполнять нейтральное выгорание с помощью «рекапитации», а также обеспечивает несколько других основных также приносит пользу (Kelleher et al. 2018; Haller et al. 2018). Поддержка SLiM 3 записи в виде древовидной последовательности обсуждается далее в Haller et al. (2018). Другие важные изменения в SLiM 3 по сравнению с SLiM 2.0 (последняя опубликованная версия) включает множество дополнений и улучшений к языку сценариев Eidos (Haller, 2016), множество новых методов, предоставляемых классами Eidos SLiM (Haller and Messer, 2016), и множество улучшений в среде графического моделирования SLiMgui. SLiM 3 также содержит большой объем работы по оптимизации, чтобы моделирование выполнялось быстрее. Стоит также упомянуть еще несколько конкретных улучшений: новый класс Individual, представляющий моделируемых особей, поддержку переменной скорости мутации по хромосоме, новый механизм обратного вызова рекомбинации () для изменения контрольных точек рекомбинации на индивидуальном уровне и вывод в формате VCF, среди прочего. другие (полный список изменений можно найти в руководстве SLiM).

Здесь, однако, мы сосредоточимся на том, что мы считаем наиболее важными новыми функциями в SLiM 3: не-WF моделями и непрерывным пространством, функциями, которые позволяют пользователям выйти за рамки модели Райта – Фишера в SLiM. Мы дадим концептуальный обзор этих функций и продемонстрируем их на нескольких примерах.

Имитационная модель не WF

Возможно, самый простой способ понять модели без WF — это посмотреть, чем они отличаются от модели стандартного типа WF.Наиболее важные различия наблюдаются в следующих обширных областях:

  • Возрастная структура. В моделях WF поколения дискретны и не перекрываются; все люди живут в течение одного поколения, в течение которого они воспроизводятся, а затем умирают. Напротив, в моделях, отличных от WF, поколения могут накладываться друг на друга; люди могут жить в течение нескольких поколений, пока не умрут по какой-либо причине (обычно отбор, старость или невезение). Более фундаментально понятие «поколение» было расширено.В моделях, отличных от WF, каждое поколение представляет собой возможность воспроизвести и / или умереть — дискретизацию этих событий во времени, обеспечивая временную структуру модели, которая может быть основана на часах, днях, сезонах или десятилетиях, но это не обязательно связанные с ожидаемой продолжительностью жизни людей. Люди в моделях, не относящихся к WF, имеют возраст (измеренный в поколениях), популяция, таким образом, имеет возрастную структуру, и модель может реализовать любое желаемое поведение, связанное с возрастом. Цикл генерации в моделях, отличных от WF, сравнивается с циклом в моделях WF на рисунке 1.

  • Потомство. В моделях WF потомство создается путем рисования родителей от особей в предыдущем поколении. Размер популяции — это параметр модели, определяющий, сколько потомков должно быть произведено в каждом поколении; частота самоопыления, частота клонирования и соотношение полов являются аналогичными параметрами на уровне популяции. В отличие от этого в моделях, отличных от WF, сценарий гораздо более непосредственно отвечает за процесс генерации потомства; сценарий запрашивает генерацию каждого потомка на основе индивидуального состояния, а не параметров уровня популяции.Из SLiM поступают вызовы обратных вызовов reproduction (), определенных в сценарии модели, и эти обратные вызовы определяют, какие особи воспроизводятся, как они выбирают помощника или партнеров (если есть), сколько у них потомков и так далее. Таким образом, размер популяции, уровень самоопыления, уровень клонирования и соотношение полов больше не являются параметрами на уровне популяции; вместо этого они являются эмерджентными свойствами модели, следствиями правил, указанных в сценарии, для индивидуальной динамики воспроизводства. Размер популяции, например, становится результатом баланса между коэффициентами рождаемости и смертности, часто (но не обязательно) регулируемым с помощью выбора жизнеспособности в зависимости от плотности, реализованного в модели.

  • Миграция. В моделях WF миграция между популяциями моделируется путем определения доли потомков в данной целевой популяции, происходящих от родителей в данной исходной популяции. Поскольку эта модель миграции приводит к появлению потомства, которое занимает другую популяцию, чем их родители, она больше всего напоминает модель миграции молодых людей. Напротив, в моделях, отличных от WF, миграция снова обрабатывается более непосредственно сценарием модели, который может вызывать метод takeMigrants () для перемещения особей в новую популяцию в любой момент цикла генерации, что позволяет создавать модели, в которых особи мигрируют в молодом возрасте, поскольку взрослые или несколько раз в течение жизни.Этот акцент на миграции на индивидуальном уровне, а не на уровне миграции на уровне населения, учитывает вероятность того, что данный человек будет мигрировать, чтобы гораздо более гибко зависеть от состояния на индивидуальном уровне. Таким образом можно смоделировать широкий спектр сценариев, таких как миграция в зависимости от пола, выбор среды обитания или миграция в зависимости от условий. В таких моделях общая скорость миграции между двумя популяциями снова является эмерджентным свойством, которое зависит от конкретного состава населения и правил миграции, указанных в сценарии, а не от скорости на уровне популяции.

  • Фитнес. В моделях WF приспособленность влияет на вероятность того, что человек будет выбран в качестве родителя для ребенка в следующем поколении; не существует встроенной концепции смертности, вызванной отбором. Таким образом, приспособленность относительна, что приводит к модели так называемого «мягкого» отбора, в котором больший успех для одних обязательно достигается за счет уменьшения успеха для других. Общий размер популяции не зависит от отбора, поскольку это параметр модели, а не эмерджентное свойство лежащей в основе эволюционной и экологической динамики.Напротив, в моделях, отличных от WF, приспособленность напрямую влияет на вероятность выживания каждого человека в течение каждого поколения; люди с низкой физической подготовкой с меньшей вероятностью выживут. Таким образом, приспособленность абсолютна, и выбор в такой модели по умолчанию «сложен»; в результате размер популяции будет естественным образом меняться в зависимости от средней приспособленности популяции (хотя это может быть компенсировано зависимым от плотности отбором или плодовитостью). Конечно, при желании можно смоделировать влияние генетики на репродуктивный успех или плодовитость с помощью обратного вызова репродукции ().

Рис. 1.

Сравнение циклов генерации в моделях WF (слева) и в моделях без WF (справа). Обратите внимание, что модели, не относящиеся к WF, имеют фазу выбора жизнеспособности / выживаемости сразу после пересчета значения приспособленности, тогда как в моделях WF приспособленность влияет на успех спаривания, и отсутствует концепция отбора на основе смертности. События и обратные вызовы показаны красным; это моменты в цикле генерации, когда SLiM обращается к сценарию, чтобы обеспечить настраиваемое поведение.Так называемые события Early () и late () предоставляют часто используемые точки в цикле генерации, когда сценарий модели может вмешиваться в работу SLiM, в начале и в конце каждого поколения соответственно, для выполнения специфичных для модели задач — генерации выходных данных, управлять взаимодействиями между людьми, перемещать людей в пространстве и так далее. Как показано на этом рисунке, в моделях WF события early () идут до генерации потомков, а события late () идут после; в моделях, отличных от WF, события early () происходят после генерации потомков, тогда как события late (), в силу того, что они находятся в конце цикла генерации, в действительности происходят до порождения потомков (когда это происходит в начале следующего поколения).Обратные вызовы, с другой стороны, позволяют сценарию переопределять определенные аспекты поведения SLiM, такие как выбор партнеров, настройка сгенерированного потомства, вычисление эффектов приспособленности или создание пользовательских контрольных точек рекомбинации. Большинство этих обратных вызовов существует как в моделях WF, так и в моделях, отличных от WF, но обратные вызовы mateChoice () существуют только в моделях WF, тогда как обратные вызовы reproduction () существуют только в моделях без WF и обрабатывают выбор партнера, а также другие обязанности, связанные с воспроизведением.

Рис. 1.

Сравнение циклов генерации в моделях WF (слева) и в моделях без WF (справа).Обратите внимание, что модели, не относящиеся к WF, имеют фазу выбора жизнеспособности / выживаемости сразу после пересчета значения приспособленности, тогда как в моделях WF приспособленность влияет на успех спаривания, и отсутствует концепция отбора на основе смертности. События и обратные вызовы показаны красным; это моменты в цикле генерации, когда SLiM обращается к сценарию, чтобы обеспечить настраиваемое поведение. Так называемые события Early () и late () предоставляют часто используемые точки в цикле генерации, когда сценарий модели может вмешиваться в работу SLiM, в начале и в конце каждого поколения соответственно, для выполнения специфичных для модели задач — генерации выходных данных, управлять взаимодействиями между людьми, перемещать людей в пространстве и так далее.Как показано на этом рисунке, в моделях WF события early () идут до генерации потомков, а события late () идут после; в моделях, отличных от WF, события early () происходят после генерации потомков, тогда как события late (), в силу того, что они находятся в конце цикла генерации, в действительности происходят до порождения потомков (когда это происходит в начале следующего поколения). Обратные вызовы, с другой стороны, позволяют сценарию переопределять определенные аспекты поведения SLiM, такие как выбор партнеров, настройка сгенерированного потомства, вычисление эффектов приспособленности или создание пользовательских контрольных точек рекомбинации.Большинство этих обратных вызовов существует как в моделях WF, так и в моделях, отличных от WF, но обратные вызовы mateChoice () существуют только в моделях WF, тогда как обратные вызовы reproduction () существуют только в моделях без WF и обрабатывают выбор партнера, а также другие обязанности, связанные с воспроизведением.

Эти различия можно резюмировать, сказав, что модели, не относящиеся к WF, более индивидуальны, более управляемы сценариями, более эмерджентны и, следовательно, более реалистичны с биологической точки зрения. Однако они также часто более сложны в определенных отношениях, в первую очередь из-за необходимости реализации обратного вызова reproduction () и введения некоторого явного механизма регуляции популяции.Фактически, с возможностью более точного контроля воспроизводства и регулирования численности населения появляется ответственность более подробно обдумывать и конкретизировать эти явления. Популяции могут регулироваться с помощью любого из множества механизмов, от зависящей от плотности плодовитости и конкуренции за ресурсы до хищничества, территориального поведения и стихийных бедствий (Hixon et al. 2002; Begon et al. 2006). Любой из этих механизмов может быть реализован в модели, отличной от WF, но это не делается для вас, как в модели WF; пользователь должен решить, какие механизмы регулирования численности популяции желательны, и реализовать их в сценарии модели.

Чтобы проиллюстрировать относительную легкость, с которой такие модели, отличные от WF, могут быть указаны в SLiM, мы предоставили два примера рецептов (дополнительные примеры 1 и 2, дополнительные материалы онлайн). Первый пример — это очень простая модель, не относящаяся к ВФ, в популяции, где жизнеспособность зависит от емкости популяции; второй пример — более сложная модель, отличная от WF, с моногамным спариванием и влиянием возраста на спаривание и физическую форму.

Модели непрерывного пространства и пространственные взаимодействия

Модели непрерывного пространства в SLiM 3 довольно просты на концептуальном уровне.Непрерывное пространство включается с помощью вызова initializeSLiMOptions (), который обеспечивает размерность: «x» для одного пространственного измерения, «xy» для двух или «xyz» для трех; мы сосредоточимся здесь на 2D-моделях, поскольку это, вероятно, наиболее распространенный случай. Затем у людей есть свойства, представляющие их координаты x и y в непрерывном 2D-пространстве, к которым можно получить доступ и установить. Пространственные границы каждой субпопуляции могут быть настроены пользователем; по умолчанию ландшафт будет охватывать интервал [0,1] в каждом измерении.За установку индивидуальных позиций отвечает модель, и модель определяет, какое использование, если таковое имеется, будет из этих позиций; нет автоматических последствий пространственности для динамики модели. Однако, поскольку существуют общие способы, которыми модели часто хотят, чтобы пространственность влияла на динамику, предоставляются два дополнительных средства: типы взаимодействия и пространственные карты.

Типы взаимодействия поддерживаются новым классом Eidos, InteractionType. Тип взаимодействия определяется с помощью вызова initializeInteractionType () и определяет две вещи: показатель расстояния, который определяет расстояние взаимодействия между двумя людьми, и формулу взаимодействия, которая определяет, как сила взаимодействия между двумя людьми изменяется в зависимости от расстояния между ними. .После того, как тип взаимодействия настроен и оценен, могут быть выполнены пространственные запросы: каковы ближайшие соседи n для данного человека, какова сила взаимодействия между людьми i и j , каково общее взаимодействие сила, оказываемая на особь всеми другими индивидуумами в ее субпопуляции, и так далее. Эти запросы обрабатываются внутри высоко оптимизированными структурами данных, такими как k -d деревья (Bentley 1975) и разреженные массивы (Tewarson 1973), но эти детали полностью скрыты SLiM, обеспечивая способ реализации пространственных взаимодействий, таких как пространственная конкуренция. а также простой и быстрый выбор сопряжения в пространстве.

Пространственные карты не выделяются отдельным классом; вместо этого они привязаны к субпопуляциям. Новую пространственную карту можно определить с помощью вызова метода defineSpatialMap (), а затем значение конкретной пространственной карты в данной точке можно запросить с помощью SpaceMapValue (). К субпопуляции может быть прикреплено любое количество пространственных карт; несколько карт отличаются друг от друга по имени. Каждая карта определяет сетку значений (любого разрешения), которая накладывается на пространственные границы субпопуляции, либо с интерполяцией значений между точками сетки, либо без нее.Масштаб значений карты и придаваемое им значение полностью зависит от модели. Одна карта может определять высоту ландшафта, другую температуру, и каждая из этих карт может иметь последствия для выживания, плодовитости, движения или любого другого аспекта модели.

Поскольку многое из этого может показаться довольно абстрактным, мы снова предоставили два конкретных примера (дополнительные примеры 3 и 4, дополнительные материалы онлайн). Первая модель представляет собой базовую пространственную популяцию с выбором местного партнера и конкуренцией; вторая модель представляет неоднородный ландшафт и пространственную динамику вымирания / реколонизации.

Обсуждение

Мы представили SLiM 3, новую крупную версию структуры прямого генетического моделирования SLiM. SLiM 3 предоставляет множество улучшений по сравнению с предыдущими версиями SLiM, которые подробно описаны в исчерпывающей документации. Здесь мы сосредоточились на двух основных функциях, которые позволяют моделям SLiM 3 выходить за рамки ограничений и допущений модели Райта – Фишера, на которой были основаны все предыдущие версии: тип модели, отличный от WF, и поддержка непрерывного пространства.

Тип модели, отличный от WF, позволяет модели контролировать каждое отдельное событие спаривания. Это упрощает управление характеристиками модели, такими как выбор партнера, плодовитость и индивидуальные вариации в воспроизводстве. В моделях, отличных от WF, приспособленность по умолчанию влияет на выживаемость, а не на вероятность спаривания, что обеспечивает более естественную и реалистичную динамику популяции. Другие важные особенности модели, которые имеют отношение к реалистичной экологии, такие как перекрывающиеся поколения, возрастная структура и реалистичное поведение миграции / расселения, также естественным образом проявляются в этом дизайне.Однако остается возможность построить модель WF, как и в предыдущих версиях SLiM; это может быть особенно полезно, когда кто-то хочет сравнить прямую имитационную модель с аналитической моделью, основанной на предположениях Райта-Фишера.

Аналогичным образом SLiM 3 предоставляет возможность включения непрерывного пространства в модель, но модели дискретных подгрупп, связанных миграцией, также по-прежнему поддерживаются. Когда включено непрерывное пространство, SLiM 3 предоставляет множество полезных инструментов для пространственного моделирования, таких как пространственные карты, которые могут определять характеристики ландшафта, влияющие на динамику модели, и механизм пространственного взаимодействия, который может эффективно вычислять силу взаимодействия между людьми и находить ближайших соседей. человека.SLiMgui также предоставляет полезные визуализации для таких моделей, позволяя легко наблюдать динамику, возникающую из пространственности.

Следует подчеркнуть, что эти особенности действительно совпадают друг с другом; в частности, экологически реалистичные модели, включающие непрерывное пространство, почти всегда должны быть моделями, не относящимися к ВФ. Это связано с тем, что модель WF налагает на симуляцию глобальное регулирование численности населения; общий размер устанавливается для каждой субпопуляции, так что, если плотность увеличивается в одной области пространства (например, из-за иммиграции), абсолютная приспособленность будет эффективно уменьшаться по всему ландшафту.Это можно компенсировать соответствующей шкалой пригодности, но это становится довольно сложным, если есть различия в местной пропускной способности, темпах иммиграции и эмиграции, вариациях плодовитости и т. Д .; Внешний размер популяции моделей WF просто не предназначен для учета локальной плотности населения. С другой стороны, размер и плотность эмерджентного населения в моделях, отличных от WF, автоматически учитывают любые факторы, влияющие на рождение и смерть в модели.Это причина того, что оба представленных нами примера непрерывного пространства не являются моделями WF; влияние на локальную плотность распространения полезной мутации в примере 3 или случайных катастроф в примере 4 было бы чрезвычайно сложно смоделировать в рамках WF.

Многие другие новые функции SLiM 3 здесь существенно не обсуждались. Мы призываем всех пользователей прочитать о записи древовидной последовательности, которая, по нашему мнению, является революционно новым методом, который значительно расширит горизонт возможностей прямого моделирования (Haller et al.2018). Руководство SLiM (Haller and Messer 2016) теперь содержит рецепты и справочную документацию для других новых функций, а руководство Eidos (Haller 2016) теперь документирует новые дополнения к языку Eidos. Особо стоит отметить, что в SLiM 3 была проделана большая работа по оптимизации, и она, как правило, намного быстрее, чем предыдущие версии, особенно для больших моделей с длинными хромосомами, которые могут быть на порядки быстрее, чем в предыдущих версиях. Мы предоставили сравнение производительности (дополнительные результаты, дополнительные материалы в Интернете), которое иллюстрирует эти преимущества и компромиссы производительности, связанные с моделями, отличными от WF, и непрерывным пространством.

SLiM 3 распространяется бесплатно, под лицензией GNU GPL и доступен на GitHub. Однако большинство пользователей захотят загрузить версию выпуска с https://messerlab.org/slim/; обширные руководства с множеством примеров можно загрузить с того же веб-сайта. Мы также рекомендуем пользователям SLiM подписаться на краткий список обсуждений на http://bit.ly/slim-discuss, где объявляются новые версии, и пользователи могут задавать вопросы и получать помощь. Функции, на которых мы здесь сосредоточились, а именно модели, отличные от WF, и непрерывное пространство, позволят реализовать множество сценариев моделирования, которые было бы сложно или невозможно смоделировать в предыдущих версиях SLiM.Мы надеемся, что это откроет новые горизонты как в прикладных, так и в теоретических исследованиях.

Дополнительные материалы

Дополнительные данные доступны на сайте Molecular Biology and Evolution онлайн.

Благодарности

Мы благодарим Джареда Галлоуэя, Джерома Келлехера и Питера Ральфа за их работу над функцией записи в виде дерева в SLiM 3. Также благодарим Хорхе Амайя, Билла Амоса, Хайме Ашандера, Ханнеса Бехер, Эмму Бердан, Йоанна Буоро, Дебору Чарльзуорт, Жан Кьюри, А.П. Джейсон де Конинг, Эмили Деннис, Джордан Ромейер Дерби, Джаред Галлоуэй, Джесси Гарсия, Кимберли Гилберт, Александр Харрис, Ребекка Харрис, Динг Хе, Кэтрин Ходжинс, Кристиан Хубер, Мелисса Джейн Хубиш, Джейкоб Мальте Дженсен, Джером Келлехатри, Бхавин , Бернард Ким, Афанасиос Кусатанас, Бенджамин Лаенен, Стефан Лоран, Эухенио Лопес, Кэтлин Лоттерхос, Михаил Мац, Руперт Маццукко, Маэва Моллион, Мигель Наваскуэс, Грег Оуэнс, Денис Пьерон, Питер Ральф, Дэвид Ринкер, Эндрю Ральф, Эндрю Ринкер, Аарону Самсу, Кирану Самуку, Онралп Сойлемез, Кевину Торнтону, Роберту Анклессу, Христосу Влахосу, Силу Вангу, Аарону Вольфу, Джастину Йе, членам лаборатории Messer и сообществу stackoverflow за их ценные комментарии.Спасибо редактору и двум анонимным рецензентам, а также Питеру Ральфу за полезные комментарии к предыдущим версиям этой рукописи. Это исследование было поддержано фондами Колледжа сельского хозяйства и наук о жизни Корнельского университета, новозеландской программы Predator Free 2050 (номер гранта SS / 05/01) и Национальных институтов здравоохранения (номер гранта R01GM127418) P.W.M.

Список литературы

Банк

C

,

Ewing

GB

,

Ferrer-Admettla

A

,

Foll

M

,

Jensen

JD

.

2014

.

Слишком позитивное мышление? Пересмотр существующих методов популяционного генетического отбора

.

Trends Genet

.

30

12

:

540

546

.

Бегон

М

,

Таунсенд

CR

,

Харпер

JL

.

2006

.

Экология: от человека к экосистемам

.

Хобокен (Нью-Джерси)

:

Уайли-Блэквелл

.

Бентли

JL

.

1975

.

Многомерные бинарные деревья поиска, используемые для ассоциативного поиска

.

Коммуна ACM

.

18

9

:

509

517

.

Карвахаль-Родригес

А

.

2010

.

Моделирование генов и геномов вперед во времени

.

Curr Genomics

.

11

1

:

58

61

.

Fisher

RA

.

1922

.

По коэффициенту доминирования

.

П Рой Соц Эдинб

.

42

:

321

341

.

Гримм

В

.

2002

.

Визуальная отладка: способ анализа, понимания и передачи имитационных моделей снизу вверх в области экологии

.

Nat Resour Модель

.

15

1

:

23

38

.

Haller

BC

,

Messer

PW

.

2017

.

SLiM 2: гибкое интерактивное прямое генетическое моделирование

.

Мол Биол Эвол

.

34

1

:

230

240

.

Haller

BC

,

Galloway

J

,

Kelleher

J

,

Messer

PW

,

Ralph

PL

.

2018

.

Запись древовидной последовательности в SLiM открывает новые горизонты для прямого моделирования целых геномов

.

Mol Ecol Resour

, предварительный доступ, опубликовано 22 ноября 2018 г., DOI: 10.1111 / 1755-0998.12968.

Hixon

MA

,

Pacala

SW

,

Sandin

SA

.

2002

.

Регулирование населения: исторический контекст и современные вызовы открытых и закрытых систем

.

Экология

83

6

:

1490

1508

.

Хобан

S

.

2014

.

Обзор полезности программного обеспечения моделирования популяций в молекулярной экологии

.

Мол Экол

.

23

10

:

2383

2401

.

Kelleher

J

,

Etheridge

AM

,

McVean

G

.

2016

.

Эффективное коалесцентное моделирование и генеалогический анализ для больших выборок

.

PLoS Comput Biol

.

12

5

:

e1004842

.

Kelleher

J

,

Thornton

KR

,

Ashander

J

,

Ralph

PL

.

2018

.

Эффективная регистрация родословных для быстрого моделирования популяционной генетики

.

PLoS Comput Biol

. 14 (11): e1006581.

Messer

PW

.

2013

.

SLiM: моделирование эволюции с выбором и привязкой

.

Генетика

194

4

:

1037

1039

.

Тьюарсон

RP

.

1973

.

Разреженные матрицы

.

Нью-Йорк

:

Академик Пресс

.

Торнтон

KR

.

2014

.

Библиотека шаблонов C ++ для эффективного популяционного генетического моделирования больших популяций в прямом времени

.

Генетика

198

1

:

157

166

.

Райт

S

.

1931

.

Эволюция менделевских популяций

.

Генетика

16

2

:

97

159

.

юаней

X

,

Миллер

DJ

,

Zhang

J

,

Herrington

D

,

Wang

Y

.

2012

.

Обзор моделирования популяционных генетических данных

.

Дж. Comput Biol

.

19

1

:

42

54

.

© Автор (ы) 2019. Опубликовано Oxford University Press от имени Общества молекулярной биологии и эволюции.

Это статья в открытом доступе, распространяемая в соответствии с условиями некоммерческой лицензии Creative Commons Attribution (http://creativecommons.org/licenses/by-nc/4.0/), которая разрешает некоммерческое повторное использование, распространение, и воспроизведение на любом носителе при условии правильного цитирования оригинала. По вопросам коммерческого повторного использования обращайтесь в журналы[email protected]

SLiM 3: дальнейшее генетическое моделирование за рамками модели Райта – Фишера | Молекулярная биология и эволюция

Аннотация

В связи с желанием моделировать генетические процессы популяций в соответствии со все более реалистичными сценариями, прямое генетическое моделирование стало важной частью инструментария современной эволюционной биологии. Структура прямого генетического моделирования SLiM — один из самых мощных и широко используемых инструментов в этой области.Однако было обнаружено, что его основа в модели Райта – Фишера представляет собой препятствие для реализации многих типов моделей; модель Райта-Фишера с ее многочисленными допущениями сложно адаптировать к моделированию экологически реалистичных сценариев, таких как явное пространство, перекрывающиеся поколения, индивидуальные вариации воспроизводства, регулирование популяции в зависимости от плотности, индивидуальные вариации в расселении или миграции, локальное вымирание и реколонизация, спаривание между субпопуляциями, возрастная структура, выживаемость и жесткий отбор на основе пригодности, возникающие соотношения полов и так далее.В ответ на эту потребность мы представляем SLiM 3, который содержит два ключевых усовершенствования, направленных на отмену этих ограничений. Во-первых, новый тип модели, отличной от модели Райта – Фишера или «не WF», обеспечивает гораздо более гибкую основу, которая позволяет легко реализовать все вышеперечисленные сценарии и многие другие. Во-вторых, SLiM 3 добавляет поддержку непрерывного пространства, включая пространственные взаимодействия и пространственные карты переменных окружающей среды. Мы даем концептуальный обзор этих новых функций и представляем несколько примеров моделей, чтобы проиллюстрировать их использование.

Введение

Прямое генетическое моделирование играет все более важную роль в эволюционной биологии из-за их способности моделировать широкий спектр популяционных генетических механизмов и включать высокий уровень экологических деталей в моделируемый сценарий (Карвахал-Родригес 2010; Юан и др. 2012; Bank et al.2014; Hoban 2014; Thornton 2014; Haller and Messer 2017; Haller et al.2018). Фреймворк прямого генетического моделирования SLiM (Messer 2013; Haller and Messer 2017) оказался мощным инструментом для этой цели и представляет собой одну из наиболее широко используемых вычислительных структур для реализации такого моделирования в настоящее время.

Веб-сайт ресурсов генетического моделирования (GSR) Национального института рака содержит обширную базу данных программных средств генетического моделирования (NCI 2018). На момент написания GSR перечислил 42 пакета, поддерживающих прямое моделирование; это включает в себя множество инструментов, которые специализируются на конкретном типе модели, а также некоторые инструменты, которые поддерживают широкий спектр эволюционных сценариев. Популярность SLiM среди этих инструментов основана в первую очередь на трех ключевых атрибутах. Во-первых, он обладает высокой степенью готовности сценариев, что позволяет фундаментально модифицировать и расширять механику структуры SLiM во многих отношениях.В то же время даже довольно сложные эволюционные модели часто могут быть выражены на странице кода или меньше, поскольку весь основной код моделирования предоставляется SLiM, что дает огромные преимущества по сравнению с написанием моделирования с нуля на таком языке, как C ++. Во-вторых, SLiM включает в себя полнофункциональную среду графического моделирования SLiMgui, которая упрощает разработку интерактивных моделей, визуальную отладку и практическое исследование, что дает большие преимущества на протяжении всего процесса моделирования (Grimm 2002).И, в-третьих, большая работа была посвящена оптимизации SLiM, чтобы она работала с максимальной эффективностью в самых разных сценариях моделирования; эти преимущества скорости бесплатно наследуются любой моделью, работающей в SLiM. GSR не обеспечивает сравнения производительности, поэтому пользователи, которым нужна производительность, должны провести свои собственные тесты, прежде чем выбирать конкретный пакет; однако для сравнения функций, доступных в разных пакетах, GSR может быть очень полезным ресурсом.

В наших контактах с пользователями SLiM в последние годы преобладала одна категория вопросов: как можно построить моделирование SLiM, выходящее за рамки стандартной модели Райта – Фишера или модели «WF» (Fisher 1922; Wright 1931)? Эта модель, которая заложила концептуальную основу для всех предыдущих версий SLiM (Messer 2013; Haller and Messer 2017), определяется рядом упрощающих предположений.Например, модель предполагает, что поколения не пересекаются и дискретны, без какой-либо возрастной структуры или возрастной дифференциации между людьми. Другое важное допущение модели заключается в правилах, управляющих производством потомства из родительской популяции; в стандартной модели WF родители каждого ребенка в следующем поколении выбираются случайным образом из предыдущего поколения с вероятностью, пропорциональной физической форме каждого человека. Это затрудняет моделирование различий в размере помета, моногамного спаривания и других подобных явлений.Кроме того, поскольку размер популяции является параметром, определяемым извне в модели WF, часто неясно, как сценарии, в которых размер популяции является возникающей переменной — например, зависящей от таких факторов, как средняя приспособленность, доступная среда обитания и история колонизации — должны быть точно смоделированы в рамках WF.

Учитывая объем упрощающих допущений, лежащих в основе модели WF, желание пользователей SLiM выйти за рамки этой модели принимает разные формы, но можно сказать, что они объединяются вокруг идеи более реалистичной пространственной и экологической динамики.Например, пользователи интересовались, можно ли смоделировать явное перемещение людей по непрерывному ландшафту, жизненные циклы с перекрывающимися поколениями, индивидуальные вариации в воспроизводстве, регулирование популяции в зависимости от плотности, индивидуальные вариации в расселении или миграции, локальное вымирание и повторное заселение. , спаривание между субпопуляциями, возрастная структура, выживаемость и жесткий отбор на основе фитнеса, возникающие соотношения полов и многое другое. Поскольку в SLiM 2 уже было много сценариев, и поэтому многие из его внутренних динамических характеристик можно было изменить с помощью сценариев, иногда можно было обойти ограничения, унаследованные от модели WF; но эти обходные пути часто бывают неуклюжими и трудоемкими, а некоторые типы моделей просто оказалось трудно или невозможно реализовать в SLiM 2.По сути, модель Райта – Фишера не является экологической моделью, и поэтому, если мы хотим продвигаться к объединению генетики и эволюционной биологии с экологией, необходимость в более гибкой основе очевидна.

В ответ на эту потребность мы представляем SLiM 3, который содержит два основных усовершенствования, прямо направленных на устранение этих ограничений. Во-первых, в дополнение к традиционному типу модели Райта – Фишера или WF предыдущих версий SLiM, SLiM 3 поддерживает новый тип модели не Райта – Фишера или «не WF», который обеспечивает гораздо большую гибкость в том, как ключевые процессы, такие как выбор партнера и воспроизведение , миграция, оценка приспособленности, выживание, регулирование популяции и другие связанные области реализованы, что позволяет явно связать эволюционную динамику с экологическими паттернами и процессами.Во-вторых, помимо поддержки дискретных субпопуляций, связанных миграцией, SLiM 3 теперь поддерживает модели, которые занимают непрерывные пространственные ландшафты, включая встроенную поддержку пространственных карт, описывающих характеристики окружающей среды, и локальных пространственных взаимодействий, таких как пространственная конкуренция и выбор партнера. (Поддержка пространственных моделей фактически была введена в SLiM 2.3, но ранее не публиковалась.)

SLiM 3 также содержит много других важных дополнений. Наиболее заметно то, что он добавляет поддержку «записи древовидной последовательности» (также называемой «запись родословной»), метода записи информации о родословной при прямом моделировании (Kelleher et al.2016, 2018). Запись древовидной последовательности может сократить время выполнения моделирования на несколько порядков, позволяя эффективно накладывать нейтральные мутации после завершения прямого моделирования и позволяя чрезвычайно эффективно выполнять нейтральное выгорание с помощью «рекапитации», а также обеспечивает несколько других основных также приносит пользу (Kelleher et al. 2018; Haller et al. 2018). Поддержка SLiM 3 записи в виде древовидной последовательности обсуждается далее в Haller et al. (2018). Другие важные изменения в SLiM 3 по сравнению с SLiM 2.0 (последняя опубликованная версия) включает множество дополнений и улучшений к языку сценариев Eidos (Haller, 2016), множество новых методов, предоставляемых классами Eidos SLiM (Haller and Messer, 2016), и множество улучшений в среде графического моделирования SLiMgui. SLiM 3 также содержит большой объем работы по оптимизации, чтобы моделирование выполнялось быстрее. Стоит также упомянуть еще несколько конкретных улучшений: новый класс Individual, представляющий моделируемых особей, поддержку переменной скорости мутации по хромосоме, новый механизм обратного вызова рекомбинации () для изменения контрольных точек рекомбинации на индивидуальном уровне и вывод в формате VCF, среди прочего. другие (полный список изменений можно найти в руководстве SLiM).

Здесь, однако, мы сосредоточимся на том, что мы считаем наиболее важными новыми функциями в SLiM 3: не-WF моделями и непрерывным пространством, функциями, которые позволяют пользователям выйти за рамки модели Райта – Фишера в SLiM. Мы дадим концептуальный обзор этих функций и продемонстрируем их на нескольких примерах.

Имитационная модель не WF

Возможно, самый простой способ понять модели без WF — это посмотреть, чем они отличаются от модели стандартного типа WF.Наиболее важные различия наблюдаются в следующих обширных областях:

  • Возрастная структура. В моделях WF поколения дискретны и не перекрываются; все люди живут в течение одного поколения, в течение которого они воспроизводятся, а затем умирают. Напротив, в моделях, отличных от WF, поколения могут накладываться друг на друга; люди могут жить в течение нескольких поколений, пока не умрут по какой-либо причине (обычно отбор, старость или невезение). Более фундаментально понятие «поколение» было расширено.В моделях, отличных от WF, каждое поколение представляет собой возможность воспроизвести и / или умереть — дискретизацию этих событий во времени, обеспечивая временную структуру модели, которая может быть основана на часах, днях, сезонах или десятилетиях, но это не обязательно связанные с ожидаемой продолжительностью жизни людей. Люди в моделях, не относящихся к WF, имеют возраст (измеренный в поколениях), популяция, таким образом, имеет возрастную структуру, и модель может реализовать любое желаемое поведение, связанное с возрастом. Цикл генерации в моделях, отличных от WF, сравнивается с циклом в моделях WF на рисунке 1.

  • Потомство. В моделях WF потомство создается путем рисования родителей от особей в предыдущем поколении. Размер популяции — это параметр модели, определяющий, сколько потомков должно быть произведено в каждом поколении; частота самоопыления, частота клонирования и соотношение полов являются аналогичными параметрами на уровне популяции. В отличие от этого в моделях, отличных от WF, сценарий гораздо более непосредственно отвечает за процесс генерации потомства; сценарий запрашивает генерацию каждого потомка на основе индивидуального состояния, а не параметров уровня популяции.Из SLiM поступают вызовы обратных вызовов reproduction (), определенных в сценарии модели, и эти обратные вызовы определяют, какие особи воспроизводятся, как они выбирают помощника или партнеров (если есть), сколько у них потомков и так далее. Таким образом, размер популяции, уровень самоопыления, уровень клонирования и соотношение полов больше не являются параметрами на уровне популяции; вместо этого они являются эмерджентными свойствами модели, следствиями правил, указанных в сценарии, для индивидуальной динамики воспроизводства. Размер популяции, например, становится результатом баланса между коэффициентами рождаемости и смертности, часто (но не обязательно) регулируемым с помощью выбора жизнеспособности в зависимости от плотности, реализованного в модели.

  • Миграция. В моделях WF миграция между популяциями моделируется путем определения доли потомков в данной целевой популяции, происходящих от родителей в данной исходной популяции. Поскольку эта модель миграции приводит к появлению потомства, которое занимает другую популяцию, чем их родители, она больше всего напоминает модель миграции молодых людей. Напротив, в моделях, отличных от WF, миграция снова обрабатывается более непосредственно сценарием модели, который может вызывать метод takeMigrants () для перемещения особей в новую популяцию в любой момент цикла генерации, что позволяет создавать модели, в которых особи мигрируют в молодом возрасте, поскольку взрослые или несколько раз в течение жизни.Этот акцент на миграции на индивидуальном уровне, а не на уровне миграции на уровне населения, учитывает вероятность того, что данный человек будет мигрировать, чтобы гораздо более гибко зависеть от состояния на индивидуальном уровне. Таким образом можно смоделировать широкий спектр сценариев, таких как миграция в зависимости от пола, выбор среды обитания или миграция в зависимости от условий. В таких моделях общая скорость миграции между двумя популяциями снова является эмерджентным свойством, которое зависит от конкретного состава населения и правил миграции, указанных в сценарии, а не от скорости на уровне популяции.

  • Фитнес. В моделях WF приспособленность влияет на вероятность того, что человек будет выбран в качестве родителя для ребенка в следующем поколении; не существует встроенной концепции смертности, вызванной отбором. Таким образом, приспособленность относительна, что приводит к модели так называемого «мягкого» отбора, в котором больший успех для одних обязательно достигается за счет уменьшения успеха для других. Общий размер популяции не зависит от отбора, поскольку это параметр модели, а не эмерджентное свойство лежащей в основе эволюционной и экологической динамики.Напротив, в моделях, отличных от WF, приспособленность напрямую влияет на вероятность выживания каждого человека в течение каждого поколения; люди с низкой физической подготовкой с меньшей вероятностью выживут. Таким образом, приспособленность абсолютна, и выбор в такой модели по умолчанию «сложен»; в результате размер популяции будет естественным образом меняться в зависимости от средней приспособленности популяции (хотя это может быть компенсировано зависимым от плотности отбором или плодовитостью). Конечно, при желании можно смоделировать влияние генетики на репродуктивный успех или плодовитость с помощью обратного вызова репродукции ().

Рис. 1.

Сравнение циклов генерации в моделях WF (слева) и в моделях без WF (справа). Обратите внимание, что модели, не относящиеся к WF, имеют фазу выбора жизнеспособности / выживаемости сразу после пересчета значения приспособленности, тогда как в моделях WF приспособленность влияет на успех спаривания, и отсутствует концепция отбора на основе смертности. События и обратные вызовы показаны красным; это моменты в цикле генерации, когда SLiM обращается к сценарию, чтобы обеспечить настраиваемое поведение.Так называемые события Early () и late () предоставляют часто используемые точки в цикле генерации, когда сценарий модели может вмешиваться в работу SLiM, в начале и в конце каждого поколения соответственно, для выполнения специфичных для модели задач — генерации выходных данных, управлять взаимодействиями между людьми, перемещать людей в пространстве и так далее. Как показано на этом рисунке, в моделях WF события early () идут до генерации потомков, а события late () идут после; в моделях, отличных от WF, события early () происходят после генерации потомков, тогда как события late (), в силу того, что они находятся в конце цикла генерации, в действительности происходят до порождения потомков (когда это происходит в начале следующего поколения).Обратные вызовы, с другой стороны, позволяют сценарию переопределять определенные аспекты поведения SLiM, такие как выбор партнеров, настройка сгенерированного потомства, вычисление эффектов приспособленности или создание пользовательских контрольных точек рекомбинации. Большинство этих обратных вызовов существует как в моделях WF, так и в моделях, отличных от WF, но обратные вызовы mateChoice () существуют только в моделях WF, тогда как обратные вызовы reproduction () существуют только в моделях без WF и обрабатывают выбор партнера, а также другие обязанности, связанные с воспроизведением.

Рис. 1.

Сравнение циклов генерации в моделях WF (слева) и в моделях без WF (справа).Обратите внимание, что модели, не относящиеся к WF, имеют фазу выбора жизнеспособности / выживаемости сразу после пересчета значения приспособленности, тогда как в моделях WF приспособленность влияет на успех спаривания, и отсутствует концепция отбора на основе смертности. События и обратные вызовы показаны красным; это моменты в цикле генерации, когда SLiM обращается к сценарию, чтобы обеспечить настраиваемое поведение. Так называемые события Early () и late () предоставляют часто используемые точки в цикле генерации, когда сценарий модели может вмешиваться в работу SLiM, в начале и в конце каждого поколения соответственно, для выполнения специфичных для модели задач — генерации выходных данных, управлять взаимодействиями между людьми, перемещать людей в пространстве и так далее.Как показано на этом рисунке, в моделях WF события early () идут до генерации потомков, а события late () идут после; в моделях, отличных от WF, события early () происходят после генерации потомков, тогда как события late (), в силу того, что они находятся в конце цикла генерации, в действительности происходят до порождения потомков (когда это происходит в начале следующего поколения). Обратные вызовы, с другой стороны, позволяют сценарию переопределять определенные аспекты поведения SLiM, такие как выбор партнеров, настройка сгенерированного потомства, вычисление эффектов приспособленности или создание пользовательских контрольных точек рекомбинации.Большинство этих обратных вызовов существует как в моделях WF, так и в моделях, отличных от WF, но обратные вызовы mateChoice () существуют только в моделях WF, тогда как обратные вызовы reproduction () существуют только в моделях без WF и обрабатывают выбор партнера, а также другие обязанности, связанные с воспроизведением.

Эти различия можно резюмировать, сказав, что модели, не относящиеся к WF, более индивидуальны, более управляемы сценариями, более эмерджентны и, следовательно, более реалистичны с биологической точки зрения. Однако они также часто более сложны в определенных отношениях, в первую очередь из-за необходимости реализации обратного вызова reproduction () и введения некоторого явного механизма регуляции популяции.Фактически, с возможностью более точного контроля воспроизводства и регулирования численности населения появляется ответственность более подробно обдумывать и конкретизировать эти явления. Популяции могут регулироваться с помощью любого из множества механизмов, от зависящей от плотности плодовитости и конкуренции за ресурсы до хищничества, территориального поведения и стихийных бедствий (Hixon et al. 2002; Begon et al. 2006). Любой из этих механизмов может быть реализован в модели, отличной от WF, но это не делается для вас, как в модели WF; пользователь должен решить, какие механизмы регулирования численности популяции желательны, и реализовать их в сценарии модели.

Чтобы проиллюстрировать относительную легкость, с которой такие модели, отличные от WF, могут быть указаны в SLiM, мы предоставили два примера рецептов (дополнительные примеры 1 и 2, дополнительные материалы онлайн). Первый пример — это очень простая модель, не относящаяся к ВФ, в популяции, где жизнеспособность зависит от емкости популяции; второй пример — более сложная модель, отличная от WF, с моногамным спариванием и влиянием возраста на спаривание и физическую форму.

Модели непрерывного пространства и пространственные взаимодействия

Модели непрерывного пространства в SLiM 3 довольно просты на концептуальном уровне.Непрерывное пространство включается с помощью вызова initializeSLiMOptions (), который обеспечивает размерность: «x» для одного пространственного измерения, «xy» для двух или «xyz» для трех; мы сосредоточимся здесь на 2D-моделях, поскольку это, вероятно, наиболее распространенный случай. Затем у людей есть свойства, представляющие их координаты x и y в непрерывном 2D-пространстве, к которым можно получить доступ и установить. Пространственные границы каждой субпопуляции могут быть настроены пользователем; по умолчанию ландшафт будет охватывать интервал [0,1] в каждом измерении.За установку индивидуальных позиций отвечает модель, и модель определяет, какое использование, если таковое имеется, будет из этих позиций; нет автоматических последствий пространственности для динамики модели. Однако, поскольку существуют общие способы, которыми модели часто хотят, чтобы пространственность влияла на динамику, предоставляются два дополнительных средства: типы взаимодействия и пространственные карты.

Типы взаимодействия поддерживаются новым классом Eidos, InteractionType. Тип взаимодействия определяется с помощью вызова initializeInteractionType () и определяет две вещи: показатель расстояния, который определяет расстояние взаимодействия между двумя людьми, и формулу взаимодействия, которая определяет, как сила взаимодействия между двумя людьми изменяется в зависимости от расстояния между ними. .После того, как тип взаимодействия настроен и оценен, могут быть выполнены пространственные запросы: каковы ближайшие соседи n для данного человека, какова сила взаимодействия между людьми i и j , каково общее взаимодействие сила, оказываемая на особь всеми другими индивидуумами в ее субпопуляции, и так далее. Эти запросы обрабатываются внутри высоко оптимизированными структурами данных, такими как k -d деревья (Bentley 1975) и разреженные массивы (Tewarson 1973), но эти детали полностью скрыты SLiM, обеспечивая способ реализации пространственных взаимодействий, таких как пространственная конкуренция. а также простой и быстрый выбор сопряжения в пространстве.

Пространственные карты не выделяются отдельным классом; вместо этого они привязаны к субпопуляциям. Новую пространственную карту можно определить с помощью вызова метода defineSpatialMap (), а затем значение конкретной пространственной карты в данной точке можно запросить с помощью SpaceMapValue (). К субпопуляции может быть прикреплено любое количество пространственных карт; несколько карт отличаются друг от друга по имени. Каждая карта определяет сетку значений (любого разрешения), которая накладывается на пространственные границы субпопуляции, либо с интерполяцией значений между точками сетки, либо без нее.Масштаб значений карты и придаваемое им значение полностью зависит от модели. Одна карта может определять высоту ландшафта, другую температуру, и каждая из этих карт может иметь последствия для выживания, плодовитости, движения или любого другого аспекта модели.

Поскольку многое из этого может показаться довольно абстрактным, мы снова предоставили два конкретных примера (дополнительные примеры 3 и 4, дополнительные материалы онлайн). Первая модель представляет собой базовую пространственную популяцию с выбором местного партнера и конкуренцией; вторая модель представляет неоднородный ландшафт и пространственную динамику вымирания / реколонизации.

Обсуждение

Мы представили SLiM 3, новую крупную версию структуры прямого генетического моделирования SLiM. SLiM 3 предоставляет множество улучшений по сравнению с предыдущими версиями SLiM, которые подробно описаны в исчерпывающей документации. Здесь мы сосредоточились на двух основных функциях, которые позволяют моделям SLiM 3 выходить за рамки ограничений и допущений модели Райта – Фишера, на которой были основаны все предыдущие версии: тип модели, отличный от WF, и поддержка непрерывного пространства.

Тип модели, отличный от WF, позволяет модели контролировать каждое отдельное событие спаривания. Это упрощает управление характеристиками модели, такими как выбор партнера, плодовитость и индивидуальные вариации в воспроизводстве. В моделях, отличных от WF, приспособленность по умолчанию влияет на выживаемость, а не на вероятность спаривания, что обеспечивает более естественную и реалистичную динамику популяции. Другие важные особенности модели, которые имеют отношение к реалистичной экологии, такие как перекрывающиеся поколения, возрастная структура и реалистичное поведение миграции / расселения, также естественным образом проявляются в этом дизайне.Однако остается возможность построить модель WF, как и в предыдущих версиях SLiM; это может быть особенно полезно, когда кто-то хочет сравнить прямую имитационную модель с аналитической моделью, основанной на предположениях Райта-Фишера.

Аналогичным образом SLiM 3 предоставляет возможность включения непрерывного пространства в модель, но модели дискретных подгрупп, связанных миграцией, также по-прежнему поддерживаются. Когда включено непрерывное пространство, SLiM 3 предоставляет множество полезных инструментов для пространственного моделирования, таких как пространственные карты, которые могут определять характеристики ландшафта, влияющие на динамику модели, и механизм пространственного взаимодействия, который может эффективно вычислять силу взаимодействия между людьми и находить ближайших соседей. человека.SLiMgui также предоставляет полезные визуализации для таких моделей, позволяя легко наблюдать динамику, возникающую из пространственности.

Следует подчеркнуть, что эти особенности действительно совпадают друг с другом; в частности, экологически реалистичные модели, включающие непрерывное пространство, почти всегда должны быть моделями, не относящимися к ВФ. Это связано с тем, что модель WF налагает на симуляцию глобальное регулирование численности населения; общий размер устанавливается для каждой субпопуляции, так что, если плотность увеличивается в одной области пространства (например, из-за иммиграции), абсолютная приспособленность будет эффективно уменьшаться по всему ландшафту.Это можно компенсировать соответствующей шкалой пригодности, но это становится довольно сложным, если есть различия в местной пропускной способности, темпах иммиграции и эмиграции, вариациях плодовитости и т. Д .; Внешний размер популяции моделей WF просто не предназначен для учета локальной плотности населения. С другой стороны, размер и плотность эмерджентного населения в моделях, отличных от WF, автоматически учитывают любые факторы, влияющие на рождение и смерть в модели.Это причина того, что оба представленных нами примера непрерывного пространства не являются моделями WF; влияние на локальную плотность распространения полезной мутации в примере 3 или случайных катастроф в примере 4 было бы чрезвычайно сложно смоделировать в рамках WF.

Многие другие новые функции SLiM 3 здесь существенно не обсуждались. Мы призываем всех пользователей прочитать о записи древовидной последовательности, которая, по нашему мнению, является революционно новым методом, который значительно расширит горизонт возможностей прямого моделирования (Haller et al.2018). Руководство SLiM (Haller and Messer 2016) теперь содержит рецепты и справочную документацию для других новых функций, а руководство Eidos (Haller 2016) теперь документирует новые дополнения к языку Eidos. Особо стоит отметить, что в SLiM 3 была проделана большая работа по оптимизации, и она, как правило, намного быстрее, чем предыдущие версии, особенно для больших моделей с длинными хромосомами, которые могут быть на порядки быстрее, чем в предыдущих версиях. Мы предоставили сравнение производительности (дополнительные результаты, дополнительные материалы в Интернете), которое иллюстрирует эти преимущества и компромиссы производительности, связанные с моделями, отличными от WF, и непрерывным пространством.

SLiM 3 распространяется бесплатно, под лицензией GNU GPL и доступен на GitHub. Однако большинство пользователей захотят загрузить версию выпуска с https://messerlab.org/slim/; обширные руководства с множеством примеров можно загрузить с того же веб-сайта. Мы также рекомендуем пользователям SLiM подписаться на краткий список обсуждений на http://bit.ly/slim-discuss, где объявляются новые версии, и пользователи могут задавать вопросы и получать помощь. Функции, на которых мы здесь сосредоточились, а именно модели, отличные от WF, и непрерывное пространство, позволят реализовать множество сценариев моделирования, которые было бы сложно или невозможно смоделировать в предыдущих версиях SLiM.Мы надеемся, что это откроет новые горизонты как в прикладных, так и в теоретических исследованиях.

Дополнительные материалы

Дополнительные данные доступны на сайте Molecular Biology and Evolution онлайн.

Благодарности

Мы благодарим Джареда Галлоуэя, Джерома Келлехера и Питера Ральфа за их работу над функцией записи в виде дерева в SLiM 3. Также благодарим Хорхе Амайя, Билла Амоса, Хайме Ашандера, Ханнеса Бехер, Эмму Бердан, Йоанна Буоро, Дебору Чарльзуорт, Жан Кьюри, А.П. Джейсон де Конинг, Эмили Деннис, Джордан Ромейер Дерби, Джаред Галлоуэй, Джесси Гарсия, Кимберли Гилберт, Александр Харрис, Ребекка Харрис, Динг Хе, Кэтрин Ходжинс, Кристиан Хубер, Мелисса Джейн Хубиш, Джейкоб Мальте Дженсен, Джером Келлехатри, Бхавин , Бернард Ким, Афанасиос Кусатанас, Бенджамин Лаенен, Стефан Лоран, Эухенио Лопес, Кэтлин Лоттерхос, Михаил Мац, Руперт Маццукко, Маэва Моллион, Мигель Наваскуэс, Грег Оуэнс, Денис Пьерон, Питер Ральф, Дэвид Ринкер, Эндрю Ральф, Эндрю Ринкер, Аарону Самсу, Кирану Самуку, Онралп Сойлемез, Кевину Торнтону, Роберту Анклессу, Христосу Влахосу, Силу Вангу, Аарону Вольфу, Джастину Йе, членам лаборатории Messer и сообществу stackoverflow за их ценные комментарии.Спасибо редактору и двум анонимным рецензентам, а также Питеру Ральфу за полезные комментарии к предыдущим версиям этой рукописи. Это исследование было поддержано фондами Колледжа сельского хозяйства и наук о жизни Корнельского университета, новозеландской программы Predator Free 2050 (номер гранта SS / 05/01) и Национальных институтов здравоохранения (номер гранта R01GM127418) P.W.M.

Список литературы

Банк

C

,

Ewing

GB

,

Ferrer-Admettla

A

,

Foll

M

,

Jensen

JD

.

2014

.

Слишком позитивное мышление? Пересмотр существующих методов популяционного генетического отбора

.

Trends Genet

.

30

12

:

540

546

.

Бегон

М

,

Таунсенд

CR

,

Харпер

JL

.

2006

.

Экология: от человека к экосистемам

.

Хобокен (Нью-Джерси)

:

Уайли-Блэквелл

.

Бентли

JL

.

1975

.

Многомерные бинарные деревья поиска, используемые для ассоциативного поиска

.

Коммуна ACM

.

18

9

:

509

517

.

Карвахаль-Родригес

А

.

2010

.

Моделирование генов и геномов вперед во времени

.

Curr Genomics

.

11

1

:

58

61

.

Fisher

RA

.

1922

.

По коэффициенту доминирования

.

П Рой Соц Эдинб

.

42

:

321

341

.

Гримм

В

.

2002

.

Визуальная отладка: способ анализа, понимания и передачи имитационных моделей снизу вверх в области экологии

.

Nat Resour Модель

.

15

1

:

23

38

.

Haller

BC

,

Messer

PW

.

2017

.

SLiM 2: гибкое интерактивное прямое генетическое моделирование

.

Мол Биол Эвол

.

34

1

:

230

240

.

Haller

BC

,

Galloway

J

,

Kelleher

J

,

Messer

PW

,

Ralph

PL

.

2018

.

Запись древовидной последовательности в SLiM открывает новые горизонты для прямого моделирования целых геномов

.

Mol Ecol Resour

, предварительный доступ, опубликовано 22 ноября 2018 г., DOI: 10.1111 / 1755-0998.12968.

Hixon

MA

,

Pacala

SW

,

Sandin

SA

.

2002

.

Регулирование населения: исторический контекст и современные вызовы открытых и закрытых систем

.

Экология

83

6

:

1490

1508

.

Хобан

S

.

2014

.

Обзор полезности программного обеспечения моделирования популяций в молекулярной экологии

.

Мол Экол

.

23

10

:

2383

2401

.

Kelleher

J

,

Etheridge

AM

,

McVean

G

.

2016

.

Эффективное коалесцентное моделирование и генеалогический анализ для больших выборок

.

PLoS Comput Biol

.

12

5

:

e1004842

.

Kelleher

J

,

Thornton

KR

,

Ashander

J

,

Ralph

PL

.

2018

.

Эффективная регистрация родословных для быстрого моделирования популяционной генетики

.

PLoS Comput Biol

. 14 (11): e1006581.

Messer

PW

.

2013

.

SLiM: моделирование эволюции с выбором и привязкой

.

Генетика

194

4

:

1037

1039

.

Тьюарсон

RP

.

1973

.

Разреженные матрицы

.

Нью-Йорк

:

Академик Пресс

.

Торнтон

KR

.

2014

.

Библиотека шаблонов C ++ для эффективного популяционного генетического моделирования больших популяций в прямом времени

.

Генетика

198

1

:

157

166

.

Райт

S

.

1931

.

Эволюция менделевских популяций

.

Генетика

16

2

:

97

159

.

юаней

X

,

Миллер

DJ

,

Zhang

J

,

Herrington

D

,

Wang

Y

.

2012

.

Обзор моделирования популяционных генетических данных

.

Дж. Comput Biol

.

19

1

:

42

54

.

© Автор (ы) 2019. Опубликовано Oxford University Press от имени Общества молекулярной биологии и эволюции.

Это статья в открытом доступе, распространяемая в соответствии с условиями некоммерческой лицензии Creative Commons Attribution (http://creativecommons.org/licenses/by-nc/4.0/), которая разрешает некоммерческое повторное использование, распространение, и воспроизведение на любом носителе при условии правильного цитирования оригинала. По вопросам коммерческого повторного использования обращайтесь в журналы[email protected]

MesserLab / SLiM: SLiM — это генетически явный программный пакет прямого моделирования для популяционной генетики и эволюционной биологии. Он очень гибкий, со встроенным языком сценариев и имеет кроссплатформенную среду графического моделирования под названием SLiMgui.

SLiM: отбор связанных мутаций

SLiM — это структура эволюционного моделирования, которая сочетает в себе мощный механизм популяционно-генетического моделирования с возможностью моделирования произвольно сложных эволюционных сценариев.Моделирование настраивается с помощью встроенного языка сценариев Eidos, который позволяет интерактивно контролировать практически все аспекты смоделированных эволюционных сценариев. Базовый механизм индивидуального моделирования сильно оптимизирован для моделирования целых хромосом в больших популяциях. Мы также предоставляем графический пользовательский интерфейс в macOS и Linux для простой настройки моделирования, интерактивного управления во время выполнения и динамической визуализации результатов моделирования.

Действия GitHub Трэвис CI Fedora Copr

🚧 В этом репозитории GitHub размещается апстрим , головная разработка версии SLiM и SLiMgui.

⚠️ Конечные пользователи, как правило, не должны использовать эти источники; они могут содержать серьезные ошибки или даже не компилировать .

✔️ Версия SLiM и SLiMgui доступна по адресу http://messerlab.org/slim/.

Лицензия

Copyright (c) 2016-2021 Филипп Мессер. Все права защищены.

SLiM — бесплатное программное обеспечение: вы можете распространять и / или изменять его в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Free Software Foundation, либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.

SLiM распространяется в надежде, что он будет полезен, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Подробнее см. Стандартную общественную лицензию GNU.

Вы должны были получить копию Стандартной общественной лицензии GNU вместе с SLiM. Если нет, см. Http://www.gnu.org/licenses/.

Разработка и обратная связь

SLiM находится в стадии активной разработки, и наша цель — сделать ее максимально полезной.Если у вас есть отзывы или пожелания, или если вы заинтересованы в участии в SLiM, пожалуйста, свяжитесь с Филиппом Мессером по адресу [email protected]. Обратите внимание, что Филипп также ищет аспирантов и постдоков.

Установка

Ищете бинарные пакеты / установщики?

Составление SLiM из исходников

См. Вторую главу руководства SLiM для получения дополнительной информации о сборке и установке, включая инструкции по сборке SLiMgui (среда графического моделирования для SLiM) на различных платформах.Руководство и другие ресурсы SLiM можно найти по адресу http://messerlab.org/slim/.

Цена имитатора пациента ЭКГ

— Симулятор сердечного выброса

SL-8 Многопараметрический симулятор пациента SimSlim® Характеристики:

  • ЭКГ в 12 отведениях:
    • 8 выбираемых частот пульса: 30, 60, 90, 120, 140, 160, 200, 240 ударов в минуту
    • 10 Выбираемых аритмий: NSR с ЖЭ, VTACH, VFIB, Asys, Bigeminy, Pacer, Trigeminy, ST +, 2nd Deg. Блок, прямоугольная волна
    • 8 Банановый штекер, интерфейс
  • Дыхание:
    • 8 выбираемых скоростей: 15, 30, 45, 60, 70, 80, 100, 120 ударов в минуту
  • 4 канала IBP:
    • 8 динамических: 120/80, 60/30, 30/10, 20/10, 125/15, 60/5, 8/2, 4/1 мм рт. Ст.
    • 7 Статический: 0, 25, 50, 100, 150, 200, 250 мм рт. Ст.
  • Моделирование сердечного выброса:
    • 3, 5 и 7 л / м.Кабель-переходник не требуется.
  • Моделирование температуры YSI 700 и 400:
    • 25, 37 и 40 градусов Цельсия
  • Срок службы батареи:
    • Общий срок службы зависит от использования: 5-10 лет, весь день, каждый день. Никакой зарядки или замены не требуется.

Комплектация:

  • (1) SL-8 Симулятор SimSlim
  • (1) Адаптер IBP по выбору клиента
  • (1) Удлинительный кабель IBP, 6 футов.
  • (1) Кабель адаптера температуры
  • (1) Сертификат калибровки

Дополнительные аксессуары: Дополнительные адаптеры IBP

Услуги для многопараметрического симулятора пациента SL-8 SimSlim®:

Служба калибровки OxSim® SL-8 Многопараметрический симулятор пациента SimSlim® Полная проверка и калибровка, вкл.сертификация

Новое достижение в дизайне многопараметрических симуляторов

«Профессиональные инструменты: новые достижения в проектировании многопараметрических симуляторов» опубликовано в журнале TechNation Magazine

Симуляторы электрокардиографии (ЭКГ) — один из наиболее часто используемых инструментов в арсенале биомедицинских инженеров. Эти устройства присутствуют на рынке более 40 лет, но настоящие достижения в области технологий были недостижимы. Pronk Technologies, Сан-Вэлли, Калифорния.компания, специализирующаяся на симуляторах, недавно преодолела технологические препятствия, уменьшив в размерах полнофункциональный симулятор пациента… [ПОДРОБНЕЕ]

Мы используем SimSlim (многопараметрический симулятор пациента SL-8) почти каждый день, от интенсивной терапии до кардиологии, отделения неотложной помощи и отделения интенсивной терапии — действительно, по всей больнице! Его компактный размер легко брать с собой куда угодно!
— Брюс Пейнтон, Медицинский центр Святой Марии, Лонг-Бич, Калифорния

За 12 лет работы BMET я использовал много тренажеров. SimSlim (SL-8) — отличный многопараметрический симулятор.Это потрясающе — в маленьком устройстве так много функций, но при этом оно очень точное. Возможно, лучше всего время автономной работы! Больше не нужно постоянно менять 9-вольтовые батареи.

— Кейси Хаффман, CBET, менеджер участка, больница Verdugo Hills, Глендейл, Калифорния

SimBit: высокопроизводительный, гибкий и простой в использовании популяционно-генетический симулятор

Введение

Эволюционная генетика всегда имела сильную теоретическую базу. По мере того, как наше понимание экологических и эволюционных процессов улучшается, мы изучаем все более и более сложные процессы, математическое моделирование которых становится очень утомительным, если не невозможным.Для таких процессов только численное моделирование может позволить нам выполнить реалистичное моделирование. Фактически, насколько мне известно, первая работа в области вычислительной биологии была проведена одним из отцов популяционной генетики Рональдом А. Фишером (1950).

Сегодня мы находимся в жуткой долине, в которой мы почти можем проводить реалистичные полногеномные модели популяций, но еще не совсем. Моделирование на индивидуальной основе используется для исследования явлений в эволюционной биологии и экологии (например,грамм. Гилберт и др., 2017; Yeaman & Whitlock, 2011), чтобы подвергнуть сомнению сценарии сохранения (например, Cowley, 2008; Halls & Welcomme, 2004), а также используются в статистических настройках, таких как приблизительное байесовское вычисление (рассмотрено в Beaumont, 2010) или с алгоритмом машинного обучения ( например, Schrider & Kern, 2018). Однако такие методы часто очень дороги в вычислительном отношении, и параметризация такого моделирования может занять много времени. Как следствие, многие исследования ограничивают прямое моделирование нереалистично низким числом особей или локусов.

Написать алгоритм для эффективного индивидуального моделирования — непростая задача, поэтому большинство авторов полагаются на существующие гибкие программы моделирования. Однако часто бывает сложно выбрать программу моделирования. Нет никаких объективных способов сравнить и выразить, насколько удобна программа. Кроме того, разные программные пакеты имеют разную производительность для разных сценариев моделирования. Изучение того, как использовать новую программу, может быть длительной и сложной задачей, поэтому многие пользователи просто используют программу, которую они уже знают, или просто выбирают одну программу, которая способна выполнять необходимое им моделирование, не подвергая сомнению ее производительность.Однако, как показано ниже, даже в простых сценариях данная программа может быть в сотни или тысячи раз медленнее, чем другая, что существенно повлияет на выполнимость или уровень тиражирования исследования.

Здесь я представляю SimBit, симулятор популяционной генетики общего назначения, написанный на C ++. SimBit был разработан для обеспечения высокой производительности для широкого спектра сценариев моделирования. SimBit делает это, используя различные представления генетической архитектуры для различных сценариев моделирования.Как пользователь Nemo (Guillaume & Rougemont, 2006), SFS_CODE (Hernandez, 2008; Hernandez & Uricchio, 2015) и SLiM (Haller et al., 2019; Haller & Messer, 2017, 2019), я собрал свой опыт, чтобы сделать SimBit — это программа, которая предлагает новым пользователям быстрое обучение. С помощью простого набора очень гибких команд пользователи могут быстро моделировать самые разные сценарии. SimBit может моделировать широкий спектр сценариев отбора (любой коэффициент отбора и коэффициент доминирования в любом локусе, любое эпистатическое взаимодействие с любым количеством локусов, любые пространственные и временные изменения сценариев выбора и т. Д.), демографические сценарии (любое количество дискретных пятен с конкретным сценарием миграции, жесткий или мягкий выбор, изменение размера участка в зависимости от плодовитости, экспоненциальный или логистический рост, гаметическая или зиготическая дисперсия и т. д.), системы спаривания (любая скорость клонирования и скорость самоопыления, гермафродиты или самцы и самки), различные типы представления генетической архитектуры (биаллельные локусы, QTL и т. д.), а SimBit имеет большое разнообразие инструментов для управления симуляциями и сбора результатов. Наконец, SimBit поставляется с оболочкой R, которая очень удобна для управления созданием множества команд ввода.Эта статья направлена ​​на представление общей работы SimBit и сравнение ее производительности с другими аналогичными программами. Для получения подробной информации о том, как использовать SimBit, обратитесь к руководству.

Демография и экология видов

В текущей версии SimBit предполагает неперекрывающиеся поколения (хотя разные виды могут иметь разное время генерации), диплоидию (хотя можно имитировать гаплоидию) и предполагает дискретные участки (хотя участки могут быть сделаны произвольно маленький, по сути имитирующий сплошное пространство).Вне этих трех предположений SimBit может моделировать самые разные типы сценариев. SimBit может моделировать любое количество пятен с любой матрицей миграции, пропускной способностью, отклонением размера участка от пропускной способности на основе реализованной плодовитости с экспоненциальной или логистической моделью роста (модель роста может быть установлена ​​для каждого патча независимо; подробнее об этом ниже). Каждый патч может быть инициализирован с желаемым размером, и все вышеперечисленные параметры могут изменяться со временем. Распространение может происходить на гаметической или зиготической фазе и может зависеть от средней приспособленности участка (жесткий или мягкий выбор).SimBit также может моделировать несколько видов и их экологические взаимодействия, как описано ниже.

SimBit может моделировать реалистичные изменения в популяции в ответ на среднюю пригодность заплат. Обозначим в момент времени t ожидаемое количество потомков вида s , полученное в патче p как. Обозначим также скорость роста пятен r t, s, p = f Σ w i как произведение f , теоретическую максимальную плодовитость индивидуума, имеющего ( относительный) пригодность 1.0 (устанавливается пользователем) и Σ w i , сумма тонкостей в этом патче. Если пользователь позволяет размеру участка варьироваться от грузоподъемности этого вида и того, что в момент времени t , на участке p , для вида s , грузоподъемность устанавливается на K t, s, p , то ожидаемое количество произведенных потомков соответствует экспоненциальной модели и логистической модели, где N t, s, p — размер участка p видов s на момент времени т .Фактическое количество произведенного потомства, p t, s, p , может быть затем установлено детерминированно или стохастически). С более чем одним патчем это потомство затем распространяется посредством миграции. С одним патчем (или при отсутствии иммиграции и эмиграции для патча p ) N t +1, s, p просто устанавливается на p t, s, p .

В вышеупомянутую схему мы можем добавить тот факт, что различные виды могут влиять друг на друга через свои экологические отношения.Этого можно достичь с помощью «матрицы конкуренции», которая реализует модель конкуренции Лотки-Вольтерра, и / или с помощью «матрицы хищничества», которая реализует модель потребителя-ресурса (или модель хищник-жертва) с линейной скоростью потребления ресурсов ( введение в эти модели в Otto & Day, 2007; пример дискретного времени модели хищник-жертва в Çelik & Duman, 2009). Пусть α i, s будет элементом «матрицы конкуренции», описывающей конкурентное влияние видов i на очаговые виды s .Ожидаемое количество произведенного потомства выражается в виде. Обратите внимание, что эффекты конкуренции могут быть установлены только для видов и участков, имеющих логистический рост. Пусть β i, s будет элементом «матрицы хищничества», описывающей влияние видов i на виды s . Эффект хищничества добавляется к ожидаемому количеству произведенного потомства. В этом последнем уравнении я предположил, что все эффекты β i, s не зависят от размеров участков как причинных, так и реципиентных видов, но на практике пользователь может указать для каждого β i, s , следует ли умножать эффект. размером пятна причинного вида ( N t, i, p ), размером пятна реципиентного вида ( N t, s, p ) или обоими способами.SimBit требует, чтобы все значения по диагонали α с, с = 1,0 и все значения по диагонали β с, с = 0,0. SimBit также может позволить размеру фрагмента превышать допустимую нагрузку K t, s, p до произвольно большого значения, допускающего колебательные или хаотические изменения размеров фрагментов.

Система спаривания

SimBit может имитировать гермафродитов или самцов и самок с произвольным соотношением полов. В каждом случае воспроизводства организм будет клонирован с вероятностью C и сам с вероятностью S .По умолчанию скорость клонирования установлена ​​на 0,0, а скорость самоопыления установлена ​​на 1 / 2N (модель Райта-Фишера), но они могут быть установлены пользователем.

Типы локусов и отбор

Различные программы используют разные представления генетической изменчивости. Например, Nemo представляет гаплотип человека с помощью массива, в котором элемент n -го массива указывает аллельное значение для локуса n -го . В SLiM гаплотип каждого человека представлен контейнером мутаций (где каждая мутация — это объект, который хранит свое положение и другие связанные функции как атрибуты).В SFS_CODE гаплотип представлен связанным списком мутаций. Эти различные представления генетической изменчивости имеют важные последствия для производительности программного пакета. Ожидается, что метод Nemo будет хорошо работать при высоком генетическом разнообразии на локус, в то время как SLiM и SFS_CODE будут работать лучше при низком генетическом разнообразии на локус. Nemo также имеет QTL, а SLiM может имитировать QTL через Eidos (язык программирования, используемый для параметризации моделирования SLiM). Эти различные представления также влияют на гибкость и производительность программы.

SimBit реализует пять различных представлений генетической вариации, называемых T1, T2, T3, T4 и T5. Я называю эти представления типами локусов. Типы локусов T1, T4 и T5 представляют собой бинарные локусы. SimBit имеет несколько представлений бинарных локусов, чтобы поддерживать гибкость и высокую производительность в широком диапазоне генетического разнообразия и сценариев моделирования. Локус типа T2 представляет блоки, которые подсчитывают мутации, локус типа T3 представляет QTL и все три типа.Более подробная информация об этих пяти типах представлений приведена ниже. Локусы разных типов объединены на одной рекомбинационной карте. Скорость рекомбинации может быть указана между любой парой соседних локусов (независимо от того, относятся ли эти два локуса к одному типу или нет) с любым количеством хромосом. Скорость мутации также может быть установлена ​​независимо для каждого локуса.

Для ряда типов локусов (см. Ниже) SimBit может использовать предположение о сценарии выбора, которое может обеспечить существенное улучшение времени выполнения.Я называю это предположение предположением «мультипликативной пригодности». Предположение о мультипликативной пригодности предполагает 1) мультипликативные взаимодействия между локусами и 2) что пригодность трех возможных генотипов в данном локусе составляет 1, 1– s и (1– s ) 2 . Когда пользователь делает это предположение, SimBit разбивает гаплотип на блоки и вычисляет значение пригодности для каждого блока. Если во время воспроизведения в данном блоке не происходит событий рекомбинации, то SimBit не нужно будет повторно вычислять пригодность для этого конкретного блока, поскольку пригодность блока может быть просто умножена на пригодность того же блока в другом гаплотипе.По умолчанию SimBit пытается оценить оптимальный размер этих блоков, но пользователь также может явно указать положение и расположение каждого блока. Этот метод дает существенное улучшение производительности с точки зрения процессорного времени, особенно когда скорость рекомбинации внутри блоков относительно низкая (см. Раздел «Производительность» ниже). Следовательно, если точное соотношение доминирования не имеет решающего значения, обычно рекомендуется использовать это предположение.

Генетическая архитектура может быть установлена ​​независимо для каждого вида, и все сценарии выбора, представленные ниже, могут быть установлены отдельно для каждого вида, среды обитания и времени.По умолчанию все участки принадлежат одной и той же среде обитания, но пользователь может назначить каждый участок определенной среде обитания, и все давления отбора, описанные ниже (включая эпистаз), могут быть указаны для каждой среды обитания независимо. Также отбор может применяться по жизнеспособности и / или плодовитости.

Локусы T1

Локусы T1 отслеживают бинарные переменные (например, мутированный или дикий тип). SimBit имеет в памяти для каждого гаплотипа массив бит, длина которого равна количеству смоделированных локусов T1. Бит n th указывает, мутирован ли локус n th T1 этого гаплотипа или нет.Таким образом, локусы T1 в чем-то похожи на генетическое представление Немо. Локусы T1 обладают высокой производительностью для моделирования с очень высоким генетическим разнообразием по локусам.

Сценарии отбора по локусам T1 чрезвычайно гибкие. Пользователь может установить значения пригодности для каждого из трех возможных генотипов в каждом локусе с учетом любого сценария доминирования, включая избыточное и недостаточное доминирование. Также могут быть указаны любые эпистатические взаимодействия между любым количеством локусов. Пользователь также может использовать предположение о «мультипликативной пригодности» по локусам T1.

Локусы Т2

Локусы Т2 предназначены для представления агрегированных блоков локусов, и SimBit подсчитывает количество мутаций, происходящих в этом блоке. Этот тип следует использовать только тогда, когда 1) генетическое разнообразие по локусу T2 очень велико, 2) когда производительность является серьезной проблемой, 3) пользователь удовлетворен сценарием ограниченного выбора, который он может моделировать, и 4) простым подсчетом количество мутаций, происходящих в локусе Т2 для каждого гаплотипа, является достаточным результатом. Отбор на T2 вынужден иметь мультипликативный эффект среди гаплотипов (поэтому локусы T2 всегда используют предположение о «мультипликативной пригодности»).

Локусы T3

Локусы T3 являются локусами количественных признаков (QTL) и кодируют n -мерный фенотип. Пользователь может установить фенотипический эффект каждого локуса T3 на каждой из осей n фенотипа, и эти фенотипические эффекты также могут зависеть от окружающей среды, чтобы имитировать пластический ответ. Пользователь также может добавить случайный шум развития (взятый из распределения Гаусса) в производство фенотипа, чтобы уменьшить наследуемость. Для локусов T3 пользователь может определить среду пригодности, где физическая форма человека определяется его фенотипом.

Локусы T4

Для локусов T4 SimBit вычисляет сливающееся дерево популяции с течением времени и добавляет мутации в дерево, когда пользователь запрашивает выходные данные. Как следствие, локусы Т4 обязательно нейтральны. Локусы Т4 взяты из работы Kelleher et al. (2018), а метод уже реализован в SLiM (Haller et al., 2019). Техника регистрации деревьев может быть очень многообещающей при работе с большим количеством тесно связанных нейтральных локусов. Этот метод позволяет симулятору прямого времени работать наравне с симуляторами обратного времени для некоторых экстремальных сценариев симуляции, сохраняя при этом многие преимущества симуляций вперед во времени, таких как имитация выбора в других локусах (Haller et al., 2019).

Локусы T5

Локусы T5 очень похожи на локусы T1 (два моделирования с одним и тем же случайным начальным значением, отличающиеся только тем, что один использует локусы T1, а другой использует локусы T5, дадут одинаковый результат). Для каждого гаплотипа SimBit имеет динамический отсортированный массив с положением каждого мутировавшего локуса T5. Таким образом, локусы T5 в некоторой степени похожи на то, как SLiM отслеживает свою генетическую архитектуру. Таким образом, при высоком генетическом разнообразии SimBit отслеживает множество мутировавших локусов, в то время как при низком генетическом разнообразии SimBit отслеживает несколько мутировавших локусов.По этой причине локусы T5, как правило, работают лучше, чем локусы T1, для генетического разнообразия от умеренного до низкого на локус.

За кадром SimBit будет отслеживать отдельно локусы T5, которые находятся в процессе отбора, и локусы T5, которые являются нейтральными, для повышения производительности. SimBit также может сжимать информацию о локусах Т5 (нейтральных и / или выбранных) в памяти. Сжатие сокращает использование оперативной памяти в 2 раза и может увеличивать или уменьшать время ЦП в зависимости от сценария моделирования. По умолчанию SimBit выполняет это сжатие только для нейтральных локусов T5 и только тогда, когда он уверен, что это улучшит производительность.Для опытных пользователей также можно попросить SimBit инвертировать значение некоторых локусов в зависимости от их частот. Например, если локус 23 является фиксированным или квазификсированным, гаплотипы будут отслеживать этот локус 23 rd , только если они несут немутантный аллель.

С локусами Т5 можно указать значения приспособленности генотипов гетерозигот и двойных мутантов, только допуская все типы доминирования, включая сверхдоминирование и недостаточное доминирование. Как и в случае локусов T1 (и локусов T2), пользователь может воспользоваться предположением о «мультипликативной пригодности».

Инициализация

В SimBit существует несколько опций для инициализации и сброса генома существующих людей. Размер участка, а также генетическое разнообразие для каждого локуса можно установить при инициализации. Затем пользователь может выполнить любую желаемую мутацию в заранее определенное время с помощью опции —resetGenetics. Чтобы упростить пользовательский интерфейс, SimBit также позволяет пользователю определять «отдельные типы» (с помощью параметра —individualTypes). Затем эти отдельные типы можно использовать либо для инициализации популяции, либо для вставки (или замены) новых особей в любой патч в произвольные моменты (также с помощью опции —resetGenetics).Например, можно создать отдельные типы, принадлежащие большим гипотетическим пятнам, и смоделировать иммиграцию из этих гипотетических пятен, просто введя эти отдельные типы в фокусное пятно. Это ускоряет моделирование, поскольку SimBit явно не моделирует эти большие исходные исправления. Также можно запустить моделирование с отдельных лиц из предыдущего моделирования, которые были сохранены в двоичных файлах. Двоичные файлы особенно полезны для 1) предотвращения многократного моделирования выгорания, 2) возобновления моделирования с промежуточной точки времени и 3) сохранения всей генеральной совокупности в компактном формате для последующего извлечения конкретной сводной статистики.

Выходы

Выходы часто являются очень ограничивающими факторами для популяционных генетических симуляторов (Hoban et al., 2012). SimBit может производить 30 различных типов выходных данных (которые могут быть дискретизированы в любом количестве поколений на протяжении моделирования). Эти выходные данные включают, но не ограничиваются, полные генотипы каждого человека в метапопуляции, частоты аллелей, F ST , файлы VCF, пригодность (с указанием пригодности для каждого типа локуса), размеры участков, время исчезновения различных видов, полная генеалогия между двумя указанными поколениями, двоичные файлы всей популяции (которые могут быть повторно использованы для будущих симуляций или просто для получения итоговой статистики позже).Многие из этих выходов могут быть ограничены определенным подмножеством локусов. SimBit также может моделировать ошибки секвенирования перед выдачей выходных данных, чтобы упростить сравнение результатов с эмпирическими данными.

Пользовательский интерфейс

SimBit считывает параметры либо непосредственно из командной строки, либо через входной файл. Важной целью SimBit является создание пользовательского интерфейса, который принимает вводимые данные в удобочитаемом формате и в очень простом формате, чтобы дать пользователям хорошее представление о том, что они моделируют, и предлагать очень явные сообщения об ошибках, когда ввод не имеет смысла.SimBit распознает определенные параметры, поскольку они начинаются с двойного тире (‘-‘). Например, «—patchCapacity unif 1e4» указывает, что пропускная способность одинакова (ключевое слово «unif») для всех исправлений и установлена ​​на 10 000. Порядок этих опций не имеет значения. SimBit также предоставляет ряд макросов, которые в основном основаны на функциях R. Эти входные данные можно прочитать либо непосредственно из командной строки, либо из файла. SimBit также поставляется с оболочкой R.

Чтобы быть быстрым и простым в освоении, SimBit предоставляет множество функций с относительно небольшим количеством опций.Это достигается за счет того, что большинство опций специфичны для поколения, среды обитания и / или вида, и используются определенные маркеры, @G, @H и @S для ввода информации, относящейся к поколению, среде обитания и видам-видам, соответственно. Например, запись - N @ G0 unif 100 @ G5e3 unif 1000 запрашивает, чтобы пропускная способность всех исправлений была единообразно (ключевое слово unif ) равной 100 от поколения 0 до поколения 4999, а затем устанавливалась на 1000 до тех пор, пока конец симуляции.Кроме того, в большинстве опций предусмотрены различные режимы ввода данных. Например, для сценария миграции пользователь может указать всю матрицу рассеяния или может просто указать модель острова, линейную модель ступеньки или гауссово ядро ​​рассеивания. Ниже я сравниваю SimBit с другими программами. Примеры вводов командной строки для SimBit для этих симуляций, результаты которых показаны на рисунках 1, 2, S1, S2, S3 и S4, а также для имитаций на рисунке 3, находятся в приложении A.Вот пример входного файла, используемого для этого теста. Пожалуйста, смотрите руководство для получения дополнительной информации.

Рисунок 1:

Сравнение времени вычислений между четырьмя различными способами моделирования одного и того же эволюционного сценария с помощью SimBit. Результаты здесь только для подмножества параметров (исключая N = 100, N = 10 6 и все сценарии, где скорость рекомбинации между соседними локусами отличается от 10 -7 ). Другие сценарии показаны на рисунке S1. Сравнение использования памяти (максимальный размер резидентного набора) показано на рисунке S2.Моделирование, которое превысило 10 дней (240 часов) времени моделирования или 20 ГБ памяти, было прервано, и ниже сообщается с пустой точкой через 240 часов (8,64 × 10 5 секунд). Полужирный шрифт M означает использование предположения о мультипликативной пригодности.

Рисунок 2:

Сравнение времени вычислений в четырех различных программах моделирования Nemo, SFS_CODE, SLiM и SimBit. Для SimBit отображаются две строки, показывающие наилучшие результаты между локусами T1 и T5 из рисунка 1, один раз воспользовавшись предположением о мультипликативной пригодности, один раз без использования этого предположения.Для сравнения, SLiM и Nemo не могут воспользоваться этим предположением, в то время как SFS_CODE вынужден сделать это предположение. Другие сценарии показаны на рисунке S3. Сравнение использования памяти (максимальный размер резидентного набора) показано на рисунке S4. См. Рисунок 1 для более подробной информации.

Рисунок 3:

Сравнение процессорного времени между четырьмя программами для воспроизведения моделирования, основанного на трех недавних статьях, а также для нейтрального сценария моделирования с экстремальными параметрами, выбранными, чтобы подчеркнуть возможное преимущество локусов T4 (запись дерева).Полужирный шрифт M означает использование предположения о мультипликативной пригодности. Моделирование SFS_CODE из «Пример нейтрального моделирования», а также модели SFS_CODE и Nemo из «Населения предков человека» были намеренно уничтожены после превышения в 50 раз процессорного времени SimBit для того же моделирования.

SimBit также поставляется с оболочкой R, которая особенно полезна для создания многочисленных имитаций ввода. Не вдаваясь в подробное описание работы оболочки, давайте рассмотрим полный пример кода, который будет проверять, как разные скорости миграции и количество исправлений в островной модели влияют на F ST .Первым шагом является создание сетки параметров («data.frame»), где каждая строка содержит информацию для одного моделирования. Мы будем использовать полный факторный план с тремя различными скоростями миграции и семью разными количествами исправлений. Мы запустим 20 повторов для каждой из этих 3 × 7 = 21 комбинаций, в результате чего получится сетка параметров из 420 строк. Аргумент «outputFilePrefix» устанавливает столбец с именем «outputFile» с заданным префиксом, за которым следует номер строки. Этот столбец будет использоваться для установки того, куда должны быть направлены выходы.

Второй шаг — пройти по строкам таблицы параметров, чтобы запустить симуляции (или создать входной файл для их последующего запуска). Для этого мы используем функцию GetParameterGridData , которая для каждого столбца сетки параметров устанавливает переменную с именем, равным имени столбца, и значением, равным значению этого столбца в указанной строке указанной сетки параметров. задано во входных данных.

Аргумент maxNbThreads — простой способ распараллелить симуляции. maxNbThreads = 24 не означает, что данное моделирование будет использовать 24 потока (каждое моделирование занимает один поток), но что метод run запустит 24 моделирования в фоновом режиме, а затем будет ждать завершения одного из них перед запуском 25 th симуляция. Пожалуйста, обратитесь к руководству для получения дополнительной информации о методе run . Иногда более практично распечатать входную команду в файл и запустить моделирование из оболочки позже.Этого можно добиться с помощью input $ print («/ path / to / input.txt») . Наконец, последний шаг — собрать результаты и построить график результатов. Для сбора выходных данных мы используем функцию gatherData . Эта функция использует ряд необязательных параметров (см. Руководство), но параметры по умолчанию отлично подходят для нашего простого примера.

В этом простом примере все исследование (определение параметров, создание входных данных, запуск моделирования, сбор и построение графиков результатов) занимает 16 строк кода (16 выражений; включая загрузку пакетов, исключая фигурные скобки; и оно может сводится только к 7 строкам)! Столбец «FST_WeirCockerham_ratioOfAverages», используемый для построения графика, соответствует оценке Weir & Cockerham (1984) для F ST .Результирующий график показан на рисунке S5, к которому добавлены теоретические ожидаемые значения F ST из Charlesworth (1998) для сравнения.

Сравнение программ — производительность

Пользователю часто бывает трудно понять, какую программу использовать для данного исследования. Действительно, в нескольких статьях сравниваются функции программ (но см. Hoban, 2014, который сравнивает гибкость программного обеспечения), и когда авторы публикуют новую программу, они не всегда сравнивают ее производительность с другими аналогичными программами (но см. Сравнение производительности SLiM, SFS_CODE и fwdpp. в Haller & Messer, 2017).

В этой статье я сравнил производительность SimBit с тремя программами прогнозирования во времени; SFS_CODE (Hernandez, 2008; Hernandez & Uricchio, 2015), SLiM (Haller et al., 2019; Haller & Messer, 2017, 2019; Messer, 2013) и Nemo (Guillaume & Rougemont, 2006). Я выбрал эти три программы, потому что все они являются платформами прямого моделирования, все они могут моделировать выбор, все они популярны (392 цитирования среди статей, анонсирующих SLiM, SLiM2, SLiM3 и реализацию последовательностей записи дерева в SLiM; 127 цитирований для Nemo; 216 цитирований для SFS_CODE; по состоянию на 23 апреля 2020 года в Google Scholar) и обычно считаются наиболее производительным доступным программным обеспечением.

SimBit содержит ряд параметров, предназначенных для улучшения его производительности (см. Раздел «Параметры производительности» в руководстве). Однако на практике большинству пользователей, вероятно, потребуется только выбрать тип локусов для моделирования, и SimBit сделает достойную работу, чтобы выяснить, как лучше всего моделировать его. Однако, чтобы наилучшим образом представить производительность, которую новый пользователь должен ожидать от SimBit, все характеристики моделирования (время ЦП и использование памяти), представленные ниже, выполняются с параметрами SimBit по умолчанию.

Чтобы сравнить производительность программы, я провел базовое моделирование с единственной популяцией Райта-Фишера, равномерной скоростью мутаций и равномерной скоростью рекомбинации. Все локусы испытали коэффициент отбора s = 0,00001 и h = 0,5. Низкие коэффициенты отбора были выбраны, чтобы: 1) не допустить, чтобы какое-либо программное обеспечение выдавало ошибку, указывающую, что оно может страдать от ошибок округления, вызванных низким средним соответствием, и 2) уменьшать влияние предположения о мультипликативной пригодности среди гаплотипов в моделируемом сценарии (различия приспособленности между симуляции, которые используют предположение о мультипликативной пригодности, и те, которые этого не делают, имеют порядок 10 −11 ).Обратите внимание, что хотя SimBit может воспользоваться этим предположением о мультипликативной пригодности по запросу, SFS_CODE вынужден сделать это предположение, а Nemo и SLiM не могут воспользоваться этим предположением. Я варьировал скорость мутации (принимая значения 10 -7 , 10 -5 и 10 -3 на локус), скорость рекомбинации (принимая значения 0, 10 -9 и 10 -7 и 10 −5 на соседний локус), несущей способности (принимая значения 10 2 , 10 3 , 10 4 , 10 5 и 10 6 диплоидных особей) и количества локусов (принимая значения 6, 6 × 10 2 , 6 × 10 4 и 6 × 10 6 ) в полном факторном плане.Все моделирование длилось 10 000 поколений. Я провел эти симуляции с Nemo (версия 2.3.46), SLiM (версия 3.1), SFS_CODE (версия 20150910) и SimBit (версия 4.11.0). Поскольку использовать весь потенциал Nemo нетривиально, для Nemo входные файлы, используемые для этих тестов, были созданы непосредственно Фредериком Гийомом. Чтобы сравнить поведение различных типов локусов и сценариев выбора в SimBit, я провел все моделирование четыре раза в SimBit с типами локусов T1 и T5 с использованием и без использования предположения о мультипликативной пригодности гаплотипов.Сообщается о процессоре и максимальном использовании размера резидентного набора (RSS; память). Моделирование, которое превысило 10 дней (240 часов) времени моделирования или 20 ГБ используемой памяти, было прервано и показано ниже с точкой в ​​240 часов (8,64 × 10 5 секунд в единицах, используемых на рисунках) и 20 ГБ (2 × 10 7 кбайт в единицах, используемых на рисунках). Все эти симуляции были запущены на процессоре Intel Xeon X5650, а коды были скомпилированы с помощью gcc-4.8.2rev203690. Я удостоверился, что количество SNP существенно не различается между всеми четырьмя программами для трех тестируемых сценариев моделирования.

Для краткости и поскольку изменение скорости рекомбинации очень мало влияет на результаты (только SFS_CODE, по-видимому, значительно замедляется при более высоких скоростях рекомбинации), я показываю только скорость рекомбинации 10 −7 и только пропускную способность 10 3 , 10 4 и, 10 5 на основных фигурах. Остальные тесты можно найти в дополнительных материалах. На рисунке 1 сравнивается время ЦП в симуляциях SimBit (T1 против T5 и с vs.без использования предположения о мультипликативной пригодности гаплотипов) для подмножества сценариев. На рисунках S1 и S2 сравниваются, соответственно, время ЦП и использование памяти в симуляциях SimBit для всех сценариев. На рисунке 2 сравнивается время ЦП Nemo, SLiM, SFS_CODE и SimBit для подмножества сценариев. На рисунках S3 и S4 сравниваются, соответственно, время ЦП и использование памяти Nemo, SLiM, SFS_CODE и SimBit.

Как и ожидалось, локусы T1 лучше всего работают при высоком генетическом разнообразии на локус, в то время как локусы T5 работают лучше всего при умеренном или низком генетическом разнообразии на локус (рисунок 1).Это связано с тем, что с локусами T5 SimBit отслеживает мутировавшие локусы, в то время как с локусами T1 SimBit отслеживает каждый локус, независимо от того, мутировал он или нет (см. Выше раздел «Представления генетической архитектуры»).

Моделирование, использующее предположение о мультипликативной пригодности, в целом работает лучше. Это преимущество уменьшается по мере усиления рекомбинации. Для диапазона исследованных скоростей рекомбинации (до 10 -5 среди соседних локусов) моделирование, использующее предположение о мультипликативной пригодности, всегда превосходило модели, в которых это предположение не использовалось.Причина, по которой скорость рекомбинации имеет значение для производительности, заключается в том, что, как объяснено в разделе «Типы локусов и отбор», SimBit необходимо повторно вычислить пригодность для блока пригодности только в том случае, если событие рекомбинации происходит в этом блоке при использовании предположения мультипликативной пригодности.

Сравнение различных программ показывает, что не существует одной программы, которая всегда работает лучше всего (рисунок 2; рисунок S3). Однако, в отличие от всего другого протестированного программного обеспечения, SimBit демонстрирует высокие показатели во всех рассмотренных сценариях моделирования.Процессорное время SFS_CODE и пиковый RSS возрастают экспоненциально с увеличением скорости мутаций и размера популяции (см. Также моделирование, выполненное Райаном Эрнандесом на веб-сайтах SFS_CODE; sfscode.sourceforge.net/SFS_CODE/Performance.htlm). Следовательно, SFS_CODE хорошо работает для моделирования с очень низким генетическим разнообразием, но он быстро становится очень медленным по мере увеличения генетического разнообразия.

Nemo наиболее конкурентоспособен при высоком генетическом разнообразии на локус (высокая частота мутаций и большой размер популяции).Это было ожидаемо, потому что Nemo отслеживает каждый локус для каждого гаплотипа независимо от того, мутирован он или нет. Фактически, с высоким генетическим разнообразием Nemo иногда работает быстрее, чем SimBit, когда SimBit не использует преимущества мультипликативной пригодности (серые точки на рисунках 2 и S3). Nemo никогда не превосходил SimBit с точки зрения использования памяти (рисунок S4) или с точки зрения процессорного времени, когда SimBit использует мультипликативное предположение.

SLiM, как и SFS_CODE, лучше всего работает при очень низком генетическом разнообразии.Однако время вычислений SLiM не так экспоненциально, как SFS_CODE, что делает SLiM быстрым для более широкого диапазона сценариев моделирования. SLiM имеет тенденцию работать лучше, чем SimBit, при небольшом генетическом разнообразии, в то время как SimBit имеет тенденцию работать лучше, когда существует умеренное или высокое генетическое разнообразие. В целом, сравнение производительности с точки зрения использования памяти (рисунки S2, S4) хорошо отражает сравнение производительности с точки зрения процессорного времени (рисунки S1, S3).

Разница в производительности — это не просто вопрос, придется ли пользователю ждать немного дольше, чтобы получить результат; часто это разница между выполнимостью исследовательского проекта или его невозможностью.Логарифмическая шкала на рисунках S1 и S2 (и дополнительных рисунках) может дать читателю ложное представление о важности наблюдаемой разницы. Рассмотрим, например, сценарий моделирования, где r = 10 −7 , N = 10 3 , µ = 10 −7 и 6 локусов, в которых SLiM превосходит SimBit. SLiM работает за 16 секунд, а SimBit — за 37 секунд. Теперь рассмотрим сценарий моделирования, где r = 10 −7 , N = 10 5 , µ = 10 −7 и 6 × 10 4 локусов.SimBit (с предположением мультипликативной пригодности) работает за ~ 4 часа, в то время как SLiM работает за ~ 19 часов, Nemo работает более чем за 3 дня, а SFS_CODE не успевает завершить работу в пределах 10-дневного лимита. Чтобы продолжить сравнение между SLiM и SimBit в качестве примера, из рисунка 2, сценарий моделирования, где SLiM является сравнительно самым быстрым, SLiM в 2,56 раза быстрее, чем SimBit; SimBit занял 41 секунду, а SLiM — всего 16 секунд. Для сценария моделирования, в котором SimBit сравнительно самый быстрый, SimBit (как минимум) в 1169 раз быстрее, чем SLiM; SimBit взял ∼12.3 минуты, в то время как SLiM был отключен после превышения установленного времени в 240 часов. Эти различия в производительности могут стать решающим фактором того, что может быть достигнуто для исследовательского проекта.

Эти очень простые сценарии моделирования, протестированные выше, могут не соответствовать тому, что люди действительно хотят моделировать. Поэтому я провел дальнейшее тестирование, сравнив производительность Nemo, SLiM, SFS_CODE и SimBit для моделирования, вдохновленного недавними статьями. Я отобрал три статьи, в одной из которых выполнялось моделирование с помощью SFS_CODE (O’Neill et al., 2019), один выполнял моделирование с помощью Nemo (Gilbert et al., 2017), а другой выполнял моделирование с помощью SLiM (Booker & Keightley, 2018). Чтобы упростить написание команд и убедиться, что сравнение справедливо, я упростил моделирование Букера и Кейтли (2017), предположив постоянную частоту мутаций и частоту рекомбинации, и использовал гамма-распределение эффектов приспособленности со средним значением 0,05 и альфа-параметр 0,111. Для Gilbert et al. (2017), модели также были немного изменены по сравнению с оригиналом.В исходной статье указано «ядро размножения», которое может работать только в модифицированной версии Nemo, которая напрямую не публикуется на официальном сайте Nemo. Следовательно, для Gilbert et al. (2017), я удалил breeding_kernel и соответствующим образом изменил размер ядра дисперсии. Для простоты (поскольку исходный входной файл был размером 390 МБ), я также использовал линейную модель ступеньки из 8000 патчей, начиная с 1000 крайних левых патчей при пропускной способности, а остальные пустые.Я убедился, что скорость расширения у двух программ была одинаковой. Для справедливости я сравнил Nemo и SLiM, которые не могут воспользоваться преимуществом предположения о мультипликативной пригодности, с SimBit, который не делает этого предположения, в то время как я сравнил SFS_CODE, который вынужден сделать это предположение, с SimBit, который делает это предположение. Я также выполнил тест, вдохновленный геномом человека и демографией предков человека. Я моделирую 500 участков по 100 особей в каждой в линейной модели ступеньки со скоростью миграции к любому из двух соседних участков равной 0.2. Геном содержал 2 × 10 8 сайтов с равномерной скоростью мутаций 2 × 10 −8 и равномерной скоростью рекомбинации 10 −8 . Для простоты все локусы проходили очищающий отбор с постоянным коэффициентом отбора 0,0001 и коэффициентом доминирования 0,5. Наконец, я добавил тестовый образец простого сценария моделирования Райта-Фишера (N = 1000, µ = 10 −5 , 10 6 локусов, r = 0; 5000 поколений) без отбора. Нейтральные локусы можно отслеживать с помощью сливающегося дерева как для SLiM (с древовидной записью и последующим анализом полученного двоичного файла в Python), так и для SimBit (с локусами T4).Эти симуляции были запущены на процессоре Intel i7-8559u, а коды были скомпилированы с помощью clang-800.0.42.1.

SimBit систематически превосходит программное обеспечение, используемое в исходных документах (рис. 3). Для моделирования, основанного на генетике человека и древней человеческой популяции, SimBit превзошел SLiM независимо от того, использовалось ли в нем предположение о мультипликативной пригодности или нет. Наконец, что касается «примера нейтрального моделирования», метод записи объединенного дерева как в SLiM, так и в SimBit значительно превосходит более традиционные методы (рис. 3).При использовании «традиционных методов» SLiM, Nemo и SimBit заняли 8 минут 29 секунд, 4 минуты 05 секунд и 1 минуту 18 секунд, соответственно, в то время как при использовании методов записи объединенного дерева SLiM и SimBit заняли всего 16,6 секунды и 1,2 секунды соответственно. Здесь я рассмотрел только крайний сценарий, чтобы проиллюстрировать возможное преимущество методов записи в виде дерева. Например, я использовал нулевую скорость рекомбинации. При более высоких скоростях рекомбинации время вычислений для методов записи в дерево стало бы медленнее, в то время как это не оказало бы большого влияния на прогоны, в которых не использовалась методика записи в дерево.

Моделирование Intel® FPGA — ModelSim * -Intel® FPGA

Цена Бесплатно
Лицензия не требуется

1995 $ включает обновления программного обеспечения на один год

1,695 $ за продление

Купить

Примечание: Для программного обеспечения ModelSim * -Intel® FPGA edition требуется действующая лицензия. Срок действия лицензии на программное обеспечение ModelSim * -Intel® FPGA edition истекает через 12 месяцев с даты покупки.Каждые 12 месяцев вы должны повторно создавать файл лицензии в Центре лицензирования самообслуживания, чтобы продлить лицензию на конкретную версию программного обеспечения ModelSim * -Intel® FPGA edition, которую вы приобрели.

Поддержка программного обеспечения Intel® Quartus® Prime Design Программное обеспечение Intel® Quartus® Prime lite edition, standard edition и pro edition Программное обеспечение Intel® Quartus® Prime lite edition, standard edition и pro edition
Поддержка устройства

Все устройства Intel® FPGA

(включая Intel® MAX® CPLD, Intel® Arria®, Intel® Cyclone® и Intel® Stratix® series Intel® FPGA)

Все устройства Intel® FPGA

(включая Intel® MAX® CPLD, Intel® Arria®, Intel® Cyclone® и Intel® Stratix® series Intel® FPGA)

Поддержка разных языков Поддержка смешанного языка Поддержка смешанного языка
Поддержка операционной системы (ОС) Windows *, Linux * (подробнее) Windows *, Linux * (подробнее)
Опора конструктивного размера

Малые конструкции

Ограничение на 10 000 исполняемых строк

Примечание. Программное обеспечение ModelSim * -Intel® FPGA edition поддерживает до 3000 экземпляров.Экземпляры из наших предварительно скомпилированных библиотек не учитываются при ограничении в 3000 экземпляров.
Загрузить Загрузить
Загрузить

popRange: очень гибкий в пространственном и временном отношении симулятор Райта-Фишера | Исходный код для биологии и медицины

Последние достижения в области технологии секвенирования и генотипирования привели к резкому снижению стоимости и повышению точности секвенирования ДНК.Этот прогресс привел к созданию больших хранилищ пространственно явных генетических данных и увеличению количества временных данных (например, древней ДНК). Кроме того, данные продолжают генерироваться с беспрецедентной скоростью; Каждый год создается в 10 раз больше последовательностей [1-3].

Симуляторы повсеместно используются в популяционной генетике, а современные симуляторы, как правило, ориентированы либо на крупномасштабные данные, либо на демографическую и экологическую стохастичность (Таблица 1).

Таблица 1 Сравнение популяционно-генетических симуляторов

Программное обеспечение, такое как sfs_code [4] и SLiM [5], позволяет моделировать большие сегменты ДНК и интегрировать широкий диапазон параметров, таких как рекомбинация, миграция и отбор.Эти симуляторы позволяют извлекать гаплотипы в различные моменты времени для изучения генетических тенденций временных рядов. Однако они требуют указания времени расхождения, размеров популяции основателей и детерминированно установленных темпов миграции, что ограничивает их способность моделировать стохастические демографические события. Например, моделирование расширения диапазона трудно смоделировать, поскольку популяции не могут стохастически заселять мир.

Другие симуляторы позволяют популяциям формироваться и расходиться более стохастическим образом, чем описанные выше.Однако эти симуляторы фокусируются на небольшом количестве независимо сегрегационных локусов. Один из самых гибких симуляторов, SimAdapt [6], позволяет, среди многих функций, изменять барьеры для потока генов, различия в приспособленности между популяциями и различную емкость переносимости. Другой симулятор, quantiNemo [7], позволяет моделировать пространственно и временно явные коэффициенты отбора, но требует от пользователя установки начальных частот аллелей и работает очень медленно даже с данными среднего размера [8].Симуляторы в этой категории, как правило, неспособны генерировать большое количество однонуклеотидных полиморфизмов (SNP) и все еще не обладают гибкостью в отношении пространственно и временно изменяемых параметров.

Основное применение симуляторов нового поколения состоит в том, чтобы позволить исследователям оценивать и проверять гипотезы, созданные на основе данных, с помощью гибких сценариев [9]. Большинство современных популяционно-генетических анализов, включая анализ главных компонентов (PCA), широкомасштабный вывод демографии (т.е. ∂ a i [10]) и анализ предков (т.е. ADMIXTURE [11]) требуют генерации большого количества независимо разделяющихся SNP.

popRange устраняет этот пробел, моделируя сложные демографические сценарии с крупномасштабными генетическими данными. Эти симуляторы необходимы для интерпретации текущих генетических данных в более реалистичных демографических сценариях. Хотя popRange не моделирует сцепление, независимого разделения локусов достаточно для многих крупномасштабных анализов.

Это программное обеспечение обеспечивает имитационную основу для моделирования высоковероятной пространственной и временной динамики популяции. На сегодняшний день ни один из существующих симуляторов не включает стохастические пространственно и временные явные сценарии и данные в масштабе хромосомы. Эта основанная на сетке модель структуры населения обеспечивает пространственную гибкость и гибкость миграции, например, при моделировании произвольных ландшафтных барьеров.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *