r - Оценить неселективные частоты выбора аллелей с помощью систем линейной регрессии - PullRequest
0 голосов
/ 26 октября 2018

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

Теперь я хотел бы оценить, как ожидается, что частоты аллелей будут находиться под одинаковыми силами отбора (таким образом,Я установил selection=1).Эти новые частоты аллелей a'_i получены как

a'_i = a_i - function[a_i|selection=1]

с текущей частотой a_i аллеля i популяции и function[a_i|selection=1] в качестве оценочной частоты аллелей при отсутствии селекционных сил.

Однако существуют некоторые ограничения для всего процесса:

  1. Минимальные допустимые значения a'_i равны 0.
  2. Сумма всех частот аллелейa'_i должно быть 1.

Обычно я решаю эту проблему, применяя множественные линейные регрессии.Но тогда ограничения не выполняются ...

Есть идеи, как подойти к этому анализу с ограничениями (возможно, с использованием систем линейных уравнений / регрессии или моделирования структурных уравнений)?

Здесь - это примерный набор данных, содержащий частоты аллелей для основных групп аллелей ABO (p, q, r), а также переменные выбора (x, y, z).

Хотя этот файл примера содержит только 3аллели и 3 влиятельные переменные, все мои наборы данных содержат до ~ 1050 аллелей / SNP и всегда 8 переменных выбора, которые могут (но не обязаны) влиять на частоты аллелей ...

Многиезаранее спасибо за идеи, фрагменты кода и подсказки!

...