one stratum from vsn2
Entering edit mode
Last seen 6 months ago

Hi, Everyone,

I have this " (1 stratum)" problem from vsn2 since 1/15/2021, even when I ran the sample codes (from I uninstalled and reinstalled my R several times, the problem has not been solved.

Please find the codes and output from R below.

Anyone has any idea on solving the problem?

Thanks for your help.

> library("vsn")
Loading required package: Biobase
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:stats’:

    IQR, mad, sd, var, xtabs

The following objects are masked from ‘package:base’:

    anyDuplicated, append,, basename, cbind, colnames,
    dirname,, duplicated, eval, evalq, Filter, Find, get, grep,
    grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
    order, paste, pmax,, pmin,, Position, rank,
    rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
    union, unique, unsplit, which.max, which.min

Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

> data("kidney")
> xnorm = justvsn(kidney)

vsn2: 8704 x 2 matrix (1 stratum). 
Please use 'meanSdPlot' to verify the fit.

> sessionInfo( )

 version 4.0.3 (2020-10-10)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] parallel  stats     graphics  grDevices utils     datasets  methods  
[8] base
vsn vsn2 onestratum • 184 views
Entering edit mode

Just to echo & condense James's reply: can you clarify what you think "the problem" is? ... I cannot see any in the code or information you posted. thanks, Wolfgang

Entering edit mode
Last seen 1 day ago
United States

Why do you think that's a problem? There's no warning or error message so I am not sure why it bothers you.

Anyway, if you look at the help page for vsn2 it says


               lts.quantile = 0.9,
               subsample    = 0L,
               verbose      = interactive(),
               returnData   = TRUE,
               calib        = "affine",
               minDataPointsPerStratum = 42L,
               optimpar     = list(),
               defaultpar   = list(factr=5e7, pgtol=2e-4, maxit=60000L,
                                   trace=0L, cvg.niter=7L, cvg.eps=0))

     ## S4 method for signature 'ExpressionSet'
     vsn2(x, reference, strata, ...)

     ## S4 method for signature 'AffyBatch'
     vsn2(x, reference, strata, subsample, ...)

     ## S4 method for signature 'NChannelSet'
     vsn2(x, reference, strata, backgroundsubtract=FALSE,
            foreground=c("R","G"), background=c("Rb", "Gb"), ...)

     ## S4 method for signature 'RGList'
     vsn2(x, reference, strata, ...)


       x: An object containing the data to which the model is fitted.

reference: Optional, a 'vsn' object from a previous fit. If this
          argument is specified, the data in 'x' are normalized
          "towards" an existing set of reference arrays whose
          parameters are stored in the object 'reference'. If this
          argument is not specified, then the data in 'x' are
          normalized "among themselves". See Details for a more precise

  strata: Optional, a 'factor' or 'integer' whose length is 'nrow(x)'.
          It can be used for stratified normalization (i.e. separate
          offsets a and factors b for each level of 'strata'). If
          missing, all rows of 'x' are assumed to come from one
          stratum.  If 'strata' is an integer, its values must cover
          the range 1,...,n, where n is the number of strata.

So if you want to do a stratified fit you can provide an integer vector to do so.

> z <- justvsn(kidney, strata = sample(1:2, 8704, TRUE))
vsn2: 8704 x 2 matrix (2 strata). 
Please use 'meanSdPlot' to verify the fit.
Entering edit mode

Put a different way, the default for justvsn is to fit the model using all the data together (one stratum). You can think that there are two or more groups of genes that should be fit separately (stratified), in which case you can use the strata argument to specify the groups. But the default is to not do that, and that gets reported to you, and it's been that way for a pretty long time so the only difference between now and before 1.15.2021 is that you didn't notice it before, and now you have.


Login before adding your answer.

Traffic: 373 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6