Добавьте столбцы, которые суммируют результаты в диапазоне
У меня есть файл парика, который я прочитал в подобный granges объект, используя функцию, которую я написал, которая вызывает rtracklayer
пакет:
read_wig <- function(x, format='wig', genome='mm9') {
suppressMessages(library(rtracklayer))
merged_wig <- import.wig(x, format=format, genome=genome)
merged_wig <- keepSeqlevels(merged_wig, paste0('chr', c(seq(1,19), 'X', 'Y')), pruning.mode="coarse")
return(merged_wig)
}
wig <- read_wig('~/path/to/wig')
Код выше возвращает:
> wig
UCSC track 'MEFES_K27AC.downsampled.sorted'
UCSCData object with 13274466 ranges and 1 metadata column:
seqnames ranges strand | score
<Rle> <IRanges> <Rle> | <numeric>
[1] chr1 [ 1, 200] * | 1
[2] chr1 [201, 400] * | 2
[3] chr1 [401, 600] * | 3
[4] chr1 [601, 800] * | 4
[5] chr1 [801, 1000] * | 0
... ... ... ... . ...
[13274462] chrY [15901401, 15901600] * | 0
[13274463] chrY [15901601, 15901800] * | 0
[13274464] chrY [15901801, 15902000] * | 0
[13274465] chrY [15902001, 15902200] * | 0
[13274466] chrY [15902201, 15902400] * | 0
-------
seqinfo: 21 sequences from mm9 genome
Теперь с этим объектом я бы хотел вычислить сумму баллов в окне вокруг каждого диапазона для каждой строки в объекте. Например, я хотел бы вычислить сумму баллов между диапазонами 1-10000 (123 для этого примера) и добавить эту запись в виде столбца рядом с баллом. Я хотел бы сделать это для каждого ряда.
> expected_output
UCSC track 'MEFES_K27AC.downsampled.sorted'
UCSCData object with 13274466 ranges and 1 metadata column:
seqnames ranges strand | score score_10000
<Rle> <IRanges> <Rle> | <numeric> <numeric>
[1] chr1 [ 1, 200] * | 1 123
[2] chr1 [201, 400] * | 2 ...
[3] chr1 [401, 600] * | 3 ...
[4] chr1 [601, 800] * | 4 ...
[5] chr1 [801, 1000] * | 0 ...
... ... ... ... . ...
[13274462] chrY [15901401, 15901600] * | 0 ...
[13274463] chrY [15901601, 15901800] * | 0 ...
[13274464] chrY [15901801, 15902000] * | 0 ...
[13274465] chrY [15902001, 15902200] * | 0 ...
[13274466] chrY [15902201, 15902400] * | 0 ...
-------
seqinfo: 21 sequences from mm9 genome
В идеале я хотел бы добавить столбцы, которые вычисляют диапазоны оценок от 1-10000, 1-20000, 1-30000 и т. Д. До 100000.
Любая помощь приветствуется!
РЕДАКТИРОВАТЬ:
Файл парика можно найти здесь.