Skip to content

Commit

Permalink
Merge pull request #31 from corehunter/feature/dataprint
Browse files Browse the repository at this point in the history
mention ids and names in data prints
  • Loading branch information
hdbeukel committed Jun 23, 2017
2 parents c87b7a3 + 84e2356 commit cc64216
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 21 deletions.
83 changes: 66 additions & 17 deletions R/data.R
Expand Up @@ -140,6 +140,12 @@ print.chdata <- function(x, ...){
cat("----------------\n\n")

cat("Number of accessions =", x$size, "\n")
cat("Ids:")
str(x$ids)
if(!isTRUE(all.equal(x$ids, x$names))){
cat("Names:")
str(x$names)
}

for(data.type in c("geno", "pheno", "dist")){
if(!is.null(x[[data.type]])){
Expand Down Expand Up @@ -291,6 +297,12 @@ print.chdist <- function(x, include.size = TRUE, ...){
cat("# Precomputed distance matrix\n")
if(include.size){
cat(sprintf("\nNumber of accessions = %d\n", n))
cat("Ids:")
str(x$ids)
if(!isTRUE(all.equal(x$ids, x$names))){
cat("Names:")
str(x$names)
}
}
if(!is.null(x$file)){
cat(sprintf("\nRead from file: \"%s\"\n", x$file))
Expand Down Expand Up @@ -678,14 +690,29 @@ print.chgeno <- function(x, include.size = TRUE, ...){
as.character(a[1]),
sprintf("%d-%d", a[1], a[2])
)
cat("# Genotypes\n\n")

cat("# Genotypes\n")

cat(sprintf("\nFormat = %s\n", x$format))

if(include.size){
cat(sprintf("Number of accessions = %d\n", n))
cat(sprintf("\nNumber of accessions = %d\n", n))
cat("Ids:")
str(x$ids)
if(!isTRUE(all.equal(x$ids, x$names))){
cat("Names:")
str(x$names)
}
}
cat(sprintf("Number of markers = %d", m),
sprintf("Number of alleles per marker = %s", a),
sprintf("Format = %s", x$format),
sep = "\n")

cat(sprintf("\nNumber of markers = %d\n", m))
if(!all(is.na(x$markers))){
cat("Marker names:")
str(x$markers)
}

cat(sprintf("Number of alleles per marker = %s\n", a))

if(!is.null(x$file)){
cat(sprintf("\nRead from file: \"%s\"\n", x$file))
}
Expand Down Expand Up @@ -1033,23 +1060,45 @@ convert.column <- function(col, type){
#' @export
print.chpheno <- function(x, include.size = TRUE, ...){
n <- x$size
traits <- colnames(x$data)
types <- x$types
m <- length(types)
m <- length(traits)
scales <- sapply(types, substr, 1, 1)
# count number of qualitative traits (nominal)
m.qual <- sum(scales == "N")
# count number of quantitative traits (ordinal, interval, ratio)
m.quan <- sum(scales %in% c("O", "I", "R"))
# find qualitative traits (nominal)
qual <- traits[which(scales == "N")]
# find quantitative traits (ordinal, interval, ratio)
quan <- traits[which(scales %in% c("O", "I", "R"))]

cat("# Phenotypes\n")

cat("# Phenotypes\n\n")
if(include.size){
cat(sprintf("Number of accessions = %d\n", n))
cat(sprintf("\nNumber of accessions = %d\n", n))
cat("Ids:")
str(x$ids)
if(!isTRUE(all.equal(x$ids, x$names))){
cat("Names:")
str(x$names)
}
}

format.traits <- function(traits){
if(length(traits) > 0){
# wrap in double quotes
traits <- sprintf('"%s"', traits)
# collapse
traits <- paste(traits, collapse = " ")
} else {
traits <- "n/a"
}
return(traits)
}

cat(sprintf("Number of traits = %d", m),
sprintf("Number of qualitative traits = %d", m.qual),
sprintf("Number of quantitative traits = %d", m.quan),
sep = "\n")
cat(sprintf("\nNumber of traits = %d\n", m))
cat(sprintf("Traits: %s\n", format.traits(traits)))

cat(sprintf("Quantitative traits: %s\n", format.traits(quan)))
cat(sprintf("Qualitative traits: %s\n", format.traits(qual)))

if(!is.null(x$file)){
cat(sprintf("\nRead from file: \"%s\"\n", x$file))
}
Expand Down
21 changes: 17 additions & 4 deletions tests/testthat/testData.R
Expand Up @@ -114,6 +114,8 @@ test_that("print", {
data <- distanceData(size = "small")
expect_output(print(data), "# Precomputed distance matrix")
expect_output(print(data), "accessions = 5")
expect_output(print(data), 'Ids: chr \\[1:5\\] "Alice" "Dave" "Bob" "Bob\'" "Carol"')
expect_output(print(data), 'Names: chr \\[1:5\\] "Alice" "Dave" "Bob" "Bob" "Carol"')
expect_output(print(data), "testthat[\\/]*data[\\/]*distances-small.txt")
})

Expand Down Expand Up @@ -477,23 +479,32 @@ test_that("print", {
data <- genotypeData(format = "default", size = "small")
expect_output(print(data), "# Genotypes")
expect_output(print(data), "accessions = 5")
expect_output(print(data), 'Ids: chr \\[1:5\\] "Alice" "Dave" "Bob" "Bob\'" "Carol"')
expect_output(print(data), 'Names: chr \\[1:5\\] "Alice" "Dave" "Bob" "Bob" "Carol"')
expect_output(print(data), "markers = 4")
expect_output(print(data), 'Marker names: chr \\[1:4\\] "mk1" "mk,2" "mk\'3" "mk4"')
expect_output(print(data), "alleles per marker = 2-4")
expect_output(print(data), "Format = default")
expect_output(print(data), "testthat[\\/]*data[\\/]*genotypes-small.csv")

data <- genotypeData(format = "biparental", size = "small")
expect_output(print(data), "# Genotypes")
expect_output(print(data), "accessions = 5")
expect_output(print(data), 'Ids: chr \\[1:5\\] "Alice" "Dave" "Bob" "Bob\'" "Carol"')
expect_output(print(data), 'Names: chr \\[1:5\\] "Alice" "Dave" "Bob" "Bob" "Carol"')
expect_output(print(data), "markers = 4")
expect_output(print(data), 'Marker names: chr \\[1:4\\] "mk1" "mk,2" "mk\'3" "mk4"')
expect_output(print(data), "alleles per marker = 2")
expect_output(print(data), "Format = biparental")
expect_output(print(data), "testthat[\\/]*data[\\/]*genotypes-bi-small.csv")

data <- genotypeData(format = "freq", size = "small")
expect_output(print(data), "# Genotypes")
expect_output(print(data), "accessions = 5")
expect_output(print(data), 'Ids: chr \\[1:5\\] "Alice" "Dave" "Bob" "Bob\'" "Carol"')
expect_output(print(data), 'Names: chr \\[1:5\\] "Alice" "Dave" "Bob" "Bob" "Carol"')
expect_output(print(data), "markers = 4")
expect_output(print(data), 'Marker names: chr \\[1:4\\] "mk1" "mk,2" "mk\'3" "mk4"')
expect_output(print(data), "alleles per marker = 2-4")
expect_output(print(data), "Format = frequency")
expect_output(print(data), "testthat[\\/]*data[\\/]*genotypes-freq-small.csv")
Expand Down Expand Up @@ -661,16 +672,18 @@ test_that("print", {
expect_output(print(data), "# Phenotypes")
expect_output(print(data), "accessions = 218")
expect_output(print(data), "traits = 4")
expect_output(print(data), "qualitative traits = 0")
expect_output(print(data), "quantitative traits = 4")
expect_output(print(data), 'Traits: "GY" "PHT" "EHT" "AD"')
expect_output(print(data), 'Quantitative traits: "GY" "PHT" "EHT" "AD"')
expect_output(print(data), 'Qualitative traits: n/a')
expect_output(print(data), "extdata[\\/]*phenotypes.csv")

data <- phenotypeData(size = "small")
expect_output(print(data), "# Phenotypes")
expect_output(print(data), "accessions = 5")
expect_output(print(data), "traits = 5")
expect_output(print(data), "qualitative traits = 2")
expect_output(print(data), "quantitative traits = 3")
expect_output(print(data), 'Traits: "trait 1" "trait 2" "trait 3" "trait 4" "trait 5"')
expect_output(print(data), 'Quantitative traits: "trait 2" "trait 3" "trait 4"')
expect_output(print(data), 'Qualitative traits: "trait 1" "trait 5"')
expect_output(print(data), "testthat[\\/]*data[\\/]*phenotypes-small.csv")
})

Expand Down

0 comments on commit cc64216

Please sign in to comment.