Nothing
## Function that returns the Input-Parameters as a character string
## in the form "param1Name = param1Value, param2Name = param2Value, ..."
printParams <-function(type,
cluster,
gapOpening,
gapExtension,
maxiters,
verbose,
params){
result <- capture.output(cat(
rbind( "cluster", "=", cluster, ",",
"gapOpening", "=" , gapOpening, ", ",
"gapExtension", "=" , gapExtension, ", ",
"maxiters", "=" , maxiters, ", ",
"type", "=" , type, ", ",
"verbose", "=" , verbose),
as.character(rbind(",", names(params), "=" ,params))))
return (result)
}
##############################################################################
## Function that returns the Input-Parameters as a list
getParamsList <-function(type,
cluster,
gapOpening,
gapExtension,
maxiters,
verbose,
params){
result <- list()
result$type <- type
result$cluster <- cluster
result$gapOpening <- gapOpening
result$gapExtension <- gapExtension
result$maxiters <- maxiters
result$verbose <- verbose
result$params <- params #list of all other params
return (result)
}
###############################################################################
##function, which tests a given input sequence
##whether it is a character string, or a XStringSet
transformInputSeq <- function(inputSeq) {
if (!is(inputSeq, "character")) {
if (is(inputSeq, "XStringSet")) {
inputSeq <- as.character(inputSeq)
} else {
stop("The Parameter inputSeq is not valid. \n",
"Possible inputs are <character> or <XStringSet>!")
}
}
return(inputSeq)
}
###############################################################################
##function which returns the type of a given input sequence
##returns "dna", "rna" or "protein" (depending of the input),
##if input sequence is NOT a BStringSet or a character string.
##The later two return NULL
getTypeOfInputSeq <- function(inputSeq) {
if (!is(inputSeq, "character")) {
if (is(inputSeq, "AAStringSet")) {
type <- "protein"
} else if (is(inputSeq, "DNAStringSet")) {
type <- "dna"
} else if (is(inputSeq, "RNAStringSet")) {
type <- "rna"
} else if (is(inputSeq, "BStringSet")) {
type <- NULL
} else {
stop("The Parameter inputSeq is not valid.\n",
"Possible inputs are <character>, or <XStringSet>!")
}
} else {
type <- NULL
}
return(type)
}
###############################################################################
##auxiliary function, that checks the type, whether it is NULL, or not one
##of the following possible values c("protein", "dna", "rna"), the later
##not for T-Coffee. In both cases, an exception is thrown.
##If no exception is thrown, it returns the type.
checkOneType <- function(type, msaName) {
##default-value
if (is.null(type)) {
stop("Your input sequence is a character string, a filename,\n",
"or a BStringSet object. So please specify the sequence type.\n",
"Possible values are: \"protein\", \"dna\", or \"rna\"!")
}
##make it more robust
type=tolower(type)
##check, if input of type is valid
if (tolower(msaName) %in% c("msaclustalw",
"msaclustalomega",
"msamuscle")) {
if (!type %in% c("protein", "dna", "rna")) {
stop("The type parameter only can have the values ",
"\"protein\", \"dna\", or \"rna\"!")
}
}
return(type)
}
###############################################################################
##auxiliary function, which tests a given type with the type of inputSeqs
##(only possible, if type is given AND the input Sequence is a
##XStringSet(without BStringSet)
checkDoubleGivenType <- function(type1, type2) {
if (!(length(type1) == 0) & !(length(type2) == 0)) {
if (!is.na(type1) & !is.na(type2)) {
if (type1 != type2){
stop("The param type is in conflict to the input Sequence!")
}
}
}
}
###############################################################################
##function that converts a string of type "paramVal1,paremVal2,etc."
##(only seperated with commatas, no blanks in between)
##into a vector of type c("ParamVal1", "ParamVal2", "etc.")
convertStringToVector <- function(parameterName, params){
helpVector <- c()
##default-value
if (is.null(params[[parameterName]])) {
helpVector <- NULL
} else {
##make it robust
if (!is.character(params[[parameterName]])) {
stop("The parameter ", parameterName, " should be a string!")
}
##do not allow empty strings
if (params[[parameterName]] == "") {
stop("The parameter ", parameterName,
" can't be an empty string!")
}
##convert
for (i in 1:length(strsplit(params[[parameterName]], split=",",
fixed=FALSE, perl=FALSE, useBytes=FALSE)[[1]])){
helpVector <- c(helpVector, strsplit(params[[parameterName]],
split=",", fixed=FALSE, perl=FALSE,
useBytes=FALSE)[[1]][[i]])
}
}
return(helpVector)
}
###############################################################################
##auxiliary function, that tests a param, which has exact one single character
##string, if it is of a set of possible values. If yes, the param returns.
checkIsValue <- function(parameterName, params, possibleValues){
##check if input is NULL
if (is.null(params[[parameterName]])) {
stop("The parameter ", parameterName,
" contains no value!")
}
##check if params$parameterName contains only one single value
if(length(params[[parameterName]]) != 1) {
stop("The parameter ", parameterName,
" contains more than one value!")
}
##check if is params$parameterName of type character
if(!is.character(params[[parameterName]])) {
stop("The parameter ", parameterName, " should be a string!")
}
##check, if input of parameter is valid
if (!(tolower(params[[parameterName]]) %in% possibleValues)){
##create a string with all possible Values named text
text <- ""
text <- paste(possibleValues, collapse=", ")
stop("The parameter ", parameterName,
" only can have the values: \n", text)
}
return(tolower(params[[parameterName]]))
}
###############################################################################
##function for an interactive check, whether a output file should be
##overwritten or not. If not, the function stops.
interactiveCheck <- function(parameterName, params){
message(c("File for param ", parameterName, " exists. Overwrite? (y/n)"))
answer <- try(tolower(scan(what=character(), nmax=1,
quiet=TRUE)), silent=TRUE)
if (nchar(answer) != 1 || substr(answer, 1, 1) != "y") {
stop("The file for param ", parameterName, " exists already! \n",
"You didn't allow overwriting. So remove/rename \n",
"the file and try it again (or allow overwriting)!")
}
}
###############################################################################
##auxiliary function that replaces backslashes in file names by slashes on
##Windows systems
stratifyFilenames <- function(x)
{
if (identical(.Platform$OS.type, "windows"))
gsub("\\", "/", x, fixed=TRUE)
else
x
}
###############################################################################
##auxiliary function that prints the help with all common issues.
##Furthermore, it adds a specific help (depending on algorithm)
printHelp <- function(method)
{
file <- system.file("extdata/msaCommonHelp.txt", package="msa")
cat(readLines(file), sep="\n")
cat ("Press [enter] to continue")
line <- readline()
file <- system.file(paste0("extdata/msa", method, "Help.txt"),
package="msa")
file.show(file)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.