У меня есть несколько наборов данных, состоящих из частот для i
различных аллелей / SNPs некоторых популяций.Кроме того, я записал некоторые факторы, которые вызывают подозрения в том, что они изменяли частоты этих аллелей в популяциях в прошлом из-за их селекционного эффекта.Предполагается, что влияние выбора можно описать в форме простой линейной регрессии для каждого фактора выбора.
Теперь я хотел бы оценить, как ожидается, что частоты аллелей будут находиться под одинаковыми силами отбора (таким образом,Я установил selection=1
).Эти новые частоты аллелей a'_i
получены как
a'_i = a_i - function[a_i|selection=1]
с текущей частотой a_i
аллеля i
популяции и function[a_i|selection=1]
в качестве оценочной частоты аллелей при отсутствии селекционных сил.
Однако существуют некоторые ограничения для всего процесса:
- Минимальные допустимые значения
a'_i
равны 0. - Сумма всех частот аллелей
a'_i
должно быть 1.
Обычно я решаю эту проблему, применяя множественные линейные регрессии.Но тогда ограничения не выполняются ...
Есть идеи, как подойти к этому анализу с ограничениями (возможно, с использованием систем линейных уравнений / регрессии или моделирования структурных уравнений)?
Здесь - это примерный набор данных, содержащий частоты аллелей для основных групп аллелей ABO (p, q, r), а также переменные выбора (x, y, z).
Хотя этот файл примера содержит только 3аллели и 3 влиятельные переменные, все мои наборы данных содержат до ~ 1050 аллелей / SNP и всегда 8 переменных выбора, которые могут (но не обязаны) влиять на частоты аллелей ...
Многиезаранее спасибо за идеи, фрагменты кода и подсказки!