Меня интересует сравнение значений Fst в областях генома, определенных как архаи c или недавних (человеческих).
Я хотел бы добавить значения Fst (weighted_fst
), которые я вычислил в ячейки по 50000 б.п. (table Fst_NEAcNWAc_1Mb_2
) для таблицы, указывающей, является ли область архаи c или недавней (table NWAc1
), то есть в ячейках по 1000 б.п. chrm - имя скаффолда, начало начала интервала в п.о.
Я хотел бы скопировать значения fst из 50000 бинов в 1000 б.п. (поэтому значение будет скопировано с перерывом 50 раз для последняя корзина, которая будет зависеть от длины лесов). Например, если длина каркаса равна 260000, то последняя корзина в 50 000 бит / с будет иметь только 10 000 бит / с, поэтому она будет скопирована 10 раз.
У меня также есть файл с длиной chrm (со столбцами chr
и size
)
Входные таблицы выглядят так:
> NWAc1
# A tibble: 1,048,575 x 6
chr start obs type human archaic
<chr> <dbl> <dbl> <chr> <dbl> <dbl>
1 MRVK01000017 0 0 Human 0.996 0.00444
2 MRVK01000017 1000 0 Human 0.997 0.00324
3 MRVK01000017 2000 0 Human 0.997 0.00323
4 MRVK01000017 3000 0 Human 0.996 0.00368
5 MRVK01000017 4000 0 Human 0.996 0.00437
6 MRVK01000017 5000 0 Human 0.993 0.00739
7 MRVK01000017 6000 0 Human 0.986 0.0144
8 MRVK01000017 7000 0 Human 0.972 0.0284
9 MRVK01000017 8000 1 Human 0.932 0.0685
.... to be continued
899 MRVK01000017 998000 1 Human 0.932 0.0685
900 MRVK01000017 999000 1 Human 0.932 0.0685
...... to be continued
1 MRVK01000060 0 0 Human 0.996 0.00444
2 MRVK01000060 1000 0 Human 0.997 0.00324
3 MRVK01000060 2000 0 Human 0.997 0.00323
4 MRVK01000060 3000 0 Human 0.996 0.00368
5 MRVK01000060 4000 0 Human 0.996 0.00437
6 MRVK01000060 5000 0 Human 0.993 0.00739
7 MRVK01000060 6000 0 Human 0.986 0.0144
>Fst_NEAcNWAc_1Mb_2
# A tibble: 39,817 x 6
chr start end nvariant weighted_fst mean_fst
<chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 MRVK01000017 0 50000 35 0.566 0.326
2 MRVK01000017 50000 100000 43 0.251 0.198
3 MRVK01000060 0 50000 22 0.346 0.146
Выходная информация будет выглядеть следующим образом:
>Out_table
chr start obs type human archaic mean_fst
<chr> <dbl> <dbl> <chr> <dbl> <dbl> <dbl>
1 MRVK01000017 0 0 Human 0.996 0.00444 0.566
2 MRVK01000017 1000 0 Human 0.997 0.00324 0.566
3 MRVK01000017 2000 0 Human 0.997 0.00323 0.566
4 MRVK01000017 3000 0 Human 0.996 0.00368 0.566
5 MRVK01000017 4000 0 Human 0.996 0.00437 0.566
6 MRVK01000017 5000 0 Human 0.993 0.00739 0.566
7 MRVK01000017 6000 0 Human 0.986 0.0144 0.566
8 MRVK01000017 7000 0 Human 0.972 0.0284 0.566
9 MRVK01000017 8000 1 Human 0.932 0.0685 0.566
.... to be continued
899 MRVK01000017 998000 1 Human 0.932 0.0685 0.251
900 MRVK01000017 999000 1 Human 0.932 0.0685 0.251
...... to be continued
1 MRVK01000060 0 0 Human 0.996 0.00444 0.346
2 MRVK01000060 1000 0 Human 0.997 0.00324 0.346
3 MRVK01000060 2000 0 Human 0.997 0.00323 0.346
4 MRVK01000060 3000 0 Human 0.996 0.00368 0.346
5 MRVK01000060 4000 0 Human 0.996 0.00437 0.346
6 MRVK01000060 5000 0 Human 0.993 0.00739 0.346
7 MRVK01000060 6000 0 Human 0.986 0.0144 0.346
Я пытался использовать left_join
и mutate
функции от tidyverse
, но безуспешно. Не могли бы вы помочь?
Спасибо, С наилучшими пожеланиями,
Март ie