mirror of
https://github.com/johrpan/geposan.git
synced 2025-10-26 10:47:25 +01:00
Restructure classes and their responsibilities
This commit is contained in:
parent
01ec301d6d
commit
e2b93babe5
27 changed files with 974 additions and 634 deletions
50
R/result.R
Normal file
50
R/result.R
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
#' Result of applying a method on gene position data.
|
||||
#'
|
||||
#' @param method_id ID of the method that produced this result.
|
||||
#' @param scores A `data.frame` mapping gene IDs (`gene`) to computed scores
|
||||
#' between 0.0 and 1.0 (`score`).
|
||||
#' @param details Optional details that may contain intermediate results as
|
||||
#' well as other information on the method application.
|
||||
#'
|
||||
#' @return An object of class `geposan_result`.
|
||||
#'
|
||||
#' @export
|
||||
result <- function(method_id, scores, details = list()) {
|
||||
stopifnot(is.data.frame(scores) &
|
||||
c("gene", "score") %chin% colnames(scores))
|
||||
stopifnot(is.list(details))
|
||||
|
||||
structure(
|
||||
list(
|
||||
method_id = method_id,
|
||||
scores = scores,
|
||||
details = details
|
||||
),
|
||||
class = "geposan_result"
|
||||
)
|
||||
}
|
||||
|
||||
#' Print a result object.
|
||||
#'
|
||||
#' @param x The result to print.
|
||||
#' @param ... Other parameters.
|
||||
#'
|
||||
#' @seealso [result()]
|
||||
#'
|
||||
#' @export
|
||||
print.geposan_result <- function(x, ...) {
|
||||
cat(sprintf(
|
||||
paste0(
|
||||
"geposan result:",
|
||||
"\n Method: %s",
|
||||
"\n Number of genes: %i",
|
||||
"\n Available details: %s",
|
||||
"\n"
|
||||
),
|
||||
x$method_id,
|
||||
nrow(x$scores),
|
||||
paste(names(x$details), collapse = ", ")
|
||||
))
|
||||
|
||||
invisible(x)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue