Description Usage Arguments Details Author(s) Examples
Clip modes are used to store "views" on the sequence object. They are often used to identify adapter sequences and low-quality "ends" which will
be trimmed before further analysis. Storing clipping information instead of clipped sequences is useful for avoiding loss of data while maintaining
information about the appropriate nucleotides for down-stream analysis. Each clip mode defines a set of left and right clip
points, one set for each read. Clip points are typically included in the SFF file, are generated by the sequence provider and are
loaded into the appropriate IRanges
object when the SFF file is loaded via readSff. The vendor-generated clip points are not always desireable however, so accomidations for custom clip points are also provided.
1 | availableClipModes(object)
|
object |
An object of class |
availableClipModes
produces a list of clip modes supported by the rSFFreader package and the object being passed to it. These can include:
defined in the SFF file, and meant to indicate positions of adapter sequence
defined in the SFF file, and meant to indicate positions of low-quality regions of the sequence
uses the "interior" of quality and adapter and is the most conservative, equivalant to Roche clip points
no clipping is applied and full length reads are returned
clip points set by the user as an IRanges
object. (see examples below)
Functions are provided for setting clip mode as well as extracting and setting clip points of each type from a
SffReads
or SffReadsQ
object. The functions for getting/setting clip points
all work in the same way and an example is provided in the examples section below.
The functions include:
gets/sets the adapter clip mode
get/set the adapter clip points as an IRanges
object
get/set the custom clip points as an IRanges
object
get/set the full clip points as an IRanges
object
get/set the quality clip points as an IRanges
object
get/set the raw clip points as an IRanges
object
Currently available clipModes returned by availableClipModes
is dependant on the which clipping slots
(qualityIR,adapterIR, and customIR) are set (length != 0).
Matt Settles <msettles@uidaho.edu>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | ## Load in an example dataset:
sff <- loadIonSampleData()
## Get a list of available clip modes:
availableClipModes(sff)
## Check the current clipMode. It should default to "full":
clipMode(sff)
## full clipping is the most conservative, resulting in shorter reads
hist(width(sff))
summary(width(sff))
## These reads should also be free of adapters although the first base looks suspect:
alphabetByCycle(DNAStringSet(substr(sread(sff), 1,15)), alphabet=c("A","C","T","G"))
cols <- c("green","blue","black","red","darkgrey")
leg <- c("A","C","T","G","N")
matplot(t(alphabetByCycle(DNAStringSet(substr(sread(sff), 1,15)),
alphabet=c("A","C","T","G"))), type="l", lty=1, col=cols)
legend("topright", col=cols, legend=leg, pch=18, cex=.8)
## Compare this to unclipped reads using "raw" mode:
clipMode(sff) <- "raw"
hist(width(sff),breaks=500,col="grey",xlab="Read Length",main="Raw Read Length")
alphabetByCycle(DNAStringSet(substr(sread(sff), 1,15)), alphabet=c("A","C","T","G"))
cols <- c("green","blue","black","red","darkgrey")
leg <- c("A","C","T","G","N")
matplot(t(alphabetByCycle(DNAStringSet(substr(sread(sff), 1,15)),
alphabet=c("A","C","T","G"))), type="l", lty=1, col=cols)
legend("topright", col=cols, legend=leg, pch=18, cex=.8)
## Extract clip points for further analysis:
full.clippoints <- fullClip(sff)
raw.clippoints <- rawClip(sff)
table(start(full.clippoints))
table(start(raw.clippoints))
par(mfrow=c(1,2))
hist(end(full.clippoints))
hist(end(raw.clippoints))
par(mfrow=c(1,1))
## determine how much was trimmed from each read by clipping
barplot(table(end(raw.clippoints) - end(full.clippoints)))
## Custom clip points can also be set using an IRanges object:
customClip(sff) <- IRanges(start = 1, end = 4)
clipMode(sff) <- "custom"
table(counts=as.character(sread(sff)))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.