This function takes fragments and compute the distribution of their
sizes over a set or multiple sets of GRanges.

```
getFragmentsDistribution(
fragments,
granges_list = NULL,
extend_granges = c(-500, 500),
limits = c(0, 600),
roll = 3,
cores = 1
)
```

## Arguments

- fragments
GRanges object containing paired-end fragments.
See importPEBamFiles for more details on how to create such object.

- granges_list
GRanges, can be a list of different sets of GRanges.

- extend_granges
numeric vector of length 2, how the GRanges
should be extended.

- limits
numeric vector of length 2, only consider
fragments within this window of sizes.

- roll
Integer, apply a moving average of this size

- cores
Integer, number of threads used to compute
fragment size distribution

## Value

A list of tbl, one for each .bam file.

## Examples

```
data(bam_test)
data(ce11_proms)
df <- getFragmentsDistribution(
bam_test,
ce11_proms,
extend_granges = c(-500, 500)
)
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
#> Warning: NAs introduced by coercion
head(df)
#> class x y
#> 1 granges 1 NA
#> 2 granges 2 0
#> 3 granges 3 0
#> 4 granges 4 0
#> 5 granges 5 0
#> 6 granges 6 0
which.max(df$y)
#> [1] 147
```