.readBaseQuality_Solexa <-
function(dirPath, seqPattern=character(0), prbPattern=character(0),
...)
{
prbs <- readPrb(dirPath, pattern=prbPattern, ...)
ShortReadQ(
sread = readXStringColumns(
dirPath, pattern=seqPattern,
colClasses=c(rep(list(NULL), 4), list("DNAString")))[[1]],
quality=prbs,
id=BStringSet(as.character(seq_len(length(prbs)))))
}
.readBaseQuality_character <-
function(dirPath, seqPattern=character(0), prbPattern=character(0),
type=c("Solexa"), ...)
{
if (missing(type))
.arg_missing_err("type", "readBaseQuality,character-method",
"help(\"readBaseQuality,character-method\")")
if (!is.character(type) || length(type) != 1)
.arg_mismatch_type_err("type", "character(1)")
vals <- eval(formals(.readBaseQuality_character)$type,
getNamespace("ShortRead"))
if (!type %in% vals)
.arg_mismatch_value_err("type", type, vals)
tryCatch({
switch(type,
Solexa=.readBaseQuality_Solexa(dirPath,
seqPattern=seqPattern, prbPattern=prbPattern,...))
}, error=function(err) {
if (is(err, "SRError")) stop(err)
else {
seqpat <- paste(seqPattern, collapse=" ")
prbpat <- paste(prbPattern, collapse=" ")
txt <- paste("'%s' failed to parse files",
"dirPath: '%s'",
"seqPattern: '%s'",
"prbPattern: '%s'",
"type: '%s'",
"error: %s", sep="\n ")
msg <- sprintf(txt, "readBaseQuality", dirPath,
seqpat, prbpat, type,
conditionMessage(err))
.throw(SRError("Input/Output", msg))
}
})
}
setMethod(readBaseQuality, "character", .readBaseQuality_character)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.