Description Usage Arguments Details Value Note Author(s) See Also Examples
This method allows the processment of NGS nucleosome reads from different sources and a basic manipulation of them. The tasks includes the correction of strand-specific single-end reads and the trimming of reads to a given length.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | processReads(data, type = "single", fragmentLen, trim, ...)
## S4 method for signature 'AlignedRead'
processReads(data, type = "single", fragmentLen, trim,
...)
## S4 method for signature 'CompressedGRangesList'
processReads(data, type = "single",
fragmentLen, trim, ...)
## S4 method for signature 'GRanges'
processReads(data, type = "single", fragmentLen, trim,
...)
## S4 method for signature 'RangedData'
processReads(data, type = "single", fragmentLen, trim,
...)
|
data |
Sequence reads objects, probably imported using other packages
as |
type |
Describes the type of reads. Values allowed are |
fragmentLen |
Expected original length of the sequenced fragments. See details. |
trim |
Length to trim the reads (or extend them if |
... |
Other parameters passed to |
This function reads a ShortRead::AlignedRead or a GenomicRanges::GRanges object containing the position, length and strand of the sequence reads.
It allows the processment of both paired and single ended reads. In the case
of single end reads this function corrects the strand-specific mapping by
shifting plus strand reads and minus strand reads towards a middle position
where both strands are overlaped. This is done by accounting the expected
fragment length (fragmentLen
).
For paired end reads, mononucleosomal reads could extend more than expected
length due to mapping issues or experimental conditions. In this case, the
fragmentLen
variable sets the threshold from which reads longer than it
should be ignored.
If no value is supplied for fragmentLen
it will be calculated
automatically (increasing the computing time) using fragmentLenDetect
with
default parameters. Performance can be increased by tunning
fragmentLenDetect
parameteres in a separated call and passing its result
as fragmentLen
parameter.
In some cases, could be useful trim the reads to a shorter length to improve
the detection of nucleosome dyads, easing its detection and automatic
positioning. The parameter trim
allows the selection of how many
nucleotides select from each read.
A special case for single-ended data is setting the trim
to the same
value as fragmentLen
, so the reads will be extended strand-wise towards
the 3' direction, creating an artificial map comparable with
paired-ended data. The same but opposite can be performed with paired-end
data, setting a trim
value equal to the read length from paired ended, so
paired-ended data will look like single-ended.
GenomicRanges::GRanges containing the aligned/trimmed individual reads.
IMPORTANT: this information is only used to correct possible strand-specific mapping, this package doesn't link the two ends of paired reads.
Oscar Flores oflores@mmb.pcb.ub.es
ShortRead::AlignedRead, GenomicRanges::GRanges,
fragmentLenDetect()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Load data
data(nucleosome_htseq)
# Process nucleosome reads, select only those shorter than 200bp
pr1 <- processReads(nucleosome_htseq, fragmentLen=200)
# Now process them, but picking only the 40 bases surrounding the dyad
pr2 <- processReads(nucleosome_htseq, fragmentLen=200, trim=40)
# Compare the results:
library(ggplot2)
cov1 <- as.vector(coverage.rpm(pr1)[["chr1"]])
cov2 <- as.vector(coverage.rpm(pr2)[["chr1"]])
plot_data <- rbind(
data.frame(x=seq_along(cov1), y=cov1, coverage="original"),
data.frame(x=seq_along(cov2), y=cov2, coverage="trimmed")
)
qplot(x=x, y=y, geom="line", data=plot_data, xlab="position",
ylab="coverage") + facet_grid(coverage~.)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.