Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# chiimp dev

* Made `load_dataset` warn about repeated Sample+Replicate+Locus entries
across rows ([#90])
* Made `load_config` warn about any unrecognized configuration file entries
([#88])

[#90]: https://github.com/ShawHahnLab/chiimp/pull/90
[#88]: https://github.com/ShawHahnLab/chiimp/pull/88

# chiimp 0.4.0
Expand Down
8 changes: 8 additions & 0 deletions R/io.R
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,14 @@ load_dataset <- function(fp, ...) {
warning(paste("Missing columns in dataset table:",
dataset_cols[col.missing]))
}
# check for duplicated Sample+Replicate+Locus entries
cts <- table(with(data, paste(Sample, Replicate, Locus, sep = "/")))
dups <- names(cts[cts > 1])
if (length(dups) > 0) {
warning(paste(
"Duplicated sample/replicate/locus entries for",
paste(dups, collapse = ", ")))
}
rownames(data) <- make_rownames(data)
data
}
Expand Down
7 changes: 1 addition & 6 deletions R/util.R
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,4 @@ logmsg <- function(msg, col2=as.character(Sys.time()), end="\n") {
}
# stderr: file descriptor 2
cat(paste0(msg, end), file = 2)
}

# append an empty string to each the given files
touch <- function(fps) {
lapply(fps, function(fp) cat("", file = fp, append = TRUE))
}
}
61 changes: 61 additions & 0 deletions tests/testthat/data/io/dataset.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
Filename,Replicate,Sample,Locus
1-1-1.fasta,1,1,1
2-1-1.fasta,2,1,1
3-1-1.fasta,3,1,1
1-2-1.fasta,1,2,1
2-2-1.fasta,2,2,1
3-2-1.fasta,3,2,1
1-3-1.fasta,1,3,1
2-3-1.fasta,2,3,1
3-3-1.fasta,3,3,1
1-4-1.fasta,1,4,1
2-4-1.fasta,2,4,1
3-4-1.fasta,3,4,1
1-5-1.fasta,1,5,1
2-5-1.fasta,2,5,1
3-5-1.fasta,3,5,1
1-1-2.fasta,1,1,2
2-1-2.fasta,2,1,2
3-1-2.fasta,3,1,2
1-2-2.fasta,1,2,2
2-2-2.fasta,2,2,2
3-2-2.fasta,3,2,2
1-3-2.fasta,1,3,2
2-3-2.fasta,2,3,2
3-3-2.fasta,3,3,2
1-4-2.fasta,1,4,2
2-4-2.fasta,2,4,2
3-4-2.fasta,3,4,2
1-5-2.fasta,1,5,2
2-5-2.fasta,2,5,2
3-5-2.fasta,3,5,2
1-1-A.fasta,1,1,A
2-1-A.fasta,2,1,A
3-1-A.fasta,3,1,A
1-2-A.fasta,1,2,A
2-2-A.fasta,2,2,A
3-2-A.fasta,3,2,A
1-3-A.fasta,1,3,A
2-3-A.fasta,2,3,A
3-3-A.fasta,3,3,A
1-4-A.fasta,1,4,A
2-4-A.fasta,2,4,A
3-4-A.fasta,3,4,A
1-5-A.fasta,1,5,A
2-5-A.fasta,2,5,A
3-5-A.fasta,3,5,A
1-1-B.fasta,1,1,B
2-1-B.fasta,2,1,B
3-1-B.fasta,3,1,B
1-2-B.fasta,1,2,B
2-2-B.fasta,2,2,B
3-2-B.fasta,3,2,B
1-3-B.fasta,1,3,B
2-3-B.fasta,2,3,B
3-3-B.fasta,3,3,B
1-4-B.fasta,1,4,B
2-4-B.fasta,2,4,B
3-4-B.fasta,3,4,B
1-5-B.fasta,1,5,B
2-5-B.fasta,2,5,B
3-5-B.fasta,3,5,B
Binary file added tests/testthat/data/io/dataset.rds
Binary file not shown.
65 changes: 65 additions & 0 deletions tests/testthat/data/io/dataset_dups.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Filename,Replicate,Sample,Locus
1-1-1.fasta,1,1,1
2-1-1.fasta,2,1,1
3-1-1.fasta,3,1,1
1-2-1.fasta,1,2,1
2-2-1.fasta,2,2,1
3-2-1.fasta,3,2,1
1-3-1.fasta,1,3,1
2-3-1.fasta,2,3,1
3-3-1.fasta,3,3,1
1-4-1.fasta,1,4,1
2-4-1.fasta,2,4,1
3-4-1.fasta,3,4,1
1-5-1.fasta,1,5,1
2-5-1.fasta,2,5,1
3-5-1.fasta,3,5,1
1-1-2.fasta,1,1,2
2-1-2.fasta,2,1,2
3-1-2.fasta,3,1,2
1-2-2.fasta,1,2,2
2-2-2.fasta,2,2,2
3-2-2.fasta,3,2,2
1-3-2.fasta,1,3,2
2-3-2.fasta,2,3,2
3-3-2.fasta,3,3,2
1-4-2.fasta,1,4,2
2-4-2.fasta,2,4,2
3-4-2.fasta,3,4,2
1-5-2.fasta,1,5,2
2-5-2.fasta,2,5,2
3-5-2.fasta,3,5,2
1-1-A.fasta,1,1,A
2-1-A.fasta,2,1,A
3-1-A.fasta,3,1,A
1-2-A.fasta,1,2,A
2-2-A.fasta,2,2,A
3-2-A.fasta,3,2,A
1-3-A.fasta,1,3,A
2-3-A.fasta,2,3,A
3-3-A.fasta,3,3,A
1-4-A.fasta,1,4,A
2-4-A.fasta,2,4,A
3-4-A.fasta,3,4,A
1-5-A.fasta,1,5,A
2-5-A.fasta,2,5,A
3-5-A.fasta,3,5,A
1-1-B.fasta,1,1,B
2-1-B.fasta,2,1,B
3-1-B.fasta,3,1,B
1-2-B.fasta,1,2,B
2-2-B.fasta,2,2,B
3-2-B.fasta,3,2,B
1-3-B.fasta,1,3,B
2-3-B.fasta,2,3,B
3-3-B.fasta,3,3,B
1-4-B.fasta,1,4,B
2-4-B.fasta,2,4,B
3-4-B.fasta,3,4,B
1-5-B.fasta,1,5,B
2-5-B.fasta,2,5,B
3-5-B.fasta,3,5,B
1-1-1-alt.fasta,1,1,1
1-1-2-alt.fasta,1,1,2
1-1-A-alt.fasta,1,1,A
1-1-B-alt.fasta,1,1,B
Binary file added tests/testthat/data/io/dataset_dups.rds
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/testthat/data/io/locus_attrs.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Locus,LengthMin,LengthMax,LengthBuffer,Motif,Primer,ReversePrimer
A,131,179,20,TAGA,TATCACTGGTGTTAGTCCTCTG,CACAGTTGTGTGAGCCAGTC
B,194,235,20,TAGA,AGTCTCTCTTTCTCCTTGCA,TAGGAGCCTGTGGTCCTGTT
1,232,270,20,TATC,ACAGTCAAGAATAACTGCCC,CTGTGGCTCAAAAGCTGAAT
2,218,337,20,TCCA,TTGTCTCCCCAGTTGCTA,TCTGTCATAAACCGTCTGCA
Binary file added tests/testthat/data/io/locus_attrs.rds
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/testthat/data/io/locus_attrs_dups.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Locus,LengthMin,LengthMax,LengthBuffer,Motif,Primer,ReversePrimer
A,131,179,20,TAGA,TATCACTGGTGTTAGTCCTCTG,CACAGTTGTGTGAGCCAGTC
A,194,235,20,TAGA,AGTCTCTCTTTCTCCTTGCA,TAGGAGCCTGTGGTCCTGTT
1,232,270,20,TATC,ACAGTCAAGAATAACTGCCC,CTGTGGCTCAAAAGCTGAAT
2,218,337,20,TCCA,TTGTCTCCCCAGTTGCTA,TCTGTCATAAACCGTCTGCA
Binary file added tests/testthat/data/io/locus_attrs_dups.rds
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/testthat/data/io/locus_attrs_wrongcol.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Locus,length_min,LengthMax,LengthBuffer,Motif,Primer,ReversePrimer
A,131,179,20,TAGA,TATCACTGGTGTTAGTCCTCTG,CACAGTTGTGTGAGCCAGTC
B,194,235,20,TAGA,AGTCTCTCTTTCTCCTTGCA,TAGGAGCCTGTGGTCCTGTT
1,232,270,20,TATC,ACAGTCAAGAATAACTGCCC,CTGTGGCTCAAAAGCTGAAT
2,218,337,20,TCCA,TTGTCTCCCCAGTTGCTA,TCTGTCATAAACCGTCTGCA
3 changes: 3 additions & 0 deletions tests/testthat/data/io/misc.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Vec1,Vec2,Vec3
A,B,C
D,E,F
Binary file added tests/testthat/data/io/misc.csv.rds
Binary file not shown.
Binary file added tests/testthat/data/io/seqs.rds
Binary file not shown.
17 changes: 17 additions & 0 deletions tests/testthat/helper.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# execute expression inside of a temporary directory, and remove the directory
# afterward
within_tmpdir <- function(expr) {
here <- getwd()
data.dir <- tempfile()
dir.create(data.dir)
setwd(data.dir)
tryCatch(eval(expr), finally = {
unlink(x = data.dir, recursive = TRUE)
setwd(here)
})
}

# append an empty string to each the given files
touch <- function(fps) {
lapply(fps, function(fp) cat("", file = fp, append = TRUE))
}
Loading