Count fragments by nucleosomal size
Value
List with names subNucleosomal
, monoNucleosomal
, multiNucleosomal
, and nFrags
, containing the
count vectors of fragments in each class per cell.
Details
Shorter than nucleosome_width
is subNucleosomal
,
nucleosome_width
to 2*nucleosome_width-1
is monoNucleosomal
, and anything longer is multiNucleosomal
.
The sum of all fragments is given as nFrags
Examples
## Prep data
frags_sub_nucleosomal <- tibble::tibble(
chr = 1,
start = seq(0, 3000, by = 1000),
end = start + 146,
cell_id = c(rep("cell1", 3), rep("cell2", 1))
)
frags_sub_nucleosomal
#> # A tibble: 4 × 4
#> chr start end cell_id
#> <dbl> <dbl> <dbl> <chr>
#> 1 1 0 146 cell1
#> 2 1 1000 1146 cell1
#> 3 1 2000 2146 cell1
#> 4 1 3000 3146 cell2
frags_nucleosomal <- tibble::tibble(
chr = 1,
start = seq(5000, 7000, by = 1000),
end = start + 147, # Value equal to nucleosome_width is inclusive
cell_id = c(rep("cell1", 1), rep("cell2", 2))
)
frags_nucleosomal
#> # A tibble: 3 × 4
#> chr start end cell_id
#> <dbl> <dbl> <dbl> <chr>
#> 1 1 5000 5147 cell1
#> 2 1 6000 6147 cell2
#> 3 1 7000 7147 cell2
frags_multi_nucleosomal <- tibble::tibble(
chr = 1,
start = seq(12000, 15000, by = 1000),
end = start + 294, # Value equal to 2x nucleosome_width
cell_id = c(rep("cell1", 2), rep("cell2", 2))
)
frags_multi_nucleosomal
#> # A tibble: 4 × 4
#> chr start end cell_id
#> <dbl> <dbl> <dbl> <chr>
#> 1 1 12000 12294 cell1
#> 2 1 13000 13294 cell1
#> 3 1 14000 14294 cell2
#> 4 1 15000 15294 cell2
frags <- dplyr::bind_rows(
frags_sub_nucleosomal,
frags_nucleosomal,
frags_multi_nucleosomal
) %>% convert_to_fragments()
## Get nucleosome counts
head(nucleosome_counts(frags))
#> $subNucleosomal
#> [1] 3 1
#>
#> $monoNucleosomal
#> [1] 1 2
#>
#> $multiNucleosomal
#> [1] 2 2
#>
#> $nFrags
#> [1] 6 5
#>