Description Usage Arguments Details Value Author(s)
This is the main function in nucleosomeDynamics. It allows to compare the reads of two NGS experiments of nucleosome coverage.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | nucleosomeDynamics(setA, setB, maxLen = 170, equalSize = FALSE,
readSize = 140, maxDiff = 74, minDiff = 10, mc.cores = 1)
## S4 method for signature 'IRanges,IRanges'
nucleosomeDynamics(setA, setB, maxLen = 170,
equalSize = FALSE, readSize = 140, maxDiff = 74, minDiff = 10)
## S4 method for signature 'RangedData,RangedData'
nucleosomeDynamics(setA, setB, maxLen = 170,
equalSize = FALSE, readSize = 140, maxDiff = 74, minDiff = 10,
mc.cores = 1)
## S4 method for signature 'GRanges,GRanges'
nucleosomeDynamics(setA, setB, maxLen = 170,
equalSize = FALSE, readSize = 140, maxDiff = 74, minDiff = 10,
mc.cores = 1)
|
setA |
Reads of the first experiment in |
setB |
Reads of the second experiment in |
maxLen |
Reads longer than this number will be filtered out. |
equalSize |
If set to |
readSize |
Length to which all reads will be set in case |
maxDiff |
Maximum distance between the dyads of two reads that allows them to still be considered a "shift". |
minDiff |
Minimum distance between the dyads of two reads that allows them to still be considered a "shift". |
mc.cores |
If |
The aim of NucleosomeDynamics is to infer "movement" (with direction and magnitude) of the reads between two reference nucleosome maps. In contrast with a simple coverage difference, NucleosomeDynamics can tell how the reads change between two different experiments. This is useful to analyze regions where fine regulatory role of the nucleosomes is suspected to happen.
This method is based on the idea that reads in a reference state (ref1) should match those in another reference state (ref2) after applying a few shifts and/or indels. Both ref1 and ref2 need to be experimental nucleosome maps, either from the same sample with different conditions or from different samples.
Then, we look for a match to each read in ref1 in another read of ref2 using a specific deffinition for what a "match" is. After all possible matches have been found, we set those reads apart and we look for matches in the remaining reads using a different definition for what a "match" is. Then, to account for the possibility that one sample has a higher coverage than the other, randomly picked reads are removed from the dataset with more reads to that they are the same size. After this, all the remaining reads are considered indels.
Since they are tried sequentially, the definition of each type of match implies that the previous definitions tried are do not hold. The different types of matches, in the order in which they are tried are:
Coinciding: Reads that start and end in the exact same position in both sets.
Same start: Reads that start in the same position in both sets but end at a different one.
Same end: Reads that end in the same position in both sets but start at a different one.
Contained: Reads from one set that are contained or contain reads from the other set. For a read to be contained by another, it has to start at a more upstream position but end in a more downstream position than the second read.
Shifts: Reads whose dyads are at a maximum distance of maxDist
(default
is 74 bp.).
If equalSize=TRUE
, all reads are forced to the same size, to the match
types "Same start", "Same end" and "Contained" do not apply.
In an attempt to find the optimum pairing for the shifts, we use dynamic
programming approach. It is done in such a way that the score is inversely
proportional to the dyad distance (to favor shortest possible distance), but
with a very high gap penalty (to favor more pairs at longer distance rather
than less closer pairs) and a penalty of -Inf
for distances higher than
maxDist
so that those don't happen at all.
An object of class NucDyn.
Ricard Illa ricard.illa@irbbarcelona.org
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.