This is an automated email from the git hooks/post-receive script. tille pushed a commit to branch master in repository r-bioc-edger.
commit 104c7f6134efca6babba374ffc1ccec7869e51c2 Author: Andreas Tille <[email protected]> Date: Thu Jan 5 15:47:54 2017 +0100 New upstream version 3.16.5+dfsg --- DESCRIPTION | 6 +++--- R/addPriorCount.R | 2 ++ R/cpm.R | 2 +- R/dispBinTrend.R | 7 ++++--- R/estimateGLMCommonDisp.R | 2 +- R/geneset-DGEList.R | 26 +++++++++++++------------- R/glmTreat.R | 3 ++- R/plotMDS.DGEList.R | 11 +++++++---- R/scaleOffset.R | 37 +++++++++++++++++++++++++++++++++++++ build/vignette.rds | Bin 229 -> 228 bytes inst/doc/edgeR.pdf | Bin 45765 -> 45765 bytes man/camera.DGEList.Rd | 17 ++++++++++++----- man/plotMDS.DGEList.Rd | 8 ++++---- man/roast.DGEList.Rd | 32 ++++++++++++++++++++++++++------ man/scaleOffset.Rd | 35 +++++++++++++++++++++++++++++++++++ src/R_calculate_cpm.cpp | 3 ++- src/add_prior.cpp | 2 -- 17 files changed, 149 insertions(+), 44 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 30ac9d4..a8d4580 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: edgeR -Version: 3.16.1 -Date: 2016-10-25 +Version: 3.16.5 +Date: 2016-12-12 Title: Empirical Analysis of Digital Gene Expression Data in R Description: Differential expression analysis of RNA-seq expression profiles with biological replication. Implements a range of statistical methodology based on the negative binomial distributions, including empirical Bayes estimation, exact tests, generalized linear models and quasi-likelihood tests. As well as RNA-seq, it be applied to differential signal analysis of other types of genomic data that produce counts, including ChIP-seq, SAGE and CAGE. Author: Yunshun Chen <[email protected]>, Aaron Lun <[email protected]>, Davis McCarthy <[email protected]>, Xiaobei Zhou <[email protected]>, Mark Robinson <[email protected]>, Gordon Smyth <[email protected]> @@ -16,4 +16,4 @@ biocViews: GeneExpression, Transcription, AlternativeSplicing, TimeCourse, SAGE, Sequencing, ChIPSeq, RNASeq, BatchEffect, MultipleComparison, Normalization, QualityControl NeedsCompilation: yes -Packaged: 2016-10-25 22:31:14 UTC; biocbuild +Packaged: 2016-12-14 23:27:46 UTC; biocbuild diff --git a/R/addPriorCount.R b/R/addPriorCount.R index 51293c0..4f45262 100644 --- a/R/addPriorCount.R +++ b/R/addPriorCount.R @@ -21,7 +21,9 @@ addPriorCount <- function(y, lib.size=NULL, offset=NULL, prior.count=1) # Adding the prior count. out <- .Call(.cR_add_prior_count, y, offset, prior.count) if (is.character(out)) stop(out) + names(out) <- c("y", "offset") + out$offset <- makeCompressedMatrix(out$offset, byrow=TRUE) return(out) } diff --git a/R/cpm.R b/R/cpm.R index 7f6d428..5f6d041 100644 --- a/R/cpm.R +++ b/R/cpm.R @@ -24,7 +24,7 @@ cpm.default <- function(x, lib.size=NULL, log=FALSE, prior.count=0.25, ...) if(is.null(lib.size)) lib.size <- colSums(x) if(!is.double(lib.size)) storage.mode(lib.size) <- "double" lib.size <- makeCompressedMatrix(lib.size, byrow=TRUE) - err <- .Call(.cR_check_positive, lib.size, "library sizes") + err <- .Call(.cR_check_nonnegative, lib.size, "library sizes") if (is.character(err)) stop(err) # Calculating in C++ for max efficiency diff --git a/R/dispBinTrend.R b/R/dispBinTrend.R index d0fb75a..1382a55 100644 --- a/R/dispBinTrend.R +++ b/R/dispBinTrend.R @@ -30,7 +30,7 @@ dispBinTrend <- function(y, design=NULL, offset=NULL, df=5, span=0.3, min.n=400, method.trend <- match.arg(method.trend, c("spline", "loess")) # Check AveLogCPM - if(is.null(AveLogCPM)) AveLogCPM <- aveLogCPM(y,weights=weights) + if(is.null(AveLogCPM)) AveLogCPM <- aveLogCPM(y, offset=offset, weights=weights) # Define bins of genes based on min.n in each bin # All zero rows are marked as group==0 @@ -57,8 +57,9 @@ dispBinTrend <- function(y, design=NULL, offset=NULL, df=5, span=0.3, min.n=400, bin.d <- bin.A <- rep(0,nbins) for(i in 1:nbins) { bin <- group==i - bin.d[i] <- estimateGLMCommonDisp(y[bin,], design, method=method.bin, offset[bin,], min.row.sum=0, weights=weights[bin,] ,...) - bin.A[i] <- mean(AveLogCPM[bin]) + binAve <- AveLogCPM[bin] + bin.d[i] <- estimateGLMCommonDisp(y[bin,], design, method=method.bin, offset[bin,], min.row.sum=0, weights=weights[bin,], AveLogCPM=binAve, ...) + bin.A[i] <- mean(binAve) } # If just one bin, trended dispersion is constant diff --git a/R/estimateGLMCommonDisp.R b/R/estimateGLMCommonDisp.R index 6b60a9e..68619b4 100644 --- a/R/estimateGLMCommonDisp.R +++ b/R/estimateGLMCommonDisp.R @@ -40,7 +40,7 @@ estimateGLMCommonDisp.default <- function(y, design=NULL, offset=NULL, method="C if(is.null(offset)) offset <- log(colSums(y)) # Check AveLogCPM - if(is.null(AveLogCPM)) AveLogCPM <- aveLogCPM(y,weights=weights) + if(is.null(AveLogCPM)) AveLogCPM <- aveLogCPM(y, offset=offset, weights=weights) # Call lower-level function disp <- switch(method, diff --git a/R/geneset-DGEList.R b/R/geneset-DGEList.R index 0d74f33..7f2f686 100644 --- a/R/geneset-DGEList.R +++ b/R/geneset-DGEList.R @@ -1,37 +1,37 @@ -roast.DGEList <- function(y, index=NULL, design=NULL, contrast=ncol(design), ...) +roast.DGEList <- function(y, index=NULL, design=NULL, contrast=ncol(design), geneid=NULL, set.statistic="mean", gene.weights=NULL,...) # Rotation gene set testing for RNA-Seq data # Yunshun Chen, Gordon Smyth -# Created 19 Dec 2012. Last revised on 27 May 2015 +# Created 19 Dec 2012. Last revised on 26 Nov 2016 { y <- .zscoreDGE(y=y, design=design, contrast=contrast) - roast(y=y, index=index, design=design, contrast=contrast, var.prior=1, df.prior=Inf, ...) -} + roast(y=y, index=index, design=design, contrast=contrast, geneid=geneid, set.statistic=set.statistic, gene.weights=gene.weights, var.prior=1, df.prior=Inf) +} -mroast.DGEList <- function(y, index=NULL, design=NULL, contrast=ncol(design), ...) +mroast.DGEList <- function(y, index=NULL, design=NULL, contrast=ncol(design), geneid=NULL, set.statistic="mean", gene.weights=NULL, adjust.method="BH", midp=TRUE, sort="directional", ...) # Rotation gene set testing for RNA-Seq data with multiple sets # Yunshun Chen, Gordon Smyth -# Created 8 Jan 2013. Last revised 27 May 2015. +# Created 8 Jan 2013. Last revised 26 Nov 2016. { y <- .zscoreDGE(y=y, design=design, contrast=contrast) - mroast(y=y, index=index, design=design, contrast=contrast, var.prior=1, df.prior=Inf, ...) + mroast(y=y, index=index, design=design, contrast=contrast, geneid=geneid, set.statistic=set.statistic, gene.weights=gene.weights, var.prior=1, df.prior=Inf, adjust.method=adjust.method, midp=midp, sort=sort) } -fry.DGEList <- function(y, index=NULL, design=NULL, contrast=ncol(design), ...) +fry.DGEList <- function(y, index=NULL, design=NULL, contrast=ncol(design), geneid=NULL, sort="directional", ...) # Rotation gene set testing for RNA-Seq data with multiple sets # Yunshun Chen, Gordon Smyth -# Created 1 Dec 2015. Last revised 15 April 2016. +# Created 1 Dec 2015. Last revised 26 Nov 2016. { y <- .zscoreDGE(y=y, design=design, contrast=contrast) - fry(y=y, index=index, design=design, contrast=contrast, standardize="none", ...) + fry(y=y, index=index, design=design, contrast=contrast, standardize="none", geneid=geneid, sort=sort) } -camera.DGEList <- function(y, index, design=NULL, contrast=ncol(design), ...) +camera.DGEList <- function(y, index, design=NULL, contrast=ncol(design), weights=NULL, use.ranks=FALSE, allow.neg.cor=FALSE, inter.gene.cor=0.01, sort=TRUE, ...) # Rotation gene set testing for RNA-Seq data accounting for inter-gene correlation # Yunshun Chen, Gordon Smyth -# Created 07 Jan 2013. Last modified 27 May 2015. +# Created 07 Jan 2013. Last modified 26 Nov 2016. { y <- .zscoreDGE(y=y, design=design, contrast=contrast) - camera(y=y, index=index, design=design, contrast=contrast, ...) + camera(y=y, index=index, design=design, contrast=contrast, weights=weights, use.ranks=use.ranks, allow.neg.cor=allow.neg.cor, inter.gene.cor=inter.gene.cor, trend.var=FALSE, sort=sort) } romer.DGEList <- function(y, index, design=NULL, contrast=ncol(design), ...) diff --git a/R/glmTreat.R b/R/glmTreat.R index a67f49c..7a5ba12 100644 --- a/R/glmTreat.R +++ b/R/glmTreat.R @@ -1,7 +1,7 @@ glmTreat <- function(glmfit, coef=ncol(glmfit$design), contrast=NULL, lfc=0, null="interval") # Likelihood ratio test or quasi-likelihood F-test with a threshold # Yunshun Chen and Gordon Smyth -# Created on 05 May 2014. Last modified on 03 Oct 2016 +# Created on 05 May 2014. Last modified on 16 Nov 2016 { if(lfc < 0) stop("lfc has to be non-negative") @@ -115,6 +115,7 @@ glmTreat <- function(glmfit, coef=ncol(glmfit$design), contrast=NULL, lfc=0, nul c <- 1.470402 j <- z.right + z.left > c p.value <- rep_len(1L, ngenes) + j <- j[!is.na(j)] p.value[j] <- .integratepnorm(-z.right[j], -z.right[j] + c) + .integratepnorm(z.left[j] - c, z.left[j]) p.value[!j] <- 2*.integratepnorm(-z.right[!j], z.left[!j]) } else { diff --git a/R/plotMDS.DGEList.R b/R/plotMDS.DGEList.R index 85280fb..593727d 100644 --- a/R/plotMDS.DGEList.R +++ b/R/plotMDS.DGEList.R @@ -1,7 +1,7 @@ -plotMDS.DGEList <- function (x,top=500,labels=NULL,pch=NULL,cex=1,dim.plot=c(1,2),ndim=max(dim.plot),gene.selection="pairwise",xlab=NULL,ylab=NULL,method="logFC",prior.count=2,...) +plotMDS.DGEList <- function (x,top=500,labels=NULL,pch=NULL,cex=1,dim.plot=c(1,2),ndim=max(dim.plot),gene.selection="pairwise",xlab=NULL,ylab=NULL,method="logFC",prior.count=2,plot=TRUE,...) # Multidimensional scaling plot of digital gene expression profiles # Yunshun Chen, Mark Robinson and Gordon Smyth -# 23 May 2011. Last modified 25 Nov 2014. +# 23 May 2011. Last modified 26 Nov 2016. { method <- match.arg(method, c("logfc","logFC","bcv","BCV")) if(method=="logfc") method <- "logFC" @@ -10,7 +10,7 @@ plotMDS.DGEList <- function (x,top=500,labels=NULL,pch=NULL,cex=1,dim.plot=c(1,2 # Default method is to convert to moderated logCPM and call limma plotMDS if(method=="logFC") { y <- cpm(x,log=TRUE,prior.count=prior.count) - return(plotMDS(y,top=top,labels=labels,pch=pch,cex=cex,dim.plot=dim.plot,ndim=ndim,gene.selection=gene.selection,xlab=xlab,ylab=ylab,...)) + return(plotMDS(y,top=top,labels=labels,pch=pch,cex=cex,dim.plot=dim.plot,ndim=ndim,gene.selection=gene.selection,xlab=xlab,ylab=ylab,plot=plot,...)) } # From here method="bcv" @@ -75,5 +75,8 @@ plotMDS.DGEList <- function (x,top=500,labels=NULL,pch=NULL,cex=1,dim.plot=c(1,2 mds$x <- a1[,dim.plot[1]] mds$y <- a1[,dim.plot[2]] mds$axislabel <- "BCV distance" - plotMDS(mds,labels=labels,pch=pch,cex=cex,xlab=xlab,ylab=ylab,...) + if(plot) + plotMDS(mds,labels=labels,pch=pch,cex=cex,xlab=xlab,ylab=ylab,...) + else + mds } diff --git a/R/scaleOffset.R b/R/scaleOffset.R new file mode 100644 index 0000000..297258f --- /dev/null +++ b/R/scaleOffset.R @@ -0,0 +1,37 @@ +scaleOffset <- function(y, ...) +UseMethod("scaleOffset") + +scaleOffset.default <- function(y, offset, ...) +# Ensures scale of offsets are consistent with library sizes. +# Aaron Lun and Yunshun Chen. +# Created 8 Dec 2016. +{ + if(is.matrix(y)) lib.size <- colSums(y) + else lib.size <- y + + if(is.matrix(offset)) { + if (ncol(offset)!=length(lib.size)) { + if (! (is(offset, "compressedMatrix") && attributes(offset)$repeat.col) ) { + stop("'ncol(offset)' should be equal to number of libraries") + } + } + adj <- rowMeans(offset) + } else { + if (length(offset)!=length(lib.size)) { + stop("length of 'offset' should be equal to number of libraries") + } + adj <- mean(offset) + } + + mean(log(lib.size)) + offset - adj +} + +scaleOffset.DGEList <- function(y, offset, ...) +# Ensures scale of offsets are consistent with library sizes. +# Aaron Lun and Yunshun Chen. +# Created 8 Dec 2016. +{ + y$offset <- scaleOffset(y$samples$lib.size, offset) + y +} + diff --git a/build/vignette.rds b/build/vignette.rds index 9304f3b..553db84 100644 Binary files a/build/vignette.rds and b/build/vignette.rds differ diff --git a/inst/doc/edgeR.pdf b/inst/doc/edgeR.pdf index 94330ea..1678357 100644 Binary files a/inst/doc/edgeR.pdf and b/inst/doc/edgeR.pdf differ diff --git a/man/camera.DGEList.Rd b/man/camera.DGEList.Rd index bb8725b..1f9bc25 100644 --- a/man/camera.DGEList.Rd +++ b/man/camera.DGEList.Rd @@ -4,16 +4,23 @@ \description{ Test whether a set of genes is highly ranked relative to other genes in terms of differential expression, accounting for inter-gene correlation. } + \usage{ -\method{camera}{DGEList}(y, index, design=NULL, contrast=ncol(design), \dots) +\method{camera}{DGEList}(y, index, design, contrast = ncol(design), weights = NULL, + use.ranks = FALSE, allow.neg.cor=FALSE, inter.gene.cor=0.01, sort = TRUE, \dots) } \arguments{ \item{y}{a \code{DGEList} object containing dispersion estimates.} - \item{index}{an index vector or a list of index vectors. Can be any vector such that \code{y[indices,]} selects the rows corresponding to the test set.} - \item{design}{the design matrix.} - \item{contrast}{the contrast of the linear model coefficients for which the test is required. Can be an integer specifying a column of \code{design}, or the name of a column of \code{design}, or else a numeric vector of same length as the number of columns of \code{design}.} - \item{\dots}{other arguments are passed to \code{\link{camera.default}}.} + \item{index}{an index vector or a list of index vectors. Can be any vector such that \code{y[index,]} selects the rows corresponding to the test set. The list can be made using \code{\link{ids2indices}}.} + \item{design}{design matrix.} + \item{contrast}{contrast of the linear model coefficients for which the test is required. Can be an integer specifying a column of \code{design}, or else a numeric vector of same length as the number of columns of \code{design}.} + \item{weights}{numeric matrix of observation weights of same size as \code{y}, or a numeric vector of array weights with length equal to \code{ncol(y)}, or a numeric vector of gene weights with length equal to \code{nrow(y)}.} + \item{use.ranks}{do a rank-based test (\code{TRUE}) or a parametric test (\code{FALSE})?} + \item{allow.neg.cor}{should reduced variance inflation factors be allowed for negative correlations?} + \item{inter.gene.cor}{numeric, optional preset value for the inter-gene correlation within tested sets. If \code{NA} or \code{NULL}, then an inter-gene correlation will be estimated for each tested set.} + \item{sort}{logical, should the results be sorted by p-value?} + \item{\dots}{other arguments are not currently used} } \details{ diff --git a/man/plotMDS.DGEList.Rd b/man/plotMDS.DGEList.Rd index f6c6644..41acd87 100644 --- a/man/plotMDS.DGEList.Rd +++ b/man/plotMDS.DGEList.Rd @@ -6,9 +6,8 @@ Plot samples on a two-dimensional scatterplot so that distances on the plot appr } \usage{ \method{plotMDS}{DGEList}(x, top = 500, labels = NULL, pch = NULL, cex = 1, - dim.plot = c(1,2), ndim = max(dim.plot), gene.selection = "pairwise", - xlab = NULL, ylab = NULL, method = "logFC", prior.count = 2, - \dots) + dim.plot = c(1,2), ndim = max(dim.plot), gene.selection = "pairwise", + xlab = NULL, ylab = NULL, method = "logFC", prior.count = 2, plot = TRUE, \dots) } \arguments{ \item{x}{a \code{DGEList} object.} @@ -23,6 +22,7 @@ Plot samples on a two-dimensional scatterplot so that distances on the plot appr \item{ylab}{y-axis label} \item{method}{method used to compute distances. Possible values are "logFC" or \code{"bcv"}.} \item{prior.count}{average prior count to be added to observation to shrink the estimated log-fold-changes towards zero. Only used when \code{method="logFC"}.} + \item{plot}{logical. If \code{TRUE} then a plot is created on the current graphics device.} \item{\dots}{any other arguments are passed to \code{plot}.} } @@ -45,7 +45,7 @@ Note that the \code{"bcv"} method is slower than the \code{"logFC"} method when } \value{ -An object of class \code{\link[limma:plotMDS]{MDS}} is invisibly returned and a plot is created on the current graphics device. +An object of class \code{\link[limma:plotMDS]{MDS}} is invisibly returned and (if \code{plot=TRUE}) a plot is created on the current graphics device. } \author{Yunshun Chen, Mark Robinson and Gordon Smyth} diff --git a/man/roast.DGEList.Rd b/man/roast.DGEList.Rd index 1aaf419..377a939 100644 --- a/man/roast.DGEList.Rd +++ b/man/roast.DGEList.Rd @@ -8,17 +8,37 @@ Rotation gene set testing for Negative Binomial generalized linear models. } \usage{ -\method{roast}{DGEList}(y, index=NULL, design=NULL, contrast=ncol(design), \dots) -\method{mroast}{DGEList}(y, index=NULL, design=NULL, contrast=ncol(design), \dots) -\method{fry}{DGEList}(y, index=NULL, design=NULL, contrast=ncol(design), \dots) +\method{roast}{DGEList}(y, index = NULL, design = NULL, contrast = ncol(design), geneid = NULL, + set.statistic = "mean", gene.weights = NULL, \dots) + +\method{mroast}{DGEList}(y, index = NULL, design = NULL, contrast = ncol(design), geneid = NULL, + set.statistic = "mean", gene.weights = NULL, + adjust.method = "BH", midp = TRUE, sort = "directional", ...) + +\method{fry}{DGEList}(y, index = NULL, design = NULL, contrast = ncol(design), geneid = NULL, + sort = "directional", ...) } \arguments{ \item{y}{\code{DGEList} object.} - \item{index}{index vector specifying which rows (genes) of \code{y} are in the test set. This can be a vector of indices, or a logical vector of the same length as \code{statistics}, or any vector such as \code{y[iset,]} contains the values for the gene set to be tested. Defaults to all genes. For \code{mroast} a list of index vectors.} + \item{index}{index vector specifying which rows (probes) of \code{y} are in the test set. + Can be a vector of integer indices, or a logical vector of length \code{nrow(y)}, or a vector of gene IDs corresponding to entries in \code{geneid}. + Alternatively it can be a data.frame with the first column containing the index vector and the second column containing directional gene weights. + For \code{mroast} or \code{fry}, \code{index} is a list of index vectors or a list of data.frames. } \item{design}{design matrix} - \item{contrast}{contrast for which the test is required. Can be an integer specifying a column of \code{design}, or the name of a column of \code{design}, or else a contrast vector of length equal to the number of columns of \code{design}.} - \item{\dots}{other arguments are passed to \code{\link{roast.default}} or \code{\link{mroast.default}}.} + \item{contrast}{contrast for which the test is required. + Can be an integer specifying a column of \code{design}, or the name of a column of \code{design}, or a numeric contrast vector of length equal to the number of columns of \code{design}.} + \item{geneid}{gene identifiers corresponding to the rows of \code{y}. + Can be either a vector of length \code{nrow(y)} or the name of the column of \code{y$genes} containing the gene identifiers. + Defaults to \code{rownames(y)}.} + \item{set.statistic}{summary set statistic. Possibilities are \code{"mean"},\code{"floormean"},\code{"mean50"} or \code{"msq"}.} + \item{gene.weights}{numeric vector of directional (positive or negative) genewise weights. + For \code{mroast} or \code{fry}, this vector must have length equal to \code{nrow(y)}. + For \code{roast}, can be of length \code{nrow(y)} or of length equal to the number of genes in the test set.} + \item{adjust.method}{method used to adjust the p-values for multiple testing. See \code{\link{p.adjust}} for possible values.} + \item{midp}{logical, should mid-p-values be used in instead of ordinary p-values when adjusting for multiple testing?} + \item{sort}{character, whether to sort output table by directional p-value (\code{"directional"}), non-directional p-value (\code{"mixed"}), or not at all (\code{"none"}).} + \item{\dots}{other arguments are currently ignored.} } \value{ diff --git a/man/scaleOffset.Rd b/man/scaleOffset.Rd new file mode 100644 index 0000000..2b6d339 --- /dev/null +++ b/man/scaleOffset.Rd @@ -0,0 +1,35 @@ +\name{scaleOffset} +\alias{scaleOffset} +\alias{scaleOffset.DGEList} +\alias{scaleOffset.default} + +\title{Scale offsets} + +\description{Ensures scale of offsets are consistent with library sizes.} + +\usage{ +\method{scaleOffset}{DGEList}(y, offset, \dots) +\method{scaleOffset}{default}(y, offset, \dots) +} +\arguments{ +\item{y}{numeric vector or matrix of counts, or a \code{DGEList} object.} +\item{offset}{numeric vector or matrix of offsets to be scaled.} +\item{\dots}{other arguments that are not currently used.} +} + +\value{numeric vector or matrix of scaled offsets.} + +\details{ +\code{scaleOffset} ensures that the scale of offsets are consistent with library sizes. +This is done by ensuring that the mean offset for each gene is the same as the mean log-library size. +The length or dimensions of \code{offset} should be consistent with the number of libraries in \code{y}. +} + +\author{Aaron Lun, Yunshun Chen} + +\examples{ +y <- matrix(rnbinom(40,size=1,mu=100),10,4) +offset <- rnorm(4) +scaleOffset(y, offset) +} + diff --git a/src/R_calculate_cpm.cpp b/src/R_calculate_cpm.cpp index 8b5c22e..7d95f4e 100644 --- a/src/R_calculate_cpm.cpp +++ b/src/R_calculate_cpm.cpp @@ -67,7 +67,8 @@ SEXP R_calculate_cpm_raw (SEXP y, SEXP libsize) try { counts.fill_and_next(count_ptr); for (lib=0; lib<num_libs; ++lib) { - outptr[lib*num_tags]=count_ptr[lib]/(lptr2[lib]/one_million); + const double& curlib=lptr2[lib]; + outptr[lib*num_tags]=(curlib==0 ? R_NaN : count_ptr[lib]/(curlib/one_million)); } ++outptr; allL.advance(); diff --git a/src/add_prior.cpp b/src/add_prior.cpp index 3faa1b0..d986061 100644 --- a/src/add_prior.cpp +++ b/src/add_prior.cpp @@ -12,8 +12,6 @@ void add_prior::fill_and_next() { if (same_across_rows() && tagdex!=0) { // Skipping if all rows are the same, and we've already filled it in once. return; - } else if (tagdex>=num_tags) { - throw std::runtime_error("number of increments exceeds available number of tags"); } ave_lib=0; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/r-bioc-edger.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
