Giter Club home page Giter Club logo

aroma.core's People

Contributors

gara-z avatar henrikbengtsson avatar markrobinsonca avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

thomasgro

aroma.core's Issues

R-devel: sprintf() coding mistakes

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: 

BUG due to matrixStats (>= 0.50.0): Add named arguments in matrixStats calls

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)

CRAN: NOTEs on the "HTML version of manual" check

---------- 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

ROBUSTNESS: Add explicit 'stringsAsFactors' arguments [data.frame]

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)

Drop {mpcbs} tests and examples, because that package is broken in R (>= 4.2.0)

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.

CRAN: Fix R-devel man/*.Rd mistake by 2020-02-17

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

writing large logR data file as tab delimited txt file fails

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

FUTURE: Use do.call(fcn, ...) - not do.call("fcn", ...)

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.

ROBUSTNESS: Make sure search file reg exp patterns have trailing $

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(): Error in setSignals(res, dh) : object 'res' not found

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>

CLEANUP: Bump requirement to R (>= 3.1.1) and drop NAMESPACE workarounds

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

Update package title to use Title Case

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.

Installation error

install.packages("aroma.core") raises error:

ERROR: dependencies ‘aroma.light’, ‘DNAcopy’ are not available for package ‘PSCBS’

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.