syntheticNucMapFromDist: Generate a synthetic nucleosome map containing complete...

View source: R/nucleoSimFunctions.R

syntheticNucMapFromDistR Documentation

Generate a synthetic nucleosome map containing complete sequences

Description

Generate a synthetic nucleosome map, a map with complete sequences covering the nucleosome regions, using the distribution selected by the user. The distribution is used to assign the start position to the sequences associated with the nucleosomes. The user has choice between three different distributions: Normal, Student and Uniform.

The synthetic nucleosome map creation is separated into 3 steps :

1. Adding well-positioned nucleosomes following specified parameters. The nucleosomes are all positioned at equidistance. Assigning sequences of variable length to each nucleosome using a normal distribution and specified variance.

2. Deleting some well-positioned nucleosomes following specified parameters. Each nucleosome has an equal probability to be selected.

3. Adding fuzzy nucleosomes following an uniform distribution ad specified parameters. Assigning sequences of variable length to each nucleosome using the specified distribution and parameters. The sequence length is always following a normal distribution.

This function is a modified version of the syntheticNucMap() function from Bioconductor nucleR package (Flores and Orozco, 2011).

Usage

syntheticNucMapFromDist(
  wp.num,
  wp.del,
  wp.var,
  fuz.num,
  fuz.var,
  max.cover = 100,
  nuc.len = 147,
  len.var = 10,
  lin.len = 20,
  rnd.seed = NULL,
  as.ratio = FALSE,
  distr = c("Uniform", "Normal", "Student")
)

Arguments

wp.num

a non-negative integer, the number of well-positioned (non-overlapping) nucleosomes.

wp.del

a non-negative integer, the number of well-positioned nucleosomes to remove to create uncovered regions.

wp.var

a non-negative integer, the variance associated with the distribution used to assign the start position to the sequences of the well-positioned nucleosomes. This parameter introduces some variation in the starting positions.

fuz.num

a non-negative integer, the number of fuzzy nucleosomes. Those nucleosomes are distributed accordingly to an uniform distribution all over the region. Those nucleosomes can overlap other well-positioned or fuzzy nucleosomes.

fuz.var

a non-negative integer, the variance associated with the distribution used to assign the start position to the sequences of the fuzzy nucleosomes. This parameter introduces some variation in the starting positions.

max.cover

a positive integer, the maximum coverage for one nucleosome. The final coverage can have a higher value than max.cover since sequences from different nucleosomes can be overlapping. Default = 100.

nuc.len

a non-negative numeric, the nucleosome length. Default = 147.

len.var

a non-negative integer, the variance associated to the normal distribution used to add some variance to the length of each sequence. Default = 10.

lin.len

a non-negative integer, the length of the DNA linker. Default = 20.

rnd.seed

a single value, interpreted as an integer, or NULL. If a integer is given, the value is used to set the seed of the random number generator. By fixing the seed, the generated results can be reproduced. Default = NULL.

as.ratio

a logical, if TRUE, a synthetic naked DNA control map is created and the ratio between it and the nucleosome coverage are calculated. It can be used to simulate hybridization ratio data, like the one in Tiling Arrays. Both control map and obtained ratio are returned. Default = FALSE.

distr

the name of the distribution used to generate the nucleosome map. The choices are : "Uniform", "Normal" and "Student". Default = "Uniform".

Value

an list of class "syntheticNucMap" containing the following elements:

  • call the matched call.

  • wp.starts a vector of integer, the start positions of all well-positioned nucleosome regions. The central position of the nucleosome is calculated as wp.starts + round(nuc.len/2).

  • wp.nreads a vector of integer, the number of sequences associated to each well-positioned nucleosome.

  • wp.reads a IRanges containing the well-positioned nucleosome sequences.

  • fuz.starts a vector of integer, the start position of all the fuzzy nucleosomes.

  • fuz.nreads a vector of integer, the number of sequences associated to each fuzzy nucleosome.

  • fuz.reads a IRanges containing the fuzzy nucleosome sequences.

  • syn.reads a IRanges containing all the synthetic nucleosome sequences (from both fuzzy and well-positioned nucleosomes).

  • nuc.len a numeric the nucleosome length.

The following elements will be only returned if as.ratio=TRUE:

  • ctr.reads a IRanges containing the naked DNA (control) sequences.

  • syn.ratio a Rle containing the calculated ratio between the nucleosome coverage and the control coverage.

Author(s)

Rawane Samb, Astrid Deschenes

Examples


## Generate a synthetic map with 20 well-positioned nucleosomes and 10 fuzzy
## nucleosomes using a Normal distribution with a variance of 30 for the
## well-positioned nucleosomes, a variance of 40 for the fuzzy nucleosomes
## and a seed of 15.
syntheticNucMapFromDist(wp.num = 20, wp.del = 0, wp.var = 30,
    fuz.num = 10, fuz.var = 40, rnd.seed = 15,
    distr = "Normal")

## Same output but with ratio
syntheticNucMapFromDist(wp.num = 20, wp.del = 0, wp.var = 30,
    fuz.num = 10, fuz.var = 40,
    rnd.seed = 15, as.ratio = TRUE, distr = "Normal")



ArnaudDroitLab/nucleoSim documentation built on March 17, 2022, 11 p.m.