Skip to contents

Count fragments by nucleosomal size

Usage

nucleosome_counts(fragments, nucleosome_width = 147)

Arguments

fragments

Fragments object

nucleosome_width

Integer cutoff to use as nucleosome width

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
#>