NeCast
оценка истории численности популяции по генотипам
NeCast — небольшая PyTorch-сеть, которая оценивает эффективный размер популяции Ne во времени по несфазированным генотипам 32 диплоидных особей в окне 30 Мб доступной последовательности и картам рекомбинации и мутаций. На выходе — log10 Ne на 64 интервалах, равномерных в лог-времени от 50 до 500 000 поколений назад; окно обрабатывается за секунды на CPU. В репозитории Larrivhan/NeCast — веса из работы NeCast, журнал обучения, training contrasts и аблации.
🔎 Ключевые особенности
- 🧭 Пять потоков входа: site encoder по сегрегирующим сайтам, folded SFS, LD на семи лагах, спектры IBS-треков по 496 парам и постериор PSMC+.
- 📡 Выход — поправка к базовой кривой: Watterson-оценка log10 Ne плюс фиксированный сдвиг для каждого интервала.
- 💻 Веса итоговой сети занимают 4,2 МБ; чекпойнт — обычный PyTorch-файл.
- ⚙ В репозитории также 7 training contrasts и 5 аблаций с результатами парных сравнений.
- 📌 Обучение шло на симуляциях; для запуска нужны входы, собранные кодом NeCast.
📸 Пример
import torch
path = 'final/checkpoint.pt'
ckpt = torch.load(path, map_location='cpu', weights_only=True)
state_dict = ckpt['state_dict']
Подробнее
Тест: RMSE log10 Ne = 0.287 по всем 64 интервалам на 500 тестовых окнах.Обучение: 12 эпох на 4× RTX 4090, 50,3 ч (201,2 GPU-часа), 89 996 тренировочных окон.
Ограничение: код NeCast ещё готовится к релизу, поэтому собрать входы и загрузить чекпойнт «из коробки» пока нельзя.
Лицензия весов и файлов: CC BY 4.0.








Комментарии