Back to Multiple platform build/check report for BioC 3.13 |
|
This page was generated on 2021-10-15 15:06:06 -0400 (Fri, 15 Oct 2021).
To the developers/maintainers of the genomeIntervals package: - Please allow up to 24 hours (and sometimes 48 hours) for your latest push to git@git.bioconductor.org:packages/genomeIntervals.git to reflect on this report. See How and When does the builder pull? When will my changes propagate? here for more information. - Make sure to use the following settings in order to reproduce any error or warning you see on this page. |
Package 737/2041 | Hostname | OS / Arch | INSTALL | BUILD | CHECK | BUILD BIN | ||||||||
genomeIntervals 1.48.0 (landing page) Julien Gagneur
| nebbiolo1 | Linux (Ubuntu 20.04.2 LTS) / x86_64 | OK | OK | OK | |||||||||
tokay2 | Windows Server 2012 R2 Standard / x64 | OK | OK | OK | OK | |||||||||
machv2 | macOS 10.14.6 Mojave / x86_64 | OK | OK | OK | OK | |||||||||
Package: genomeIntervals |
Version: 1.48.0 |
Command: C:\Users\biocbuild\bbs-3.13-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:genomeIntervals.install-out.txt --library=C:\Users\biocbuild\bbs-3.13-bioc\R\library --no-vignettes --timings genomeIntervals_1.48.0.tar.gz |
StartedAt: 2021-10-14 23:35:28 -0400 (Thu, 14 Oct 2021) |
EndedAt: 2021-10-14 23:37:57 -0400 (Thu, 14 Oct 2021) |
EllapsedTime: 149.2 seconds |
RetCode: 0 |
Status: OK |
CheckDir: genomeIntervals.Rcheck |
Warnings: 0 |
############################################################################## ############################################################################## ### ### Running command: ### ### C:\Users\biocbuild\bbs-3.13-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:genomeIntervals.install-out.txt --library=C:\Users\biocbuild\bbs-3.13-bioc\R\library --no-vignettes --timings genomeIntervals_1.48.0.tar.gz ### ############################################################################## ############################################################################## * using log directory 'C:/Users/biocbuild/bbs-3.13-bioc/meat/genomeIntervals.Rcheck' * using R version 4.1.1 (2021-08-10) * using platform: x86_64-w64-mingw32 (64-bit) * using session charset: ISO8859-1 * using option '--no-vignettes' * checking for file 'genomeIntervals/DESCRIPTION' ... OK * checking extension type ... Package * this is package 'genomeIntervals' version '1.48.0' * package encoding: UTF-8 * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking whether package 'genomeIntervals' can be installed ... OK * checking installed package size ... OK * checking package directory ... OK * checking 'build' directory ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking R files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * loading checks for arch 'i386' ** checking whether the package can be loaded ... OK ** checking whether the package can be loaded with stated dependencies ... OK ** checking whether the package can be unloaded cleanly ... OK ** checking whether the namespace can be loaded with stated dependencies ... OK ** checking whether the namespace can be unloaded cleanly ... OK * loading checks for arch 'x64' ** checking whether the package can be loaded ... OK ** checking whether the package can be loaded with stated dependencies ... OK ** checking whether the package can be unloaded cleanly ... OK ** checking whether the namespace can be loaded with stated dependencies ... OK ** checking whether the namespace can be unloaded cleanly ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... OK * checking Rd files ... OK * checking Rd metadata ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking contents of 'data' directory ... OK * checking data for non-ASCII characters ... OK * checking data for ASCII and uncompressed saves ... OK * checking files in 'vignettes' ... OK * checking examples ... ** running examples for arch 'i386' ... OK ** running examples for arch 'x64' ... OK * checking for unstated dependencies in 'tests' ... OK * checking tests ... ** running tests for arch 'i386' ... Running 'benchmarking-tests.R' Comparing 'benchmarking-tests.Rout' to 'benchmarking-tests.Rout.save' ...37c37 < tapply, union, unique, unsplit, which.max, which.min --- > tapply, union, unique, unsplit, which, which.max, which.min Running 'consistency-tests.R' Comparing 'consistency-tests.Rout' to 'consistency-tests.Rout.save' ...34c34 < tapply, union, unique, unsplit, which.max, which.min --- > tapply, union, unique, unsplit, which, which.max, which.min Running 'fullShow.R' OK ** running tests for arch 'x64' ... Running 'benchmarking-tests.R' Comparing 'benchmarking-tests.Rout' to 'benchmarking-tests.Rout.save' ...37c37 < tapply, union, unique, unsplit, which.max, which.min --- > tapply, union, unique, unsplit, which, which.max, which.min Running 'consistency-tests.R' Comparing 'consistency-tests.Rout' to 'consistency-tests.Rout.save' ...34c34 < tapply, union, unique, unsplit, which.max, which.min --- > tapply, union, unique, unsplit, which, which.max, which.min Running 'fullShow.R' OK * checking for unstated dependencies in vignettes ... OK * checking package vignettes in 'inst/doc' ... OK * checking running R code from vignettes ... SKIPPED * checking re-building of vignette outputs ... SKIPPED * checking PDF version of manual ... OK * DONE Status: OK
genomeIntervals.Rcheck/00install.out
############################################################################## ############################################################################## ### ### Running command: ### ### C:\cygwin\bin\curl.exe -O http://155.52.207.165/BBS/3.13/bioc/src/contrib/genomeIntervals_1.48.0.tar.gz && rm -rf genomeIntervals.buildbin-libdir && mkdir genomeIntervals.buildbin-libdir && C:\Users\biocbuild\bbs-3.13-bioc\R\bin\R.exe CMD INSTALL --merge-multiarch --build --library=genomeIntervals.buildbin-libdir genomeIntervals_1.48.0.tar.gz && C:\Users\biocbuild\bbs-3.13-bioc\R\bin\R.exe CMD INSTALL genomeIntervals_1.48.0.zip && rm genomeIntervals_1.48.0.tar.gz genomeIntervals_1.48.0.zip ### ############################################################################## ############################################################################## % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 38898 100 38898 0 0 290k 0 --:--:-- --:--:-- --:--:-- 292k install for i386 * installing *source* package 'genomeIntervals' ... ** using staged installation ** R ** data ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices converting help for package 'genomeIntervals' finding HTML links ... done GenomeIntervals-constructor html Genome_intervals-class html finding level-2 HTML links ... done Genome_intervals-coercion-methods html Genome_intervals-deprecated html Genome_intervals-ordering html Genome_intervals_stranded-class html c.Genome_intervals html core_annotated html distance_to_nearest-methods html gen_ints html genomeIntervals-package html REDIRECT:topic Previous alias or file overwritten by alias: C:/Users/biocbuild/bbs-3.13-bioc/meat/genomeIntervals.buildbin-libdir/00LOCK-genomeIntervals/00new/genomeIntervals/help/genomeIntervals.html genomeIntervals-readGff3 html getGffAttribute html interval_overlap-methods html interval_set_operations-methods html parseGffAttributes html ** building package indices ** installing vignettes ** testing if installed package can be loaded from temporary location ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path install for x64 * installing *source* package 'genomeIntervals' ... ** testing if installed package can be loaded * MD5 sums packaged installation of 'genomeIntervals' as genomeIntervals_1.48.0.zip * DONE (genomeIntervals) * installing to library 'C:/Users/biocbuild/bbs-3.13-bioc/R/library' package 'genomeIntervals' successfully unpacked and MD5 sums checked
genomeIntervals.Rcheck/tests_i386/benchmarking-tests.Rout.save R version 4.0.0 (2020-04-24) -- "Arbor Day" Copyright (C) 2020 The R Foundation for Statistical Computing Platform: x86_64-apple-darwin17.0 (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # benchmarking tests > # > # on modifications, regenerate .Rout.save with: > # R --vanilla <./benchmarking-tests.R >& ./benchmarking-tests.Rout.save > # and use svn' diff to check for differences > # > # Author: julien.gagneur > ############################################################################### > > library(genomeIntervals) Loading required package: intervals Loading required package: BiocGenerics Loading required package: parallel Attaching package: 'BiocGenerics' The following objects are masked from 'package:parallel': clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from 'package:intervals': type, type<- The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which, which.max, which.min > source("fullShow.R") > options(warn = -1) > > #--------------- > # make data > #--------------- > # toy examples > data("gen_ints") > > # non-stranded versions > i0 = as(i, "Genome_intervals") > j0 = as(j, "Genome_intervals") > k0 = as(k, "Genome_intervals") > > # empty intervals > e = k[1:3,] > e[,2] = e[,1] > closed(e) = FALSE > > #--------------- > # checks > #--------------- > # distance to nearest > cat("distance_to_nearest\n") distance_to_nearest > print( distance_to_nearest(i,j) ) # x [1] 0 2 3 0 0 0 NA > print( distance_to_nearest(j,i) ) # x [1] 0 2 NA 0 0 > print( distance_to_nearest(i,k) ) # x [1] 0.0 1.5 2.5 0.5 0.0 0.0 NA > print( distance_to_nearest(i,e) ) # x [1] NA NA NA NA NA NA NA > print( distance_to_nearest(e,i) ) # x [1] NA NA NA > > print( distance_to_nearest(i0,j0) ) # x [1] 0 0 1 0 0 0 NA > print( distance_to_nearest(j0,i0) ) # x [1] 0 2 0 0 0 > cat("\n") > > # interval overlap > cat("interval_overlap\n") interval_overlap > print( interval_overlap(i,k) ) # x [[1]] [1] 1 [[2]] integer(0) [[3]] integer(0) [[4]] integer(0) [[5]] [1] 5 [[6]] [1] 4 [[7]] integer(0) > print( interval_overlap(i,e) ) # x [[1]] integer(0) [[2]] integer(0) [[3]] integer(0) [[4]] integer(0) [[5]] integer(0) [[6]] integer(0) [[7]] integer(0) > print( interval_overlap(i0,j0) ) # x [[1]] [1] 1 [[2]] [1] 3 [[3]] integer(0) [[4]] [1] 5 [[5]] [1] 5 [[6]] [1] 4 5 [[7]] integer(0) > cat("\n") > > > # set operations > cat("interval_union\n") interval_union > fullShow( close_intervals( interval_union(i) ) ) # x Object of class Genome_intervals_stranded 4 base intervals and 0 inter-base intervals(*): chr01 + [1, 4] chr02 + [4, 12] chr03 + [2, 5] chr02 - [5, 11] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr02 FALSE + 3 chr03 FALSE + 4 chr02 FALSE - > fullShow( close_intervals( interval_union(i,k) ) ) # x Object of class Genome_intervals_stranded 6 base intervals and 2 inter-base intervals(*): chr01 + [1, 4] chr01 + [6, 10] chr01 + [1, 1] * chr02 + [4, 15] chr03 + [2, 5] chr01 - [4, 5] chr02 - [5, 11] chr02 - [8, 8] * annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 TRUE + 4 chr02 FALSE + 5 chr03 FALSE + 6 chr01 FALSE - 7 chr02 FALSE - 8 chr02 TRUE - > fullShow( close_intervals( interval_union(i0,k0) ) ) # x Object of class Genome_intervals 3 base intervals and 2 inter-base intervals(*): chr01 [1, 10] chr01 [1, 1] * chr02 [4, 15] chr02 [8, 8] * chr03 [2, 5] annotation: inter_base seq_name 1 FALSE chr01 2 TRUE chr01 3 FALSE chr02 4 TRUE chr02 5 FALSE chr03 > fullShow( close_intervals( interval_union(e) ) ) # x Object of class Genome_intervals_stranded 0 base intervals and 0 inter-base intervals(*): annotation: [1] seq_name inter_base strand <0 rows> (or 0-length row.names) > cat("\n") > > cat("interval_intersection\n") interval_intersection > fullShow( close_intervals( interval_intersection(i,j) ) ) # x Object of class Genome_intervals_stranded 3 base intervals and 0 inter-base intervals(*): chr01 + [1, 1] chr02 - [8, 8] chr02 + [12, 12] annotation: inter_base seq_name strand 1 FALSE chr01 + 2 FALSE chr02 - 3 FALSE chr02 + > fullShow( close_intervals( interval_intersection(i,k) ) ) # x Object of class Genome_intervals_stranded 1 base interval and 0 inter-base intervals(*): chr02 + [12, 12] annotation: inter_base seq_name strand 1 FALSE chr02 + > fullShow( close_intervals( interval_intersection(i,e) ) ) # x Object of class Genome_intervals_stranded 0 base intervals and 0 inter-base intervals(*): annotation: [1] inter_base seq_name strand <0 rows> (or 0-length row.names) > cat("\n") > > cat("interval_complement\n") interval_complement > fullShow( close_intervals( interval_complement(j) ) ) # x Object of class Genome_intervals_stranded 9 base intervals and 0 inter-base intervals(*): chr01 + [-Inf, 0] chr01 + [2, 5] chr01 + [11, Inf] chr02 + [-Inf, 11] chr02 + [16, Inf] chr01 - [-Inf, 3] chr01 - [6, Inf] chr02 - [-Inf, 7] chr02 - [9, Inf] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 FALSE + 4 chr02 FALSE + 5 chr02 FALSE + 6 chr01 FALSE - 7 chr01 FALSE - 8 chr02 FALSE - 9 chr02 FALSE - > fullShow( close_intervals( interval_complement(j0) ) ) # x Object of class Genome_intervals 6 base intervals and 0 inter-base intervals(*): chr01 [-Inf, 0] chr01 [2, 3] chr01 [11, Inf] chr02 [-Inf, 7] chr02 [9, 11] chr02 [16, Inf] annotation: inter_base seq_name 1 FALSE chr01 2 FALSE chr01 3 FALSE chr01 4 FALSE chr02 5 FALSE chr02 6 FALSE chr02 > fullShow( close_intervals( interval_complement(k) ) ) # x Object of class Genome_intervals_stranded 7 base intervals and 6 inter-base intervals(*): chr01 + [-Inf, 5] chr01 + [11, Inf] chr01 + [-Inf, 0] * chr01 + [2, Inf] * chr02 + [-Inf, 11] chr02 + [16, Inf] chr02 + [-Inf, Inf] * chr01 - [-Inf, 3] chr01 - [6, Inf] chr01 - [-Inf, Inf] * chr02 - [-Inf, Inf] chr02 - [-Inf, 7] * chr02 - [9, Inf] * annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 TRUE + 4 chr01 TRUE + 5 chr02 FALSE + 6 chr02 FALSE + 7 chr02 TRUE + 8 chr01 FALSE - 9 chr01 FALSE - 10 chr01 TRUE - 11 chr02 FALSE - 12 chr02 TRUE - 13 chr02 TRUE - > fullShow( close_intervals( interval_complement(e) ) ) # x Object of class Genome_intervals_stranded 4 base intervals and 2 inter-base intervals(*): chr01 + [-Inf, Inf] chr01 + [-Inf, Inf] * chr02 + [-Inf, Inf] chr02 + [-Inf, Inf] * chr01 - [-Inf, Inf] chr02 - [-Inf, Inf] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 TRUE + 3 chr02 FALSE + 4 chr02 TRUE + 5 chr01 FALSE - 6 chr02 FALSE - > cat("\n") > > > proc.time() user system elapsed 3.697 0.178 3.876 |
genomeIntervals.Rcheck/tests_x64/benchmarking-tests.Rout.save R version 4.0.0 (2020-04-24) -- "Arbor Day" Copyright (C) 2020 The R Foundation for Statistical Computing Platform: x86_64-apple-darwin17.0 (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # benchmarking tests > # > # on modifications, regenerate .Rout.save with: > # R --vanilla <./benchmarking-tests.R >& ./benchmarking-tests.Rout.save > # and use svn' diff to check for differences > # > # Author: julien.gagneur > ############################################################################### > > library(genomeIntervals) Loading required package: intervals Loading required package: BiocGenerics Loading required package: parallel Attaching package: 'BiocGenerics' The following objects are masked from 'package:parallel': clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from 'package:intervals': type, type<- The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which, which.max, which.min > source("fullShow.R") > options(warn = -1) > > #--------------- > # make data > #--------------- > # toy examples > data("gen_ints") > > # non-stranded versions > i0 = as(i, "Genome_intervals") > j0 = as(j, "Genome_intervals") > k0 = as(k, "Genome_intervals") > > # empty intervals > e = k[1:3,] > e[,2] = e[,1] > closed(e) = FALSE > > #--------------- > # checks > #--------------- > # distance to nearest > cat("distance_to_nearest\n") distance_to_nearest > print( distance_to_nearest(i,j) ) # x [1] 0 2 3 0 0 0 NA > print( distance_to_nearest(j,i) ) # x [1] 0 2 NA 0 0 > print( distance_to_nearest(i,k) ) # x [1] 0.0 1.5 2.5 0.5 0.0 0.0 NA > print( distance_to_nearest(i,e) ) # x [1] NA NA NA NA NA NA NA > print( distance_to_nearest(e,i) ) # x [1] NA NA NA > > print( distance_to_nearest(i0,j0) ) # x [1] 0 0 1 0 0 0 NA > print( distance_to_nearest(j0,i0) ) # x [1] 0 2 0 0 0 > cat("\n") > > # interval overlap > cat("interval_overlap\n") interval_overlap > print( interval_overlap(i,k) ) # x [[1]] [1] 1 [[2]] integer(0) [[3]] integer(0) [[4]] integer(0) [[5]] [1] 5 [[6]] [1] 4 [[7]] integer(0) > print( interval_overlap(i,e) ) # x [[1]] integer(0) [[2]] integer(0) [[3]] integer(0) [[4]] integer(0) [[5]] integer(0) [[6]] integer(0) [[7]] integer(0) > print( interval_overlap(i0,j0) ) # x [[1]] [1] 1 [[2]] [1] 3 [[3]] integer(0) [[4]] [1] 5 [[5]] [1] 5 [[6]] [1] 4 5 [[7]] integer(0) > cat("\n") > > > # set operations > cat("interval_union\n") interval_union > fullShow( close_intervals( interval_union(i) ) ) # x Object of class Genome_intervals_stranded 4 base intervals and 0 inter-base intervals(*): chr01 + [1, 4] chr02 + [4, 12] chr03 + [2, 5] chr02 - [5, 11] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr02 FALSE + 3 chr03 FALSE + 4 chr02 FALSE - > fullShow( close_intervals( interval_union(i,k) ) ) # x Object of class Genome_intervals_stranded 6 base intervals and 2 inter-base intervals(*): chr01 + [1, 4] chr01 + [6, 10] chr01 + [1, 1] * chr02 + [4, 15] chr03 + [2, 5] chr01 - [4, 5] chr02 - [5, 11] chr02 - [8, 8] * annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 TRUE + 4 chr02 FALSE + 5 chr03 FALSE + 6 chr01 FALSE - 7 chr02 FALSE - 8 chr02 TRUE - > fullShow( close_intervals( interval_union(i0,k0) ) ) # x Object of class Genome_intervals 3 base intervals and 2 inter-base intervals(*): chr01 [1, 10] chr01 [1, 1] * chr02 [4, 15] chr02 [8, 8] * chr03 [2, 5] annotation: inter_base seq_name 1 FALSE chr01 2 TRUE chr01 3 FALSE chr02 4 TRUE chr02 5 FALSE chr03 > fullShow( close_intervals( interval_union(e) ) ) # x Object of class Genome_intervals_stranded 0 base intervals and 0 inter-base intervals(*): annotation: [1] seq_name inter_base strand <0 rows> (or 0-length row.names) > cat("\n") > > cat("interval_intersection\n") interval_intersection > fullShow( close_intervals( interval_intersection(i,j) ) ) # x Object of class Genome_intervals_stranded 3 base intervals and 0 inter-base intervals(*): chr01 + [1, 1] chr02 - [8, 8] chr02 + [12, 12] annotation: inter_base seq_name strand 1 FALSE chr01 + 2 FALSE chr02 - 3 FALSE chr02 + > fullShow( close_intervals( interval_intersection(i,k) ) ) # x Object of class Genome_intervals_stranded 1 base interval and 0 inter-base intervals(*): chr02 + [12, 12] annotation: inter_base seq_name strand 1 FALSE chr02 + > fullShow( close_intervals( interval_intersection(i,e) ) ) # x Object of class Genome_intervals_stranded 0 base intervals and 0 inter-base intervals(*): annotation: [1] inter_base seq_name strand <0 rows> (or 0-length row.names) > cat("\n") > > cat("interval_complement\n") interval_complement > fullShow( close_intervals( interval_complement(j) ) ) # x Object of class Genome_intervals_stranded 9 base intervals and 0 inter-base intervals(*): chr01 + [-Inf, 0] chr01 + [2, 5] chr01 + [11, Inf] chr02 + [-Inf, 11] chr02 + [16, Inf] chr01 - [-Inf, 3] chr01 - [6, Inf] chr02 - [-Inf, 7] chr02 - [9, Inf] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 FALSE + 4 chr02 FALSE + 5 chr02 FALSE + 6 chr01 FALSE - 7 chr01 FALSE - 8 chr02 FALSE - 9 chr02 FALSE - > fullShow( close_intervals( interval_complement(j0) ) ) # x Object of class Genome_intervals 6 base intervals and 0 inter-base intervals(*): chr01 [-Inf, 0] chr01 [2, 3] chr01 [11, Inf] chr02 [-Inf, 7] chr02 [9, 11] chr02 [16, Inf] annotation: inter_base seq_name 1 FALSE chr01 2 FALSE chr01 3 FALSE chr01 4 FALSE chr02 5 FALSE chr02 6 FALSE chr02 > fullShow( close_intervals( interval_complement(k) ) ) # x Object of class Genome_intervals_stranded 7 base intervals and 6 inter-base intervals(*): chr01 + [-Inf, 5] chr01 + [11, Inf] chr01 + [-Inf, 0] * chr01 + [2, Inf] * chr02 + [-Inf, 11] chr02 + [16, Inf] chr02 + [-Inf, Inf] * chr01 - [-Inf, 3] chr01 - [6, Inf] chr01 - [-Inf, Inf] * chr02 - [-Inf, Inf] chr02 - [-Inf, 7] * chr02 - [9, Inf] * annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 TRUE + 4 chr01 TRUE + 5 chr02 FALSE + 6 chr02 FALSE + 7 chr02 TRUE + 8 chr01 FALSE - 9 chr01 FALSE - 10 chr01 TRUE - 11 chr02 FALSE - 12 chr02 TRUE - 13 chr02 TRUE - > fullShow( close_intervals( interval_complement(e) ) ) # x Object of class Genome_intervals_stranded 4 base intervals and 2 inter-base intervals(*): chr01 + [-Inf, Inf] chr01 + [-Inf, Inf] * chr02 + [-Inf, Inf] chr02 + [-Inf, Inf] * chr01 - [-Inf, Inf] chr02 - [-Inf, Inf] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 TRUE + 3 chr02 FALSE + 4 chr02 TRUE + 5 chr01 FALSE - 6 chr02 FALSE - > cat("\n") > > > proc.time() user system elapsed 3.697 0.178 3.876 |
genomeIntervals.Rcheck/tests_i386/consistency-tests.Rout.save R version 4.0.0 (2020-04-24) -- "Arbor Day" Copyright (C) 2020 The R Foundation for Statistical Computing Platform: x86_64-apple-darwin17.0 (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # consistency test > # > # Author: julien.gagneur > ############################################################################### > > > library( genomeIntervals ) Loading required package: intervals Loading required package: BiocGenerics Loading required package: parallel Attaching package: 'BiocGenerics' The following objects are masked from 'package:parallel': clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from 'package:intervals': type, type<- The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which, which.max, which.min > > options(warn = -1) > > #--------- > # settings > #--------- > # size of random objects > n = 1e+3 > # chrom length > l = 1e+3 > # nb of chroms > k = 3 > > #--------- > # data generation > #--------- > > randGenint = function(n,l,k){ + m = matrix( sample(l, 2*n, replace=TRUE), nc = 2 ) + m = cbind( apply( m, 1, min), apply( m, 1, max ) ) + + cl = matrix( sample( c(FALSE,TRUE), 2*n, replace =TRUE), nc=2 ) + new( + "Genome_intervals_stranded", + m, + closed = cl, + annotation = data.frame( + seq_name = factor(paste("chr", sample(k, n, replace=TRUE) )), + inter_base = sample( c(FALSE,TRUE), n, replace =TRUE), + strand = factor(sample(c("-", "+"), n, replace =TRUE)) + ) + ) + } > > i = randGenint(n,l,k) > j = randGenint(n,l,k) > i0 = as(i, "Genome_intervals") > j0 = as(j, "Genome_intervals") > > #--------- > # checks > #--------- > > # distances from i to j > dn = distance_to_nearest(i,j) > > # distance is NA or >=0 > if( any( !is.na(dn) & dn < 0) ) stop("negative distance.") > > # distance == 0 if and only if the interval overlaps another one: > io = interval_overlap(i,j) > if( any( ( sapply(io, length) >0 ) != (!is.na(dn) & dn ==0) ) ) + stop("The property 'distance == 0 if and only if the interval overlaps another one' is not followed for at least one instance.") > > # same test for not stranded objects > dn0 = distance_to_nearest(i0,j0) > if( any( !is.na(dn0) & dn0 < 0) ) stop("negative distance.") > > io = interval_overlap(i0,j0) > if( any( ( sapply(io, length) >0 ) != (!is.na(dn0) & dn0 ==0) ) ) + stop("The property 'distance == 0 if and only if the interval overlaps another one' is not followed for at least one instance.") > > # unstranded distance <= stranded distance > delta = dn - dn0 > if( any(!is.na(delta) & delta < 0) ) stop("some unstranded distance larger than a stranded one.") > > # intersection with complement is empty > stopifnot( nrow( interval_intersection(i, interval_complement(i) ) ) == 0 ) > > # distance of union with complement is 1 > # test must be done for not inter-base (or inter-base) independently > a = interval_union(i[!inter_base(i),] ) > b = interval_complement(i[!inter_base(i),]) > > if(!(all.equal( distance_to_nearest( a, b ), rep(1, nrow(a) ) ) ) ) + stop("distance of union with complement is not 1.") > > # width is reported consistently > # they should all be 4 in length (we alternate the open/closed state of the intervals > # pairwise) > gi <- GenomeIntervals(start=c(6,6,5,5), + end=c(10,9,10,9), + chromosome=rep("chr1",4), + leftOpen = c(FALSE,FALSE,TRUE,TRUE), + rightOpen=c(TRUE,FALSE,TRUE,FALSE)) > > stopifnot(all(width(gi)==4)) > > proc.time() user system elapsed 3.868 0.188 4.048 |
genomeIntervals.Rcheck/tests_x64/consistency-tests.Rout.save R version 4.0.0 (2020-04-24) -- "Arbor Day" Copyright (C) 2020 The R Foundation for Statistical Computing Platform: x86_64-apple-darwin17.0 (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # consistency test > # > # Author: julien.gagneur > ############################################################################### > > > library( genomeIntervals ) Loading required package: intervals Loading required package: BiocGenerics Loading required package: parallel Attaching package: 'BiocGenerics' The following objects are masked from 'package:parallel': clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from 'package:intervals': type, type<- The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which, which.max, which.min > > options(warn = -1) > > #--------- > # settings > #--------- > # size of random objects > n = 1e+3 > # chrom length > l = 1e+3 > # nb of chroms > k = 3 > > #--------- > # data generation > #--------- > > randGenint = function(n,l,k){ + m = matrix( sample(l, 2*n, replace=TRUE), nc = 2 ) + m = cbind( apply( m, 1, min), apply( m, 1, max ) ) + + cl = matrix( sample( c(FALSE,TRUE), 2*n, replace =TRUE), nc=2 ) + new( + "Genome_intervals_stranded", + m, + closed = cl, + annotation = data.frame( + seq_name = factor(paste("chr", sample(k, n, replace=TRUE) )), + inter_base = sample( c(FALSE,TRUE), n, replace =TRUE), + strand = factor(sample(c("-", "+"), n, replace =TRUE)) + ) + ) + } > > i = randGenint(n,l,k) > j = randGenint(n,l,k) > i0 = as(i, "Genome_intervals") > j0 = as(j, "Genome_intervals") > > #--------- > # checks > #--------- > > # distances from i to j > dn = distance_to_nearest(i,j) > > # distance is NA or >=0 > if( any( !is.na(dn) & dn < 0) ) stop("negative distance.") > > # distance == 0 if and only if the interval overlaps another one: > io = interval_overlap(i,j) > if( any( ( sapply(io, length) >0 ) != (!is.na(dn) & dn ==0) ) ) + stop("The property 'distance == 0 if and only if the interval overlaps another one' is not followed for at least one instance.") > > # same test for not stranded objects > dn0 = distance_to_nearest(i0,j0) > if( any( !is.na(dn0) & dn0 < 0) ) stop("negative distance.") > > io = interval_overlap(i0,j0) > if( any( ( sapply(io, length) >0 ) != (!is.na(dn0) & dn0 ==0) ) ) + stop("The property 'distance == 0 if and only if the interval overlaps another one' is not followed for at least one instance.") > > # unstranded distance <= stranded distance > delta = dn - dn0 > if( any(!is.na(delta) & delta < 0) ) stop("some unstranded distance larger than a stranded one.") > > # intersection with complement is empty > stopifnot( nrow( interval_intersection(i, interval_complement(i) ) ) == 0 ) > > # distance of union with complement is 1 > # test must be done for not inter-base (or inter-base) independently > a = interval_union(i[!inter_base(i),] ) > b = interval_complement(i[!inter_base(i),]) > > if(!(all.equal( distance_to_nearest( a, b ), rep(1, nrow(a) ) ) ) ) + stop("distance of union with complement is not 1.") > > # width is reported consistently > # they should all be 4 in length (we alternate the open/closed state of the intervals > # pairwise) > gi <- GenomeIntervals(start=c(6,6,5,5), + end=c(10,9,10,9), + chromosome=rep("chr1",4), + leftOpen = c(FALSE,FALSE,TRUE,TRUE), + rightOpen=c(TRUE,FALSE,TRUE,FALSE)) > > stopifnot(all(width(gi)==4)) > > proc.time() user system elapsed 3.868 0.188 4.048 |
genomeIntervals.Rcheck/tests_i386/fullShow.Rout R version 4.1.1 (2021-08-10) -- "Kick Things" Copyright (C) 2021 The R Foundation for Statistical Computing Platform: i386-w64-mingw32/i386 (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # the fullShow methods is a show method for Genome_intervals objects. > # It is called by test scripts so that the full output of the tests can be checked. > # > # Author: gagneur > ############################################################################### > > fullShow <- function(object ) { + cat( + "Object of class ", + class( object ), + "\n", + sum( !inter_base(object) ), + " base interval", + ifelse( sum( !inter_base(object) ) == 1, "", "s" ), + " and ", + sum( inter_base(object) ), + " inter-base interval", + ifelse( sum( inter_base(object) ) == 1, "", "s" ), + "(*)", + ":\n", + sep = "" + ) + ints <- as( object, "character") + if ( !is.null( rownames( object ) ) ) { + fmt <- sprintf( "%%%is", max( nchar( rownames( object ) ) ) ) + ints <- paste( sprintf( fmt, rownames( object ) ), ints ) + } + cat( ints, sep = "\n" ) + cat( "annotation:\n") + show( annotation(object) ) + } > > > > > proc.time() user system elapsed 0.28 0.04 0.31 |
genomeIntervals.Rcheck/tests_x64/fullShow.Rout R version 4.1.1 (2021-08-10) -- "Kick Things" Copyright (C) 2021 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # the fullShow methods is a show method for Genome_intervals objects. > # It is called by test scripts so that the full output of the tests can be checked. > # > # Author: gagneur > ############################################################################### > > fullShow <- function(object ) { + cat( + "Object of class ", + class( object ), + "\n", + sum( !inter_base(object) ), + " base interval", + ifelse( sum( !inter_base(object) ) == 1, "", "s" ), + " and ", + sum( inter_base(object) ), + " inter-base interval", + ifelse( sum( inter_base(object) ) == 1, "", "s" ), + "(*)", + ":\n", + sep = "" + ) + ints <- as( object, "character") + if ( !is.null( rownames( object ) ) ) { + fmt <- sprintf( "%%%is", max( nchar( rownames( object ) ) ) ) + ints <- paste( sprintf( fmt, rownames( object ) ), ints ) + } + cat( ints, sep = "\n" ) + cat( "annotation:\n") + show( annotation(object) ) + } > > > > > proc.time() user system elapsed 0.23 0.04 0.26 |
genomeIntervals.Rcheck/tests_i386/benchmarking-tests.Rout R version 4.1.1 (2021-08-10) -- "Kick Things" Copyright (C) 2021 The R Foundation for Statistical Computing Platform: i386-w64-mingw32/i386 (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # benchmarking tests > # > # on modifications, regenerate .Rout.save with: > # R --vanilla <./benchmarking-tests.R >& ./benchmarking-tests.Rout.save > # and use svn' diff to check for differences > # > # Author: julien.gagneur > ############################################################################### > > library(genomeIntervals) Loading required package: intervals Loading required package: BiocGenerics Loading required package: parallel Attaching package: 'BiocGenerics' The following objects are masked from 'package:parallel': clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from 'package:intervals': type, type<- The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which.max, which.min > source("fullShow.R") > options(warn = -1) > > #--------------- > # make data > #--------------- > # toy examples > data("gen_ints") > > # non-stranded versions > i0 = as(i, "Genome_intervals") > j0 = as(j, "Genome_intervals") > k0 = as(k, "Genome_intervals") > > # empty intervals > e = k[1:3,] > e[,2] = e[,1] > closed(e) = FALSE > > #--------------- > # checks > #--------------- > # distance to nearest > cat("distance_to_nearest\n") distance_to_nearest > print( distance_to_nearest(i,j) ) # x [1] 0 2 3 0 0 0 NA > print( distance_to_nearest(j,i) ) # x [1] 0 2 NA 0 0 > print( distance_to_nearest(i,k) ) # x [1] 0.0 1.5 2.5 0.5 0.0 0.0 NA > print( distance_to_nearest(i,e) ) # x [1] NA NA NA NA NA NA NA > print( distance_to_nearest(e,i) ) # x [1] NA NA NA > > print( distance_to_nearest(i0,j0) ) # x [1] 0 0 1 0 0 0 NA > print( distance_to_nearest(j0,i0) ) # x [1] 0 2 0 0 0 > cat("\n") > > # interval overlap > cat("interval_overlap\n") interval_overlap > print( interval_overlap(i,k) ) # x [[1]] [1] 1 [[2]] integer(0) [[3]] integer(0) [[4]] integer(0) [[5]] [1] 5 [[6]] [1] 4 [[7]] integer(0) > print( interval_overlap(i,e) ) # x [[1]] integer(0) [[2]] integer(0) [[3]] integer(0) [[4]] integer(0) [[5]] integer(0) [[6]] integer(0) [[7]] integer(0) > print( interval_overlap(i0,j0) ) # x [[1]] [1] 1 [[2]] [1] 3 [[3]] integer(0) [[4]] [1] 5 [[5]] [1] 5 [[6]] [1] 4 5 [[7]] integer(0) > cat("\n") > > > # set operations > cat("interval_union\n") interval_union > fullShow( close_intervals( interval_union(i) ) ) # x Object of class Genome_intervals_stranded 4 base intervals and 0 inter-base intervals(*): chr01 + [1, 4] chr02 + [4, 12] chr03 + [2, 5] chr02 - [5, 11] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr02 FALSE + 3 chr03 FALSE + 4 chr02 FALSE - > fullShow( close_intervals( interval_union(i,k) ) ) # x Object of class Genome_intervals_stranded 6 base intervals and 2 inter-base intervals(*): chr01 + [1, 4] chr01 + [6, 10] chr01 + [1, 1] * chr02 + [4, 15] chr03 + [2, 5] chr01 - [4, 5] chr02 - [5, 11] chr02 - [8, 8] * annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 TRUE + 4 chr02 FALSE + 5 chr03 FALSE + 6 chr01 FALSE - 7 chr02 FALSE - 8 chr02 TRUE - > fullShow( close_intervals( interval_union(i0,k0) ) ) # x Object of class Genome_intervals 3 base intervals and 2 inter-base intervals(*): chr01 [1, 10] chr01 [1, 1] * chr02 [4, 15] chr02 [8, 8] * chr03 [2, 5] annotation: inter_base seq_name 1 FALSE chr01 2 TRUE chr01 3 FALSE chr02 4 TRUE chr02 5 FALSE chr03 > fullShow( close_intervals( interval_union(e) ) ) # x Object of class Genome_intervals_stranded 0 base intervals and 0 inter-base intervals(*): annotation: [1] seq_name inter_base strand <0 rows> (or 0-length row.names) > cat("\n") > > cat("interval_intersection\n") interval_intersection > fullShow( close_intervals( interval_intersection(i,j) ) ) # x Object of class Genome_intervals_stranded 3 base intervals and 0 inter-base intervals(*): chr01 + [1, 1] chr02 - [8, 8] chr02 + [12, 12] annotation: inter_base seq_name strand 1 FALSE chr01 + 2 FALSE chr02 - 3 FALSE chr02 + > fullShow( close_intervals( interval_intersection(i,k) ) ) # x Object of class Genome_intervals_stranded 1 base interval and 0 inter-base intervals(*): chr02 + [12, 12] annotation: inter_base seq_name strand 1 FALSE chr02 + > fullShow( close_intervals( interval_intersection(i,e) ) ) # x Object of class Genome_intervals_stranded 0 base intervals and 0 inter-base intervals(*): annotation: [1] inter_base seq_name strand <0 rows> (or 0-length row.names) > cat("\n") > > cat("interval_complement\n") interval_complement > fullShow( close_intervals( interval_complement(j) ) ) # x Object of class Genome_intervals_stranded 9 base intervals and 0 inter-base intervals(*): chr01 + [-Inf, 0] chr01 + [2, 5] chr01 + [11, Inf] chr02 + [-Inf, 11] chr02 + [16, Inf] chr01 - [-Inf, 3] chr01 - [6, Inf] chr02 - [-Inf, 7] chr02 - [9, Inf] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 FALSE + 4 chr02 FALSE + 5 chr02 FALSE + 6 chr01 FALSE - 7 chr01 FALSE - 8 chr02 FALSE - 9 chr02 FALSE - > fullShow( close_intervals( interval_complement(j0) ) ) # x Object of class Genome_intervals 6 base intervals and 0 inter-base intervals(*): chr01 [-Inf, 0] chr01 [2, 3] chr01 [11, Inf] chr02 [-Inf, 7] chr02 [9, 11] chr02 [16, Inf] annotation: inter_base seq_name 1 FALSE chr01 2 FALSE chr01 3 FALSE chr01 4 FALSE chr02 5 FALSE chr02 6 FALSE chr02 > fullShow( close_intervals( interval_complement(k) ) ) # x Object of class Genome_intervals_stranded 7 base intervals and 6 inter-base intervals(*): chr01 + [-Inf, 5] chr01 + [11, Inf] chr01 + [-Inf, 0] * chr01 + [2, Inf] * chr02 + [-Inf, 11] chr02 + [16, Inf] chr02 + [-Inf, Inf] * chr01 - [-Inf, 3] chr01 - [6, Inf] chr01 - [-Inf, Inf] * chr02 - [-Inf, Inf] chr02 - [-Inf, 7] * chr02 - [9, Inf] * annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 TRUE + 4 chr01 TRUE + 5 chr02 FALSE + 6 chr02 FALSE + 7 chr02 TRUE + 8 chr01 FALSE - 9 chr01 FALSE - 10 chr01 TRUE - 11 chr02 FALSE - 12 chr02 TRUE - 13 chr02 TRUE - > fullShow( close_intervals( interval_complement(e) ) ) # x Object of class Genome_intervals_stranded 4 base intervals and 2 inter-base intervals(*): chr01 + [-Inf, Inf] chr01 + [-Inf, Inf] * chr02 + [-Inf, Inf] chr02 + [-Inf, Inf] * chr01 - [-Inf, Inf] chr02 - [-Inf, Inf] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 TRUE + 3 chr02 FALSE + 4 chr02 TRUE + 5 chr01 FALSE - 6 chr02 FALSE - > cat("\n") > > > proc.time() user system elapsed 4.70 0.42 5.11 |
|
genomeIntervals.Rcheck/tests_i386/consistency-tests.Rout R version 4.1.1 (2021-08-10) -- "Kick Things" Copyright (C) 2021 The R Foundation for Statistical Computing Platform: i386-w64-mingw32/i386 (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # consistency test > # > # Author: julien.gagneur > ############################################################################### > > > library( genomeIntervals ) Loading required package: intervals Loading required package: BiocGenerics Loading required package: parallel Attaching package: 'BiocGenerics' The following objects are masked from 'package:parallel': clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from 'package:intervals': type, type<- The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which.max, which.min > > options(warn = -1) > > #--------- > # settings > #--------- > # size of random objects > n = 1e+3 > # chrom length > l = 1e+3 > # nb of chroms > k = 3 > > #--------- > # data generation > #--------- > > randGenint = function(n,l,k){ + m = matrix( sample(l, 2*n, replace=TRUE), nc = 2 ) + m = cbind( apply( m, 1, min), apply( m, 1, max ) ) + + cl = matrix( sample( c(FALSE,TRUE), 2*n, replace =TRUE), nc=2 ) + new( + "Genome_intervals_stranded", + m, + closed = cl, + annotation = data.frame( + seq_name = factor(paste("chr", sample(k, n, replace=TRUE) )), + inter_base = sample( c(FALSE,TRUE), n, replace =TRUE), + strand = factor(sample(c("-", "+"), n, replace =TRUE)) + ) + ) + } > > i = randGenint(n,l,k) > j = randGenint(n,l,k) > i0 = as(i, "Genome_intervals") > j0 = as(j, "Genome_intervals") > > #--------- > # checks > #--------- > > # distances from i to j > dn = distance_to_nearest(i,j) > > # distance is NA or >=0 > if( any( !is.na(dn) & dn < 0) ) stop("negative distance.") > > # distance == 0 if and only if the interval overlaps another one: > io = interval_overlap(i,j) > if( any( ( sapply(io, length) >0 ) != (!is.na(dn) & dn ==0) ) ) + stop("The property 'distance == 0 if and only if the interval overlaps another one' is not followed for at least one instance.") > > # same test for not stranded objects > dn0 = distance_to_nearest(i0,j0) > if( any( !is.na(dn0) & dn0 < 0) ) stop("negative distance.") > > io = interval_overlap(i0,j0) > if( any( ( sapply(io, length) >0 ) != (!is.na(dn0) & dn0 ==0) ) ) + stop("The property 'distance == 0 if and only if the interval overlaps another one' is not followed for at least one instance.") > > # unstranded distance <= stranded distance > delta = dn - dn0 > if( any(!is.na(delta) & delta < 0) ) stop("some unstranded distance larger than a stranded one.") > > # intersection with complement is empty > stopifnot( nrow( interval_intersection(i, interval_complement(i) ) ) == 0 ) > > # distance of union with complement is 1 > # test must be done for not inter-base (or inter-base) independently > a = interval_union(i[!inter_base(i),] ) > b = interval_complement(i[!inter_base(i),]) > > if(!(all.equal( distance_to_nearest( a, b ), rep(1, nrow(a) ) ) ) ) + stop("distance of union with complement is not 1.") > > # width is reported consistently > # they should all be 4 in length (we alternate the open/closed state of the intervals > # pairwise) > gi <- GenomeIntervals(start=c(6,6,5,5), + end=c(10,9,10,9), + chromosome=rep("chr1",4), + leftOpen = c(FALSE,FALSE,TRUE,TRUE), + rightOpen=c(TRUE,FALSE,TRUE,FALSE)) > > stopifnot(all(width(gi)==4)) > > proc.time() user system elapsed 5.00 0.37 5.35 |
|
genomeIntervals.Rcheck/tests_x64/benchmarking-tests.Rout R version 4.1.1 (2021-08-10) -- "Kick Things" Copyright (C) 2021 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # benchmarking tests > # > # on modifications, regenerate .Rout.save with: > # R --vanilla <./benchmarking-tests.R >& ./benchmarking-tests.Rout.save > # and use svn' diff to check for differences > # > # Author: julien.gagneur > ############################################################################### > > library(genomeIntervals) Loading required package: intervals Loading required package: BiocGenerics Loading required package: parallel Attaching package: 'BiocGenerics' The following objects are masked from 'package:parallel': clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from 'package:intervals': type, type<- The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which.max, which.min > source("fullShow.R") > options(warn = -1) > > #--------------- > # make data > #--------------- > # toy examples > data("gen_ints") > > # non-stranded versions > i0 = as(i, "Genome_intervals") > j0 = as(j, "Genome_intervals") > k0 = as(k, "Genome_intervals") > > # empty intervals > e = k[1:3,] > e[,2] = e[,1] > closed(e) = FALSE > > #--------------- > # checks > #--------------- > # distance to nearest > cat("distance_to_nearest\n") distance_to_nearest > print( distance_to_nearest(i,j) ) # x [1] 0 2 3 0 0 0 NA > print( distance_to_nearest(j,i) ) # x [1] 0 2 NA 0 0 > print( distance_to_nearest(i,k) ) # x [1] 0.0 1.5 2.5 0.5 0.0 0.0 NA > print( distance_to_nearest(i,e) ) # x [1] NA NA NA NA NA NA NA > print( distance_to_nearest(e,i) ) # x [1] NA NA NA > > print( distance_to_nearest(i0,j0) ) # x [1] 0 0 1 0 0 0 NA > print( distance_to_nearest(j0,i0) ) # x [1] 0 2 0 0 0 > cat("\n") > > # interval overlap > cat("interval_overlap\n") interval_overlap > print( interval_overlap(i,k) ) # x [[1]] [1] 1 [[2]] integer(0) [[3]] integer(0) [[4]] integer(0) [[5]] [1] 5 [[6]] [1] 4 [[7]] integer(0) > print( interval_overlap(i,e) ) # x [[1]] integer(0) [[2]] integer(0) [[3]] integer(0) [[4]] integer(0) [[5]] integer(0) [[6]] integer(0) [[7]] integer(0) > print( interval_overlap(i0,j0) ) # x [[1]] [1] 1 [[2]] [1] 3 [[3]] integer(0) [[4]] [1] 5 [[5]] [1] 5 [[6]] [1] 4 5 [[7]] integer(0) > cat("\n") > > > # set operations > cat("interval_union\n") interval_union > fullShow( close_intervals( interval_union(i) ) ) # x Object of class Genome_intervals_stranded 4 base intervals and 0 inter-base intervals(*): chr01 + [1, 4] chr02 + [4, 12] chr03 + [2, 5] chr02 - [5, 11] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr02 FALSE + 3 chr03 FALSE + 4 chr02 FALSE - > fullShow( close_intervals( interval_union(i,k) ) ) # x Object of class Genome_intervals_stranded 6 base intervals and 2 inter-base intervals(*): chr01 + [1, 4] chr01 + [6, 10] chr01 + [1, 1] * chr02 + [4, 15] chr03 + [2, 5] chr01 - [4, 5] chr02 - [5, 11] chr02 - [8, 8] * annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 TRUE + 4 chr02 FALSE + 5 chr03 FALSE + 6 chr01 FALSE - 7 chr02 FALSE - 8 chr02 TRUE - > fullShow( close_intervals( interval_union(i0,k0) ) ) # x Object of class Genome_intervals 3 base intervals and 2 inter-base intervals(*): chr01 [1, 10] chr01 [1, 1] * chr02 [4, 15] chr02 [8, 8] * chr03 [2, 5] annotation: inter_base seq_name 1 FALSE chr01 2 TRUE chr01 3 FALSE chr02 4 TRUE chr02 5 FALSE chr03 > fullShow( close_intervals( interval_union(e) ) ) # x Object of class Genome_intervals_stranded 0 base intervals and 0 inter-base intervals(*): annotation: [1] seq_name inter_base strand <0 rows> (or 0-length row.names) > cat("\n") > > cat("interval_intersection\n") interval_intersection > fullShow( close_intervals( interval_intersection(i,j) ) ) # x Object of class Genome_intervals_stranded 3 base intervals and 0 inter-base intervals(*): chr01 + [1, 1] chr02 - [8, 8] chr02 + [12, 12] annotation: inter_base seq_name strand 1 FALSE chr01 + 2 FALSE chr02 - 3 FALSE chr02 + > fullShow( close_intervals( interval_intersection(i,k) ) ) # x Object of class Genome_intervals_stranded 1 base interval and 0 inter-base intervals(*): chr02 + [12, 12] annotation: inter_base seq_name strand 1 FALSE chr02 + > fullShow( close_intervals( interval_intersection(i,e) ) ) # x Object of class Genome_intervals_stranded 0 base intervals and 0 inter-base intervals(*): annotation: [1] inter_base seq_name strand <0 rows> (or 0-length row.names) > cat("\n") > > cat("interval_complement\n") interval_complement > fullShow( close_intervals( interval_complement(j) ) ) # x Object of class Genome_intervals_stranded 9 base intervals and 0 inter-base intervals(*): chr01 + [-Inf, 0] chr01 + [2, 5] chr01 + [11, Inf] chr02 + [-Inf, 11] chr02 + [16, Inf] chr01 - [-Inf, 3] chr01 - [6, Inf] chr02 - [-Inf, 7] chr02 - [9, Inf] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 FALSE + 4 chr02 FALSE + 5 chr02 FALSE + 6 chr01 FALSE - 7 chr01 FALSE - 8 chr02 FALSE - 9 chr02 FALSE - > fullShow( close_intervals( interval_complement(j0) ) ) # x Object of class Genome_intervals 6 base intervals and 0 inter-base intervals(*): chr01 [-Inf, 0] chr01 [2, 3] chr01 [11, Inf] chr02 [-Inf, 7] chr02 [9, 11] chr02 [16, Inf] annotation: inter_base seq_name 1 FALSE chr01 2 FALSE chr01 3 FALSE chr01 4 FALSE chr02 5 FALSE chr02 6 FALSE chr02 > fullShow( close_intervals( interval_complement(k) ) ) # x Object of class Genome_intervals_stranded 7 base intervals and 6 inter-base intervals(*): chr01 + [-Inf, 5] chr01 + [11, Inf] chr01 + [-Inf, 0] * chr01 + [2, Inf] * chr02 + [-Inf, 11] chr02 + [16, Inf] chr02 + [-Inf, Inf] * chr01 - [-Inf, 3] chr01 - [6, Inf] chr01 - [-Inf, Inf] * chr02 - [-Inf, Inf] chr02 - [-Inf, 7] * chr02 - [9, Inf] * annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 FALSE + 3 chr01 TRUE + 4 chr01 TRUE + 5 chr02 FALSE + 6 chr02 FALSE + 7 chr02 TRUE + 8 chr01 FALSE - 9 chr01 FALSE - 10 chr01 TRUE - 11 chr02 FALSE - 12 chr02 TRUE - 13 chr02 TRUE - > fullShow( close_intervals( interval_complement(e) ) ) # x Object of class Genome_intervals_stranded 4 base intervals and 2 inter-base intervals(*): chr01 + [-Inf, Inf] chr01 + [-Inf, Inf] * chr02 + [-Inf, Inf] chr02 + [-Inf, Inf] * chr01 - [-Inf, Inf] chr02 - [-Inf, Inf] annotation: seq_name inter_base strand 1 chr01 FALSE + 2 chr01 TRUE + 3 chr02 FALSE + 4 chr02 TRUE + 5 chr01 FALSE - 6 chr02 FALSE - > cat("\n") > > > proc.time() user system elapsed 5.23 0.21 5.43 |
|
genomeIntervals.Rcheck/tests_x64/consistency-tests.Rout R version 4.1.1 (2021-08-10) -- "Kick Things" Copyright (C) 2021 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # consistency test > # > # Author: julien.gagneur > ############################################################################### > > > library( genomeIntervals ) Loading required package: intervals Loading required package: BiocGenerics Loading required package: parallel Attaching package: 'BiocGenerics' The following objects are masked from 'package:parallel': clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from 'package:intervals': type, type<- The following objects are masked from 'package:stats': IQR, mad, sd, var, xtabs The following objects are masked from 'package:base': Filter, Find, Map, Position, Reduce, anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted, lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which.max, which.min > > options(warn = -1) > > #--------- > # settings > #--------- > # size of random objects > n = 1e+3 > # chrom length > l = 1e+3 > # nb of chroms > k = 3 > > #--------- > # data generation > #--------- > > randGenint = function(n,l,k){ + m = matrix( sample(l, 2*n, replace=TRUE), nc = 2 ) + m = cbind( apply( m, 1, min), apply( m, 1, max ) ) + + cl = matrix( sample( c(FALSE,TRUE), 2*n, replace =TRUE), nc=2 ) + new( + "Genome_intervals_stranded", + m, + closed = cl, + annotation = data.frame( + seq_name = factor(paste("chr", sample(k, n, replace=TRUE) )), + inter_base = sample( c(FALSE,TRUE), n, replace =TRUE), + strand = factor(sample(c("-", "+"), n, replace =TRUE)) + ) + ) + } > > i = randGenint(n,l,k) > j = randGenint(n,l,k) > i0 = as(i, "Genome_intervals") > j0 = as(j, "Genome_intervals") > > #--------- > # checks > #--------- > > # distances from i to j > dn = distance_to_nearest(i,j) > > # distance is NA or >=0 > if( any( !is.na(dn) & dn < 0) ) stop("negative distance.") > > # distance == 0 if and only if the interval overlaps another one: > io = interval_overlap(i,j) > if( any( ( sapply(io, length) >0 ) != (!is.na(dn) & dn ==0) ) ) + stop("The property 'distance == 0 if and only if the interval overlaps another one' is not followed for at least one instance.") > > # same test for not stranded objects > dn0 = distance_to_nearest(i0,j0) > if( any( !is.na(dn0) & dn0 < 0) ) stop("negative distance.") > > io = interval_overlap(i0,j0) > if( any( ( sapply(io, length) >0 ) != (!is.na(dn0) & dn0 ==0) ) ) + stop("The property 'distance == 0 if and only if the interval overlaps another one' is not followed for at least one instance.") > > # unstranded distance <= stranded distance > delta = dn - dn0 > if( any(!is.na(delta) & delta < 0) ) stop("some unstranded distance larger than a stranded one.") > > # intersection with complement is empty > stopifnot( nrow( interval_intersection(i, interval_complement(i) ) ) == 0 ) > > # distance of union with complement is 1 > # test must be done for not inter-base (or inter-base) independently > a = interval_union(i[!inter_base(i),] ) > b = interval_complement(i[!inter_base(i),]) > > if(!(all.equal( distance_to_nearest( a, b ), rep(1, nrow(a) ) ) ) ) + stop("distance of union with complement is not 1.") > > # width is reported consistently > # they should all be 4 in length (we alternate the open/closed state of the intervals > # pairwise) > gi <- GenomeIntervals(start=c(6,6,5,5), + end=c(10,9,10,9), + chromosome=rep("chr1",4), + leftOpen = c(FALSE,FALSE,TRUE,TRUE), + rightOpen=c(TRUE,FALSE,TRUE,FALSE)) > > stopifnot(all(width(gi)==4)) > > proc.time() user system elapsed 4.85 0.29 5.14 |
genomeIntervals.Rcheck/examples_i386/genomeIntervals-Ex.timings
|
genomeIntervals.Rcheck/examples_x64/genomeIntervals-Ex.timings
|