Какова вероятность совпадения одного человеческого гена с таким же геном другого человека?

Геном человека состоит из 3 234,83 ​​мегабаз и содержит около 19 000 генов. Было подсчитано, что геномы людей идентичны на 99,9%. Насколько вероятно, что какой-либо отдельный ген может варьироваться от одного человека к другому? Предположим, что средняя длина гена составляет 3 килобазы.

Это все еще 0,01%, как и для всего генома? Почему же тогда в этом упражнении мы имеем число генов вместе с приблизительной длиной?

Ответы (2)

Предположения

Предположим, что мы можем идеально выровнять весь геном человека и, следовательно, вычислить такую ​​статистику идентичности.

Предположим, что вероятность идентичности 99,9% для нейтральных последовательностей такая же, как и для кодирующих последовательностей. Это предположение, скорее всего, неверно, но другого способа ответить на вопрос с теми данными, которые нам предоставлены, нет.

В чем именно вопрос?

К сожалению, ваш вопрос о домашнем задании немного неясен. Я не знаю, что именно имеется в виду под

Насколько вероятно, что какой-либо отдельный ген может варьироваться от одного человека к другому?

Значит ли это

Вы случайным образом выбираете двух людей и случайным образом выбираете один ген. Какова вероятность полной идентичности этого гена?

или это значит

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

Я предполагаю, что это означает первое.

Шаг за шагом

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

  1. Произвольно выберите двух человек и случайным образом рассмотрите один нуклеотид в их геноме. Какова вероятность того, что этот нуклеотид один и тот же?

  2. Произвольно выберите двух человек и случайным образом рассмотрите два нуклеотида в их геноме. Какова вероятность того, что эти два нуклеотида совпадают?

  3. Произвольно выберите двух человек и случайным образом рассмотрите nнуклеотиды в их геноме. Какова вероятность того, что эти nнуклеотиды совпадают?

  4. Произвольно выберите двух человек и случайным образом рассмотрите nнуклеотиды в их геноме. Какова вероятность того, что эти nнуклеотиды различны?

  5. Случайным образом выберите двух человек и случайным образом рассмотрите 3000 нуклеотидов в их геноме. Какова вероятность того, что эти 3000 нуклеотидов различны?

Какой ответ вы получили? Если вы где-то застряли, пожалуйста, дайте мне знать, где!

Подсказки

  1. Нет смысла использовать калькулятор, он вернется Infiniteили 0в какой-то момент все равно!

  2. Не беспокойтесь слишком сильно, если вы не используете все предоставленные вам номера!

Подсказка: скромно продвинутый калькулятор легко рассчитает это без переполнения или недополнения.
Я не знаю, сколько байтов современный калькулятор обычно использует для числа, но я думаю (может ошибаться, вы меня поправите), что для хранения обратного числа (без учета десятичных знаков) требуется около 4 килобайт! Я никогда не видел, чтобы такое число использовалось в информатике, но я не знаю, какой тип данных (и сколько оперативной памяти) обычно использует продвинутый калькулятор.
Реми, видимо у нас совсем другие расчеты. Мне казалось (и ваш ответ также подсказал мне), что ответ потребует простой операции возведения в степень, и задействованные числа будут разумными.
Жаль, что мы не можем дать ответ вслух здесь, чтобы продолжить эту дискуссию! Если ОП проявит усилия, пытаясь решить проблему с помощью моих подсказок, мы можем продолжить это обсуждение :)

Ответ : 0,25% генов будут другими

Как я получил ответ, смоделировав два генома, используя следующий код:

lengthGenome=3234.83*10^6
numGenes=19000
lengthGene=3000
fracSim=0.999


trialHolder=1:100
for(trial in 1:100){
    genomeA=rep(0,lengthGenome)
    genomeB=rep(0,lengthGenome)
    genomeA[sample(1:lengthGenome,round((1-fracSim)*lengthGenome))]=1
    genomeB[sample(1:lengthGenome,round((1-fracSim)*lengthGenome))]=1
    startGenes=sample(1:lengthGenome,numGenes)
    equalGene=0
    for(i in 1:numGenes){
      equalGene=all(genomeA[startGenes[i]:(startGenes[i]+lengthGene)]==genomeB[startGenes[i]:(startGenes[i]+lengthGene)])+equalGene
    }
    trialHolder[trial]=equalGene/numGenes
}
print(mean(trialHolder))

Чтобы быстро пройтись по коду, вы создаете геном указанной длины, а затем изменяете 0,01% генома, чтобы он был мутацией и, следовательно, не был похож на другой геном в той же позиции. Затем определите начальные точки указанного числа генов. Для каждой области гена проверьте, выглядят ли гены точно так же (если в одном из них нет мутации). Наконец, просто отследите пропорцию генов, которые все равны.

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