henrikbengtsson / aroma.core Goto Github PK
View Code? Open in Web Editor NEWđŹ R package: aroma.core - Core Methods and Classes Used by 'aroma.*' Packages Part of the Aroma Framework
Home Page: https://cran.r-project.org/package=aroma.core
đŹ R package: aroma.core - Core Methods and Classes Used by 'aroma.*' Packages Part of the Aroma Framework
Home Page: https://cran.r-project.org/package=aroma.core
The package has at least one sprintf()
mistake;
# source("https://gist.githubusercontent.com/HenrikBengtsson/fd19667927495f3a39ab0846e61f6862/raw/e826cc93d8889839a03c460cfc93756e8c18cf30/scan_examples.R")
> sprintf_scan_examples("aroma.core")
> ArmGTF
> db <- AromaGenomeTextFile$byGenome("Human")
SPRINTF WARNING: 'argument not used by format'
- call: sprintf("^%s,chromosomes(|,.*)*[.]txt$", genome, paste(tags, collapse = ","))
Press ENTER to continue:
Add test asserting that sort()
on SegmentedCopyNumbers objects works too. Add it to existing tests/SegmentedCopyNumbers.R script.
This is related to aroma.cn.eval Issue #1
Are any of the following function used anywhere? Can we deprecate them?
---------- Forwarded message ---------
From: Kurt Hornik
Date: Mon, Nov 7, 2022 at 5:41 AM
Subject: CRAN package aroma.core
Cc: [email protected]
Dear maintainer,
Please see the problems shown on
https://cran.r-project.org/web/checks/check_results_aroma.core.html.
Specifically, see the NOTEs for the "HTML version of manual" check.
These are from a recent change to r-devel which now uncovers duplicated
\item entries in \arguments as part of the HTML refman validation check.
Please fix by removing the duplicated \item entries.
Please correct before 2022-11-21 to safely retain your package on CRAN.
Best,
-k
Now (2015-04-16) when R 3.2.0 is out, bump requirement to R (>= 3.1.1). By choosing 3.1.1 (July 2014) and not 3.1.0 (April 2014), we can also replying BioC (>= 3.0) (October 2014). This is also what next release of R.filesets will do.
This allows us to drop the NAMESPACE workaround for the max. 500 S3 methods limitation in R (< 3.0.2), e.g.
if (getRversion() >= "3.1.0") {
S3method("fixSearchPath", "AromaPackage")
S3method("fixSearchPathInternal", "AromaPackage")
S3method("patch", "AromaPackage")
}
This will also remove the (false) R CMD check
NOTE:
* checking package namespace information ... NOTE
R < 3.0.2 had a limit of 500 registered S3 methods: found 841
Parallelize fit()
for CopyNumberSegmentationModel by using futures.
res <- list();
arrayNames <- getNames(this)[arrays];
nbrOfArrays <- length(arrayNames);
for (aa in seq_len(nbrOfArrays)) {
[...]
}
Make deprecated functions/methods defunct
Update .requireBiocPackage()
to make use of the BiocManager CRAN package.
In matrixStats (>= 0.50.0), which is now on CRAN, subsetted arguments idxs
, rows
and cols
where introduced to most functions. These has been inserted just after the arguments that are to be subsetted, which typically are the first one (e.g. x
) or first two arguments (e.g. x
and w
). I have detected code in your package that is likely to give an error or the wrong answer because it calls matrixStats functions assuming a certain order of arguments.
More specifically, I believe following functions needs to be updated as soon as possible by using named arguments as proposed:
$aroma.core$barSequence.ProbePositionEffects
NOW: yy <- rowCollapse(rho, bases)
SUGGESTION: yy <- rowCollapse(rho, idxs=bases)
$aroma.core$pointsSequence.ProbePositionEffects
NOW: yy <- rowCollapse(rho, bases)
SUGGESTION: yy <- rowCollapse(rho, idxs=bases)
From R-hub checks:
About to run xvfb-run R CMD check aroma.core_3.3.0.tar.gz
'getOption("repos")' replaces Bioconductor standard repositories, see
'?repositories' for details
replacement repositories:
CRAN: https://cloud.r-project.org
* using log directory â/home/docker/aroma.core.Rcheckâ
* using R Under development (unstable) (2022-11-09 r83320)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file âaroma.core/DESCRIPTIONâ ... OK
* this is package âaroma.coreâ version â3.3.0â
* checking package namespace information ... OK
* checking package dependencies ... NOTE
Packages suggested but not available for checking: 'EBImage', 'GLAD'
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package âaroma.coreâ can be installed ... OK
* checking installed package size ... OK
* checking package 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
* 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 ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... NOTE
Package unavailable to check Rd xrefs: âGLADâ
* 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 examples ... ERROR
Running examples in âaroma.core-Ex.Râ failed
The error most likely occurred in:
> ### Name: segmentByMPCBS.RawGenomicSignals
> ### Title: Segment copy numbers using the multi-platform CBS (mpCBS) method
> ### Aliases: segmentByMPCBS.RawGenomicSignals
> ### RawGenomicSignals.segmentByMPCBS
> ### segmentByMPCBS,RawGenomicSignals-method
> ### Keywords: internal methods IO
>
> ### ** Examples
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # Simulating copy-number data from multiple platforms
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # Piecewise-constant copy-number state function
> cnState <- function(x, ...) {
+ n <- length(x)
+ mu <- double(n)
+ mu[20e6 <= x & x <= 30e6] <- +1
+ mu[65e6 <= x & x <= 80e6] <- -1
+ mu
+ } # cnState()
>
> xMax <- 100e6
>
> Js <- c(200, 400, 100)
> bs <- c(1, 1.4, 0.5)
> as <- c(0, +0.5, -0.5)
> sds <- c(0.5, 0.3, 0.8)
>
> cnList <- list()
> for (kk in seq_along(Js)) {
+ J <- Js[kk]
+ a <- as[kk]
+ b <- bs[kk]
+ sd <- sds[kk]
+ x <- sort(runif(J, max=xMax))
+ mu <- a + b * cnState(x)
+ eps <- rnorm(J, sd=sd)
+ y <- mu + eps
+ cn <- RawCopyNumbers(y, x)
+ cnList[[kk]] <- cn
+ }
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # Merge platform data (record their sources in 'id')
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> cn <- Reduce(append, cnList)
> plot(cn, ylim=c(-3,3), col=cn$id)
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # Segment
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> legend <- c()
>
> if (require("DNAcopy")) {
+ fit <- segmentByCBS(cn)
+ cnr <- extractCopyNumberRegions(fit)
+ print(cnr)
+ drawLevels(cnr, col="white", lwd=6)
+ drawLevels(cnr, col="red", lwd=3)
+ legend <- c(legend, red="CBS")
+ }
Loading required package: DNAcopy
CopyNumberRegions:
Number of regions: 5
>
>
> if (require("mpcbs")) {
+ fit <- local({
+ ## WORKAROUND: There's a _R_CHECK_LENGTH_1_LOGIC2_ bug in
+ ## mpcbs::mpcbs.mbic(). Until fixed, we need to disable this check
+ ## while calling segmentByMPCBS().
+ ovalue <- Sys.getenv("_R_CHECK_LENGTH_1_LOGIC2_")
+ on.exit(Sys.setenv("_R_CHECK_LENGTH_1_LOGIC2_"=ovalue))
+ ovalue <- Sys.setenv("_R_CHECK_LENGTH_1_LOGIC2_"="warn,verbose")
+ segmentByMPCBS(cn)
+ })
+ cnr <- extractCopyNumberRegions(fit)
+ print(cnr)
+ drawLevels(cnr, col="white", lwd=6)
+ drawLevels(cnr, col="blue", lwd=3)
+ legend <- c(legend, blue="MPCBS")
+ }
Loading required package: mpcbs
Loading required package: fields
Loading required package: spam
Spam version 2.9-1 (2022-08-07) is loaded.
Type 'help( Spam)' or 'demo( spam)' for a short introduction
and overview of this package.
Help for individual functions is also obtained by adding the
suffix '.spam' to the function name, e.g. 'help( chol.spam)'.
Attaching package: âspamâ
The following object is masked from âpackage:aroma.coreâ:
display
The following object is masked from âpackage:R.utilsâ:
cleanup
The following objects are masked from âpackage:baseâ:
backsolve, forwardsolve
Loading required package: viridis
Loading required package: viridisLite
Try help(fields) to get started.
Error in is.na(rratio) || (length(rratio) != K) :
'length = 3' in coercion to 'logical(1)'
Calls: local ... system.time -> do.call -> mpcbs.mbic -> fcompute.max.ProjectedZ
Timing stopped at: 0 0 0.001
Execution halted
* checking for unstated dependencies in âtestsâ ... OK
* checking tests ...
Running âPairedPSCNData,SEG.Râ
Running âPairedPSCNData.Râ
Running âRawCopyNumbers,states.Râ
Running âRawCopyNumbers.Râ
Running âRawGenomicSignals.Râ
Running âRawGenomicSignals.SEG,MP.Râ
ERROR
Running the tests in âtests/RawGenomicSignals.SEG,MP.Râ failed.
Last 13 lines of output:
cleanup
The following objects are masked from 'package:base':
backsolve, forwardsolve
Loading required package: viridis
Loading required package: viridisLite
Try help(fields) to get started.
Error in is.na(rratio) || (length(rratio) != K) :
'length = 3' in coercion to 'logical(1)'
Calls: local ... system.time -> do.call -> mpcbs.mbic -> fcompute.max.ProjectedZ
Timing stopped at: 0 0 0.001
Execution halted
* checking PDF version of manual ... OK
* DONE
Status: 2 ERRORs, 2 NOTEs
See â/home/docker/aroma.core.Rcheck/00check.logâ for details.
When calling a function via do.call()
, specify the function by itself and not by its name, e.g.
## GOOD
y <- do.call(backgroundCorrect, args=args)
## BAD
y <- do.call("backgroundCorrect", args=args)
The former will cause backgroundCorrect()
to be identified as a global object by the globals such that it is properly exported when evaluated by a future.
From: Kurt Hornik
Date: Mon, Feb 3, 2020 at 5:07 AM
Subject: CRAN package aroma.core
To: <henrikb@...>
Cc: <[email protected]>
Dear maintainer,
Please see the problems shown on
https://cran.r-project.org/web/checks/check_results_aroma.core.html.
Specifically, see the warnings about 'Documented arguments not in
\usage' in the r-devel checks. Â These are from a recent bug fix
(PR#16223, see
https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16223): can you
please fix your man pages as necessary? Â (In most cases, remove the
documentation for argument '...'.)
Please correct before 2020-02-17 to safely retain your package on CRAN.
Best,
-k
deleted
From Writing R Extensions:
The mandatory 'Title' field should give a short description of the package. Some package listings may truncate the title to 65 characters. It should use title case (that is, use capitals for the principal words), not use any markup, not have any continuation lines, and not end in a period.
aroma.core:
R/AbstractCNData.R: if (is.data.frame(chromosome)) {
R/AbstractCNData.R: as.data.frame(this)
R/AbstractCNData.R: data <- as.data.frame(this, ...)
R/AbstractCNData.R: data <- as.data.frame(this, ...)
R/AbstractPSCNData.R: if (is.data.frame(chromosome)) {
R/AbstractPSCNData.R: data <- as.data.frame(this)
R/AromaTabularBinaryFile.R: if (is.data.frame(values) || is.matrix(values)) {
R/AromaTabularBinaryFile.R: if (is.data.frame(values) || is.matrix(values)) {
R/ChromosomalModel.drawCytoband.R: labelChr <- data.frame(chromosome=chromosome)
R/CopyNumberOutliers.R:setMethodS3("as.data.frame", "CopyNumberOutliers", function(x, ...) {
R/CopyNumberOutliers.R: data <- as.data.frame(this)
R/CopyNumberOutliers.R: data <- as.data.frame(this)
R/CopyNumberRegions.EXT2.R: data <- as.data.frame(this)
R/CopyNumberRegions.EXT2.R: data <- as.data.frame(this)
R/CopyNumberRegions.EXT.R: df <- as.data.frame(this)
R/CopyNumberRegions.EXT.R: data <- as.data.frame(this)
R/CopyNumberRegions.EXT.R: dfList <- lapply(regList, FUN=as.data.frame)
R/CopyNumberRegions.EXT.R: data <- as.data.frame(this)
R/CopyNumberRegions.R:setMethodS3("as.data.frame", "CopyNumberRegions", function(x, ...) {
R/CopyNumberRegions.R: data <- as.data.frame(data)
R/CopyNumberRegions.R: data <- as.data.frame(this, ...)
R/CopyNumberRegions.R: dfThis <- as.data.frame(this)
R/CopyNumberRegions.R: dfOther <- as.data.frame(other)
R/CopyNumberRegions.R: data <- as.data.frame(this)
R/CopyNumberRegions.R: data <- as.data.frame(this)
R/CopyNumberRegions.R: data <- as.data.frame(this)
R/CopyNumberSegmentationModel.R: df0 <- as.data.frame(cnr)
R/drawCytoband2.R: info <- data.frame(Color=color, ColorName=I(pal))
R/GLAD.EXTS.R: LabelChr <- data.frame(Chromosome=chromosome)
R/NonPairedPSCNData.R: if (is.data.frame(chromosome)) {
R/NonPairedPSCNData.R:setMethodS3("as.NonPairedPSCNData", "data.frame", function(this, ...) {
R/NonPairedPSCNData.R: data <- as.data.frame(this)
R/NonPairedPSCNData.R: data <- as.data.frame(this)
R/PairedPSCNData.PLOT.R: data <- as.data.frame(this)
R/PairedPSCNData.R: if (is.data.frame(chromosome)) {
R/PairedPSCNData.R:setMethodS3("as.PairedPSCNData", "data.frame", function(this, ...) {
R/PairedPSCNData.R: dataT <- as.data.frame(T)
R/PairedPSCNData.R: dataN <- as.data.frame(N)
R/PairedPSCNData.R: data <- as.data.frame(this)
R/PairedPSCNData.R: data <- as.data.frame(this)
R/PairedPSCNData.R: data <- as.data.frame(CT)
R/PairedPSCNData.R: data <- as.data.frame(CT)
R/profileCGH.plotProfile2.R: LabelChr <- data.frame(Chromosome=chromosome)
R/profileCGH.plotProfile2.R: if (is.data.frame(fit$BkpInfo)) {
R/RawGenomicSignals.R: regions <- as.data.frame(regions)
R/RawGenomicSignals.R: regions <- as.data.frame(regions)
R/RawGenomicSignals.R: if (!is.data.frame(regions)) {
R/RawGenomicSignals.R: throw("Argument 'regions' is neither a CopyNumberRegions object, a data.frame, nor a matrix: ", cl)
R/RawGenomicSignals.R: regions <- cbind(data.frame(chromosome=chromosomes), regions)
R/RawGenomicSignals.R:setMethodS3("as.data.frame", "RawGenomicSignals", function(x, ..., sort=FALSE) {
R/RawGenomicSignals.R: NextMethod("as.data.frame")
R/RawGenomicSignals.R: data <- as.data.frame(data, virtual=FALSE)
R/RawGenomicSignals.R: data <- as.data.frame(this, ...)
R/RawGenomicSignals.R: dataY <- as.data.frame(this)
R/RawGenomicSignals.R: data <- as.data.frame(this)
R/RawGenomicSignals.R: dataOut <- as.data.frame(res)
R/RawGenomicSignals.R: YsSS <- as.data.frame(resSS)[,fields, drop=FALSE]
R/RawGenomicSignals.segmentByCBS.R: cnrData <- as.data.frame(cnr)
R/RawGenomicSignals.segmentByGLAD.R: cnData <- data.frame(
R/RawGenomicSignals.segmentByGLAD.R: cnrData <- as.data.frame(cnr)
R/RawGenomicSignals.segmentByHaarSeg.R: cnrData <- as.data.frame(cnr)
R/RawGenomicSignals.SEG.R: data <- as.data.frame(this, translate=FALSE)
R/RawSequenceReads.EXTRAS.R: dataChecksum=getChecksum(as.data.frame(rsr)), by=by, region=region)
R/RichDataFrame.R: data <- data.frame(...)
R/RichDataFrame.R: data <- as.data.frame(data)
R/RichDataFrame.R: print(as.data.frame(x, ...))
R/RichDataFrame.R: data <- as.data.frame(this)
R/RichDataFrame.R:setMethodS3("as.data.frame", "RichDataFrame", function(x, ..., virtual=TRUE, translate=TRUE) {
R/RichDataFrame.R: class(data) <- "data.frame"
R/RichDataFrame.R: x <- as.data.frame(x)
R/RichDataFrame.R: class(res) <- "data.frame"
R/RichDataFrame.R: data <- as.data.frame(this, virtual=FALSE)
R/RichDataFrame.R: class(this) <- "data.frame"
R/RichDataFrame.R: class(other) <- "data.frame"
R/SegmentedGenomicSignalsInterface.R:setMethodS3("as.data.frame", "SegmentedGenomicSignalsInterface", function(x, ..., virtual=TRUE) {
R/SegmentedGenomicSignalsInterface.R: df <- NextMethod("as.data.frame", virtual=virtual)
R/SegmentedGenomicSignalsInterface.R: df <- NextMethod("as.data.frame")
tests/mergeBoxplotStats.R:x <- as.data.frame(x)
tests/PairedPSCNData.R:verbose && print(verbose, head(as.data.frame(data)));
tests/PairedPSCNData.R:verbose && print(verbose, head(as.data.frame(dataN)));
tests/PairedPSCNData.R:verbose && print(verbose, head(as.data.frame(data)));
tests/PairedPSCNData.R:verbose && print(verbose, head(as.data.frame(data)));
tests/PairedPSCNData.R:verbose && print(verbose, head(as.data.frame(data)));
tests/PairedPSCNData.R:verbose && print(verbose, head(as.data.frame(data)));
tests/PairedPSCNData,SEG.R:verbose && print(verbose, head(as.data.frame(data)));
tests/PairedPSCNData,SEG.R:verbose && print(verbose, head(as.data.frame(data)));
tests/PairedPSCNData,SEG.R:print(head(as.data.frame(fit)));
tests/PairedPSCNData,SEG.R:print(head(as.data.frame(fit)));
tests/RawGenomicSignals.R:regions <- data.frame(
tests/RichDataFrame.R:data <- as.data.frame(cn)
tests/RichDataFrame.R:dataSb <- as.data.frame(cnSb)
Use IEC units KiB, MiB, GiB, ... for file sizes, cf. HenrikBengtsson/Wishlist-for-R#6
Since package requires R (>= 3.x), we can now use anyNA()
instead of matrixStats::anyMissing()
.
Drop all code using getParallelSafe()
and setParallelSafe()
, because it does not work anyway.
Drop README[.]md
from .Rbuildignore
such that the content of README.md is incorporated on the package page on METACRAN.
Drop defunct functions/methods.
Triggered by Issue #29
Make sure all regular expressions used for searching / setting up file sets have trailing $
. For instance, instead of:
pattern <- sprintf("%s[.]asb", typeTags);
res <- AromaUnitFracBCnBinarySet$byPath(outPath, pattern=pattern);
use
pattern <- sprintf("%s.asb$", typeTags);
res <- AromaUnitFracBCnBinarySet$byPath(outPath, pattern=pattern);
This is related to Issue #15.
extractRawMirroredAlleleBFractions()
gives error
Error in setSignals(res, dh) : object 'res' not found
because
> extractRawMirroredAlleleBFractions.RawAlleleBFractions
function (this, ...)
{
beta <- getSignals(this)
dh <- abs(beta - 1/2)
res <- setSignals(res, dh)
class(res) <- c("RawMirroredAlleleBFractions", class(res))
res
}
<environment: namespace:aroma.core>
Writing of logR file as tab delimited txt file for ~1200 samples study fails. Is there a workaround?
Here is the error message and sessionInfo() output:
dsTRTxt<- writeDataFrame(dsTR, columns=c("unitName", "chromosome", "position", "*"))
[2016-08-12 10:09:49] Exception: File format error. The read "magic" does not match the existing one: [0x36,0x61,0x30,0x37,0x62] != [0x61,0x72,0x6f,0x6d,0x61]
at #12. readHeader.AromaTabularBinaryFile(this, con = con)
- readHeader.AromaTabularBinaryFile() is in environment 'aroma.core'
at #11. readHeader(this, con = con)
- readHeader() is in environment 'aroma.core'
at #10. readDataFrame.AromaTabularBinaryFile(this, rows = i, columns = j)
- readDataFrame.AromaTabularBinaryFile() is in environment 'aroma.core'
at #9. NextMethod("readDataFrame", rows = rows)
- NextMethod() is in environment 'base'
at #8. readDataFrame.AromaUnitSignalBinaryFile(this, rows = i, columns = j)
- readDataFrame.AromaUnitSignalBinaryFile() is in environment 'aroma.core'
at #7. readDataFrame(this, rows = i, columns = j)
- readDataFrame() is in environment 'R.filesets'
at #6. [.AromaTabularBinaryFile
(df, unitsKK, , drop = FALSE)
- [.AromaTabularBinaryFile
() is in environment 'aroma.core'
at #5. df[unitsKK, , drop = FALSE]
- NULL is local of the calling function
at #4. writeDataFrame.AromaUnitSignalBinarySet(dsTR, columns = c("unitName",
"chromosome", "position", "*"), filename = "ccle,ACC,ra,-XY,BPN,-XY,AVG,FLN,-XY,total.txt")
- writeDataFrame.AromaUnitSignalBinarySet() is in environment 'aroma.core'
at #3. NextMethod("writeDataFrame", filename = filename)
- NextMethod() is in environment 'base'
at #2. writeDataFrame.AromaUnitTotalCnBinarySet(dsTR, columns = c("unitName",
"chromosome", "position", "*"))
- writeDataFrame.AromaUnitTotalCnBinarySet() is in environment 'aroma.core'
at #1. writeDataFrame(dsTR, columns = c("unitName", "chromosome", "position",
"*"))
- writeDataFrame() is in environment 'R.utils'
Error: File format error. The read "magic" does not match the existing one: [0x36,0x61,0x30,0x37,0x62] != [0x61,0x72,0x6f,0x6d,0x61]
sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] aroma.light_3.0.0 aroma.affymetrix_3.0.0 aroma.core_3.0.0
[4] R.devices_2.14.0 R.filesets_2.10.0 R.utils_2.3.0
[7] R.oo_1.20.0 affxparser_1.42.0 R.methodsS3_1.7.1
loaded via a namespace (and not attached):
[1] matrixStats_0.50.2 codetools_0.2-14 listenv_0.6.0 future_0.14.0
[5] digest_0.6.9 R.huge_0.9.0 PSCBS_0.61.0 tools_3.2.1
[9] R.cache_0.12.0 parallel_3.2.1 base64enc_0.1-3 aroma.apd_0.6.0
To avoid having to override colSums()
and colMeans()
, rename ditto S3 methods for AromaTabularBinaryFile.
None of downstream packages aroma.affymetrix, aroma.cn, aroma.seq, define such S3 methods.
install.packages("aroma.core")
raises error:
ERROR: dependencies âaroma.lightâ, âDNAcopyâ are not available for package âPSCBSâ
A declarative, efficient, and flexible JavaScript library for building user interfaces.
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. đđđ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google â¤ď¸ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.