| Back to Multiple platform build/check report for BioC 3.21: simplified long |
|
This page was generated on 2025-10-16 11:38 -0400 (Thu, 16 Oct 2025).
| Hostname | OS | Arch (*) | R version | Installed pkgs |
|---|---|---|---|---|
| nebbiolo1 | Linux (Ubuntu 24.04.3 LTS) | x86_64 | 4.5.1 (2025-06-13) -- "Great Square Root" | 4833 |
| merida1 | macOS 12.7.6 Monterey | x86_64 | 4.5.1 RC (2025-06-05 r88288) -- "Great Square Root" | 4614 |
| kjohnson1 | macOS 13.7.5 Ventura | arm64 | 4.5.1 Patched (2025-06-14 r88325) -- "Great Square Root" | 4555 |
| kunpeng2 | Linux (openEuler 24.03 LTS) | aarch64 | R Under development (unstable) (2025-02-19 r87757) -- "Unsuffered Consequences" | 4586 |
| Click on any hostname to see more info about the system (e.g. compilers) (*) as reported by 'uname -p', except on Windows and Mac OS X | ||||
| Package 832/2341 | Hostname | OS / Arch | INSTALL | BUILD | CHECK | BUILD BIN | ||||||||
| genomeIntervals 1.64.0 (landing page) Julien Gagneur
| nebbiolo1 | Linux (Ubuntu 24.04.3 LTS) / x86_64 | OK | OK | WARNINGS | |||||||||
| merida1 | macOS 12.7.6 Monterey / x86_64 | OK | OK | WARNINGS | OK | |||||||||
| kjohnson1 | macOS 13.7.5 Ventura / arm64 | OK | OK | WARNINGS | OK | |||||||||
| kunpeng2 | Linux (openEuler 24.03 LTS) / aarch64 | OK | OK | WARNINGS | ||||||||||
|
To the developers/maintainers of the genomeIntervals package: - 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 Troubleshooting Build Report for more information. - Use the following Renviron settings to reproduce errors and warnings. - If 'R CMD check' started to fail recently on the Linux builder(s) over a missing dependency, add the missing dependency to 'Suggests:' in your DESCRIPTION file. See Renviron.bioc for more information. |
| Package: genomeIntervals |
| Version: 1.64.0 |
| Command: /home/biocbuild/bbs-3.21-bioc/R/bin/R CMD check --install=check:genomeIntervals.install-out.txt --library=/home/biocbuild/bbs-3.21-bioc/R/site-library --timings genomeIntervals_1.64.0.tar.gz |
| StartedAt: 2025-10-15 23:32:15 -0400 (Wed, 15 Oct 2025) |
| EndedAt: 2025-10-15 23:33:48 -0400 (Wed, 15 Oct 2025) |
| EllapsedTime: 93.1 seconds |
| RetCode: 0 |
| Status: WARNINGS |
| CheckDir: genomeIntervals.Rcheck |
| Warnings: 1 |
##############################################################################
##############################################################################
###
### Running command:
###
### /home/biocbuild/bbs-3.21-bioc/R/bin/R CMD check --install=check:genomeIntervals.install-out.txt --library=/home/biocbuild/bbs-3.21-bioc/R/site-library --timings genomeIntervals_1.64.0.tar.gz
###
##############################################################################
##############################################################################
* using log directory ‘/home/biocbuild/bbs-3.21-bioc/meat/genomeIntervals.Rcheck’
* using R version 4.5.1 (2025-06-13)
* using platform: x86_64-pc-linux-gnu
* R was compiled by
gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
GNU Fortran (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
* running under: Ubuntu 24.04.3 LTS
* using session charset: UTF-8
* checking for file ‘genomeIntervals/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘genomeIntervals’ version ‘1.64.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 for sufficient/correct file permissions ... 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 code files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* 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 loading without being on the library search path ... 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 ... WARNING
checkRd: (-1) Genome_intervals-class.Rd:42: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:66: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:67: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:68: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:69: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:70: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:77: Escaped LaTeX specials: \$
checkRd: (-1) Genome_intervals-class.Rd:78: Escaped LaTeX specials: \$
checkRd: (-1) Genome_intervals-class.Rd:86: Escaped LaTeX specials: \_ \_
checkRd: (-1) Genome_intervals-class.Rd:87: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:88: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:89: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:90: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:91: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:92: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals-class.Rd:97: Escaped LaTeX specials: \_
checkRd: (5) Genome_intervals-ordering.Rd:75-82: \item in \describe must have non-empty label
checkRd: (5) Genome_intervals-ordering.Rd:83-87: \item in \describe must have non-empty label
checkRd: (5) Genome_intervals-ordering.Rd:88-92: \item in \describe must have non-empty label
checkRd: (5) Genome_intervals-ordering.Rd:93-98: \item in \describe must have non-empty label
checkRd: (-1) Genome_intervals_stranded-class.Rd:12: Escaped LaTeX specials: \_ \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:26: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:27: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:28: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:29: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:30: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:31: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:36: Escaped LaTeX specials: \_ \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:37: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:38: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:39: Escaped LaTeX specials: \_
checkRd: (-1) Genome_intervals_stranded-class.Rd:40: Escaped LaTeX specials: \_
checkRd: (-1) genomeIntervals-package.Rd:32: Escaped LaTeX specials: \_
checkRd: (-1) genomeIntervals-package.Rd:33: Escaped LaTeX specials: \_ \_
checkRd: (-1) genomeIntervals-readGff3.Rd:47-48: Lost braces in \itemize; meant \describe ?
checkRd: (-1) genomeIntervals-readGff3.Rd:49-52: Lost braces in \itemize; meant \describe ?
checkRd: (-1) genomeIntervals-readGff3.Rd:53-56: Lost braces in \itemize; meant \describe ?
checkRd: (-1) genomeIntervals-readGff3.Rd:57-59: Lost braces in \itemize; meant \describe ?
checkRd: (-1) genomeIntervals-readGff3.Rd:35-38: Lost braces in \itemize; \value handles \item{}{} directly
checkRd: (-1) genomeIntervals-readGff3.Rd:39: Lost braces in \itemize; \value handles \item{}{} directly
checkRd: (-1) interval_overlap-methods.Rd:37: Escaped LaTeX specials: \_
checkRd: (-1) parseGffAttributes.Rd:5: Escaped LaTeX specials: \_
* checking Rd metadata ... OK
* checking Rd cross-references ... NOTE
Non-topic package-anchored link(s) in Rd file 'distance_to_nearest-methods.Rd':
‘[intervals:distance_to_nearest-methods]{intervals::distance_to_nearest}’
Non-topic package-anchored link(s) in Rd file 'interval_overlap-methods.Rd':
‘[intervals:interval_overlap-methods]{intervals:interval_overlap}’
Non-topic package-anchored link(s) in Rd file 'interval_set_operations-methods.Rd':
‘[intervals:interval_union-methods]{interval_union}’
‘[intervals:interval_complement-methods]{interval_complement}’
‘[intervals:interval_intersection-methods]{interval_intersection}’
‘[intervals:reduce-methods]{reduce}’
See section 'Cross-references' in the 'Writing R Extensions' manual.
Found the following Rd file(s) with Rd \link{} targets missing package
anchors:
Genome_intervals-class.Rd: Intervals_full-class,
Intervals_virtual-class
Genome_intervals-coercion-methods.Rd: GRangesList-class,
GRanges-class
Genome_intervals_stranded-class.Rd: Intervals_full-class,
Intervals_virtual-class
Please provide package anchors for all Rd \link{} targets not in the
package itself and the base packages.
* 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 ... OK
* checking for unstated dependencies in ‘tests’ ... OK
* checking tests ...
Running ‘benchmarking-tests.R’
Comparing ‘benchmarking-tests.Rout’ to ‘benchmarking-tests.Rout.save’ ...14,19c14
< Attaching package: 'generics'
<
< The following objects are masked from 'package:base':
<
< as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
< setequal, union
---
> Attaching package: 'BiocGenerics'
20a16
> The following objects are masked from 'package:parallel':
22c18,20
< Attaching package: 'BiocGenerics'
---
> clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
> clusterExport, clusterMap, parApply, parCapply, parLapply,
> parLapplyLB, parRapply, parSapply, parSapplyLB
34c32
< Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
---
> Filter, Find, Map, Position, Reduce, anyDuplicated, append,
36,39c34,37
< duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply,
< mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
< rank, rbind, rownames, sapply, saveRDS, table, tapply, unique,
< unsplit, which.max, which.min
---
> 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
Running ‘consistency-tests.R’
Comparing ‘consistency-tests.Rout’ to ‘consistency-tests.Rout.save’ ...11,16c11
< Attaching package: 'generics'
<
< The following objects are masked from 'package:base':
<
< as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
< setequal, union
---
> Attaching package: 'BiocGenerics'
17a13
> The following objects are masked from 'package:parallel':
19c15,17
< Attaching package: 'BiocGenerics'
---
> clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
> clusterExport, clusterMap, parApply, parCapply, parLapply,
> parLapplyLB, parRapply, parSapply, parSapplyLB
31c29
< Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
---
> Filter, Find, Map, Position, Reduce, anyDuplicated, append,
33,36c31,34
< duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply,
< mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
< rank, rbind, rownames, sapply, saveRDS, table, tapply, unique,
< unsplit, which.max, which.min
---
> 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
Running ‘fullShow.R’
NOTE
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes ... OK
* checking re-building of vignette outputs ... OK
* checking PDF version of manual ... OK
* DONE
Status: 1 WARNING, 2 NOTEs
See
‘/home/biocbuild/bbs-3.21-bioc/meat/genomeIntervals.Rcheck/00check.log’
for details.
genomeIntervals.Rcheck/00install.out
############################################################################## ############################################################################## ### ### Running command: ### ### /home/biocbuild/bbs-3.21-bioc/R/bin/R CMD INSTALL genomeIntervals ### ############################################################################## ############################################################################## * installing to library ‘/home/biocbuild/bbs-3.21-bioc/R/site-library’ * installing *source* package ‘genomeIntervals’ ... ** this is package ‘genomeIntervals’ version ‘1.64.0’ ** using staged installation ** R ** data ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** 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 * DONE (genomeIntervals)
genomeIntervals.Rcheck/tests/benchmarking-tests.Rout
R version 4.5.1 (2025-06-13) -- "Great Square Root"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu
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: generics
Attaching package: 'generics'
The following objects are masked from 'package:base':
as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
setequal, union
Attaching package: 'BiocGenerics'
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, aperm, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply,
mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
rank, rbind, rownames, sapply, saveRDS, table, tapply, 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.467 0.247 4.701
genomeIntervals.Rcheck/tests/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/consistency-tests.Rout
R version 4.5.1 (2025-06-13) -- "Great Square Root"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu
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: generics
Attaching package: 'generics'
The following objects are masked from 'package:base':
as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
setequal, union
Attaching package: 'BiocGenerics'
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, aperm, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, is.unsorted, lapply,
mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
rank, rbind, rownames, sapply, saveRDS, table, tapply, 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.596 0.223 4.807
genomeIntervals.Rcheck/tests/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/fullShow.Rout
R version 4.5.1 (2025-06-13) -- "Great Square Root"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu
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.140 0.042 0.170
genomeIntervals.Rcheck/genomeIntervals-Ex.timings
| name | user | system | elapsed | |
| GenomeIntervals-constructor | 0.060 | 0.013 | 0.074 | |
| Genome_intervals-class | 0.027 | 0.009 | 0.036 | |
| Genome_intervals-coercion-methods | 0.001 | 0.000 | 0.000 | |
| Genome_intervals-ordering | 0.049 | 0.001 | 0.050 | |
| Genome_intervals_stranded-class | 0.045 | 0.000 | 0.046 | |
| c.Genome_intervals | 0.057 | 0.002 | 0.059 | |
| core_annotated | 0.041 | 0.001 | 0.042 | |
| distance_to_nearest-methods | 0.201 | 0.002 | 0.202 | |
| genomeIntervals-readGff3 | 0.031 | 0.004 | 0.035 | |
| getGffAttribute | 0.012 | 0.003 | 0.014 | |
| interval_overlap-methods | 0.076 | 0.002 | 0.078 | |
| interval_set_operations-methods | 0.476 | 0.006 | 0.482 | |
| parseGffAttributes | 0.012 | 0.002 | 0.014 | |