-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathNEWS
424 lines (269 loc) · 16 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
==================
Package: sanssouci
==================
Version 0.13.0 [2024-06-17]
* New algorithm to compute a curve of post hoc bounds on a path of selection sets
when using a reference family with a forest structure, see DBNR paper (PR #109)
* The DBNR vignette is back in line with the settings used in the simulations
of the paper (PR #110)
* Multiple code optimization and tricks added for the functions linked to DBNR
* According to the points above, new functions: pruning, delete.gaps,
curve.V.star.forest.naive, curve.V.star.forest.fast, forest.completion
* Some functions removed, in particular zetas.tree.refined, now an option of
zetas.tree does the same
* gen.p.values now allow to generate p-values for the three types of alternative
* Multiple issues closed (#86 #88 #89 #101 #102 #106 #107)
* Scripts illustrating the various computationnal time improvements added
* Documentation greatly improved for all the functions linked to DBNR
Version 0.12.9 [2023-07-18]
* Export curveMaxFP and formatBounds (#108)
* Cleanup in different versions of curveMaxFP
Version 0.12.8 [2022-11-11]
* Update CITATION with Bioinformatics paper (PR #96)
* Rename pneuvial/sanssouci to sanssouci-org/sanssouci
Version 0.12.7 [2022-08-18]
* Added treatment for continuous covariates (PR #90)
Version 0.12.6 [2022-08-11]
* B=1000 permutations is now the default for calibration
* 'zeta.HB' vectorized (#87)
Version 0.12.5 [2022-02-18]
* Package sansSouci renamed to sanssouci
* Package sansSouci.data renamed to sanssouci.data
Version 0.12.4 [2021-11-05]
* Update CITATION (book chapter in Handbook of Multiple Comparisons)
* Add tests for corner cases in posthoc_bounds
* Unskip tests for 'rowWilcoxonTests'
* Add vignette for differential analysis of RNAseq data
* Fix 'R CMD check' github action (by upgrading to current rlib version)
Version 0.12.3 [2021-10-11]
* volcano plot made more generic: different p-values can be used for
selection/display and for calculating post hoc bounds (#66).
* 'colSort' becomes a wrapper around the C++ function arma::sort (which natively handles matrices).
* BUG FIX: curveMaxFP would raise an error on empty p-value vector. Now returns 0.
* volcano plot made more generic: different p-values can be used for selection/display and for calculating post hoc bounds (#66).
>>>>>>> develop
* SPEEDUP: curveMaxFP now always has O(|S|) complexity (#65).
Version 0.12.2 [2021-09-21]
* SPEEDUP: rowWilcoxonTests now completely vectorized (#64).
* Remove default value for argument 'm' in 'calibrate' and 'get_pivotal_stat' to make sure that m is properly set.
* Add unit test: the pivotal statistics are non-decreasing in the subset of hypotheses used for calibration (following feedback by Angela Andreella).
Version 0.12.1 [2021-06-11]
* [IIDEA] Speedup: data sets from the GSEABenchmarkeR package and associated gene sets are preprocessed on the deployment server.
* [IIDEA] Added script "GSEABenchmarkeR/export-data.R" to preprocess a subset of the 40 microarray data sets of GSEABenchmarkeR and store them locally.
* [IIDEA] Cleanups in the UI.
Version 0.12.0 [2021-04-30]
* Major cleanup: removed 'calibrateJER' and friends.
Version 0.11.0 [2021-04-20]
* Add README.Rmd with code example
* Updates in high-level documentation and pkgdown reference page
* 'calibrateJER' deprecated in favor of 'fit.SansSouci'.
* Dropped (unused) argument 'flavor' in 'fit.SansSouci'.
Version 0.10.2 [2021-04-16]
* SansSouciStruct: update doc and tests
* major cleanup in simple_calibration functions (to be described)
* 'fit.SansSouci(flavor="v1")' uses simple_calibration functions for 1-sample
and 2-sample tests
* Harmonized 1-sample vs 2-sample calibration: added 'rowZTests' for sign flipping
* Speedup in 'rowWelchTests': vectorization of permutation step
Version 0.10.1 [2021-04-14]
* Update IIDEA vignette
* Increased security and control of data insertion
* Add possibility to upload csv containing only p.value and fold-change
* Add gene set analysis for GSEAbenchmarkeR data set + vignette
* Add example data sets from package GSEABenchmarkeR (issue #42)
* Add self contained and competitive methods for enrichment analyses (issue #44)
* Add time and progress bar
* Use R.cache to memoize calibration results
Version 0.10.0 [2021-03-12]
* Updated documentation, vignettes and test scripts
* Vocabulary: confidence envelopes are now called confidence curves
* Added S3 class 'SansSouciStruct' (DBNR framework)
* Implemented method 'SansSouci.fit'
* Implemented method 'SansSouci.bound'
* Added S3 class 'SansSouci' (generic BNR framework)
* Implemented method 'SansSouci.fit' (wrapper around 'calibrateJER')
* Implemented method 'SansSouci.bound' (wrapper around 'curveMaxFP')
Version 0.9.5 [2021-02-11]
* cleanups in simple calibration functions: the low-level functions are 'get_perm_p', 'get_pivotal_stat' and 'get_calibrated_thresholds'; the high-level function is 'calibrate'
* cleanups in interpolation functions: 'get_min_TP', 'get_max_FP', 'get_min_TDP', 'get_max_FDP' return *functions* of a set of hypotheses. Added parameter 'envelope' to possibly return the entire confidence envelope.
* updated tests to reproduce the results of calibrateJER using new functions
Version 0.9.4 [2020-12-24]
* Added IIDEA vignette (for volcano plot shiny app)
* Volcano plot shiny app: improved user interface
Version 0.9.3 [2020-11-25]
* Increased modularity in get_pivotal_stat
* Add test script for get_pivotal_stat* for Simes and Beta templates
Version 0.9.2 [2020-11-14]
* Volcano plot shiny app: improved user interface + add interaction with Gene Ontology
Version 0.9.1 [2020-11-07]
* Add alpha version of volcano plot shiny app
* Add slow but easier to understand implementation of lambda-calibration for description and testing purposes
Version 0.9.0 [2020-10-06]
* Update package README and website
* Add fMRI vignette (using the sansSouci.data package)
* Use the sansSouci.data package in differential expression vignette
Version 0.8.5 [2020-09-10]
* 'calibrateJER' and 'testByRandomization' gained argument 'categ' so that the mapping between observations and samples (in the two-sample test case) is explicit
* Some improvements in 'plotConfidenceEnvelopes'
* Moved from Travis/Appveyor to github actions for CI
Version 0.8.4 [2020-08-18]
* Removed testByRandomization.cpp and functions 'testByNnnR' (unused) to address #17
* Dropped data/ex-rMAPS.rda (unused)
* Renamed data/volcano.rda to data/volcano_plot.rda to fix #18
Version 0.8.3 [2020-07-21]
* Added 'plotConfidenceEnvelope' and 'volcanoPlot'
* Improved vignette 'two-sample.Rmd'
* Moved from the (one-sided Gaussian) test statistics scale to the p-value scale
Version 0.8.2 [2020-07-20]
* Added 'two-sample.Rmd': a vignette for two-sample tests
* Added 'confidenceEnvelope': a high-level function to calculate confidence envelopes for true/false positives + corresponding tests.
* 'curveMaxFP' is not exported anymore
* 'calibrateJER' now outputs confidence envelopes for top-$k$ lists
* Replaced calls to '1-pnorm(x)' and alikes by 'pnorm(x, lower.tail=FALSE)' as per #14
* Improved tests
Version 0.8.1 [2019-10-16]
* Added a shiny app to illustrate the bounds of the DBNR paper.
* Implemented the "Beta template" via BetaPivotalStatistic() and
BetaThresholdFamily(). The correspondig lambda-calibration is obtained by
calibrateJER(refFamily = "Beta").
* Added a (crude) vignette showing how to perform lambda-calibration for
two-sample tests of differential gene expression: two-sample.Rmd.
* posthocBySimes() now incorporates the free lunch mentioned in #12.
SIGNIFICANT CHANGES:
Version 0.8.0 [2019-03-27]
SIGNIFICANT CHANGES:
* calibrateJER() gained argument rowTestFUN in order to perform other
tests than the classical Welch (Student-T) test, in the two-sample
case.
* Added rowBinomialTests() for vectorized Binomial tests, and corresponding
tests scripts. Note that two-sided Binomial tests are in fact not vecorized
yet.
* Added rowWilcoxonTests() for vectorized Wilcoxon rank sum tests, and
corresponding tests scripts. Removed wilcoxStats() which had become
redundant, and simulateMein() which was using it and which was not being
used.
* BUG FIG in rowWilcoxonTests(): ties were not handled the same way as in
wilcox.test() because the default of matrixStats::rowRanks(ties = "max")
is not the same as the default of rank(ties = "average"). Now also
*rounding* the ranks in order to make use of matrixStats::rowTabulates(),
which itself only works with integer values.
SOFTWARE QUALITY:
* Added more tests for the "direction" of the lambda-calibration in
calibrateJER().
DEPRECATION & DEFUNCT:
* testByRandomization() does not return 'df' and 'df0' anymore as these were
unused idiosyncrasies of t-tests (e.g. not relevant for Wilcoxon tests).
MISC
* Renamed NEWS.md to NEWS and reformatted for news(package = "sansSouci") to
become informative.
* calibrateJER() gained argument 'maxStepsDown' to control the maximal number
of steps down.
* In calibrateJER0() suppressed the warning occurring when the maximal number
of steps down is reached without convergence.
Version 0.7.0 [2018-06-19]
* Added "tree" functions (and simulation scripts) from DBNR 2018.
* Added vignette confidenceEnvelopes_localized to illustrate DBNR 2018.
* Added support for one-sided tests in 'calibrateJER' and 'testByRandomization' (this feature has been imported from the branch generic-randomization-tests). Added corresponding tests.
* Cleanups in 'testByRandomization': "parametric" p-values are now the default, randomization p-values are not computed by default. Note that permutation test statistics are not mapped to the one-sided N(0,1) scale under the null (this is done by calibrateJER).
* Updated vignettes.
Version 0.6.0 [2018-03-26]
* Added vignette 'jointErrorRateCalibration_simulations.Rmd'.
* Added function maxFP and minTP to calculate post hoc bound among user-defined selections. Renamed function 'upperBoundFP' to 'curveMaxFP' for internal consistency. Removed functions 'falseDiscoveryEnvelope', 'falseDiscoveryProportionControl' and 'falseDiscoveryProportionEnvelope' which provided correct but conservative bounds.
* Added function 'calibrateJER' as the main user-level entry point for calibrating JER thresholds. Renamed 'jointFWERControl' into 'calibrateJER0', which is not exported anymore. (Fixes #7).
* Cleanup: user-level entry point for simulating test statistics is now 'gaussianTestStatistics'.
* Cleanup: user-level entry point for simulating observations from one and two-sample problems is now 'gaussianSamples'.
* Added corresponding tests and updated vignettes accordingly.
* Cleanups in 'inst' scripts.
* Cleanup: *many* lower-level functions are not exported anymore; their documentation is still available in the form of comments but not as .Rd files.
* Some code cleanups (spacing; comments)
Version 0.5.1 [2018-02-07]
* Added data/volcano.rda with p-values and fold changes for 4 public gene expression data sets.
* Added first draft of a volcano plot shiny app.
Version 0.5.0 [2017-12-20]
* Added/updated randomization tests (by permutation or sign-flipping).
* Completed numerical experiments for BNR paper.
Version 0.4.12 [2017-10-28]
* Added stratified Monte-Carlo estimation of JER coverage in BNR experiments
(as nicely suggested by a referee).
* Added simulateEquiByGroupPermutation.
* Added C++ verson of postHocBySimes (written by @sbsad) + corresponding test script.
* Added "twoGroupPermutationTest" (written by @sbsad) + corresponding test script.
* Added "rowWelchTest" + corresponding test script.
Version 0.4.11 [2017-02-14]
* Updated step down vignette and documentation.
* Added travis CI and appveyor support.
Version 0.4.10 [2017-01-27]
* Added tiny test for numerical reproducibility of JR control function.
* Speedup in 'kFWERPivotalStatistic': avoid calling 'partialColSortDesc' twice when 'C=H' (single step control)
Version 0.4.9 [2017-01-10]
* Moved to github
* Passes R CMD check locally
Version 0.4.8 [2016-08-11]
* Reshaped the scripts of the numerical experiments or the BNR paper.
Version 0.4.7 [2016-07-04]
* In 'upperBoundFP', implemented the case 'kMax<m' for all flavors. Added corresponding 'testthat' scripts.
Version 0.4.6 [2016-06-17]
* Added linearly decreasing SNR to BNR test scripts.
* Added 'simulateToeplitz' to simulate under Gaussian distribution
with Toeplitz covariance matrix.
Version 0.4.5 [2016-06-16]
* Added alternative (finer?) definition of power to BNR test scripts.
Version 0.4.4 [2016-06-10]
* BUG fix in 'pivotatStat' (cont'd): the pivotal statistic was not
calculated properly for kFWER threshold family when the cardinal of
the set of candidate hypotheses ($\cC$) was less than m.
* Added a test script to check that the R and C++ versions of
'minPseudoRanks' give identical results.
Version 0.4.3 [2016-06-09]
* BUG fix in 'pivotatStat' (cont'd): the pivotal statistic was not
calculated properly for kFWER threshold family when the cardinal of
the set of candidate hypotheses ($\cC$) was less than m.
* Removed function 'pivotalStat' as the calculation of kFWER and Simes
statistics now have almost nothing to share.
Version 0.4.2 [2016-06-09]
* BUG fix in 'pivotatStat': the pivotal statistic was not calculated
properly for Simes' threshold family when the cardinal of the set of
candidate hypotheses ($\cC$) was less than m.
* removed 'jointFWERThresholdCalibration' to make the code in 'jointFWERControl' more explicit.
Version 0.4.1 [2016-06-07]
* BUG fix in 'jointFWERControl': the threshold family was not
updated properly throughout the step-down process.
Version 0.4.0 [2016-06-06]
Another major change in the package interface:
* added functions 'SimesPivotalStatistic', 'jointFWERThresholdCalibration', 'kFWERPivotalStatistic'.
* the main user-level entry function is now 'jointFWERControl', which performs step-down JFWER control by default.
Version 0.3.2
* continuing the transition from inlienedocs to roxygen2 for package documentation.
Version 0.3.1 [2016-06-02]
* BUG FIX in 'stepDownJointFWERControl': in some rare situations the algorithm could be stuck alternating between two candidate rejection sets R1, hence never terminating. Now forcing the 'best' candidate (ie the largest one) to be selected.
* Added a test (using 'extdata/simTrace.rda') to make sure that 'stepDownJointFWERControl' terminates in such situations.
Version: 0.3.0 [2016-06-02]
Major rewriting of the code for increased clarity and efficiency:
* Renamed and reshaped the functions to calibrate JFWER thresholds (step down and single step).
* Dropped dichotomy in favor of pivotal statistic for the computation of JFWER thresholds.
* Speedup in 'upperBoundFP'.
* Added 'SimesThresholdFamily', 'pivotalStat', 'thresholdFamily', 'kFWERThresholdFamily', 'partialColSortDesc', 'biSort'.
* Added test scripts (using package "testthat").
* Moved from "inlinedocs" to "roxygen2" for documentation (mostly because documenting Rcpp functions is easier and the nice integration with other (dev)tools for checking package, running examples and performing package tests).
Version: 0.2.3 [2016-05-06]
* BUG FIX: in 'getJointFWERThresholds', function 'refFamily' could
return a matrix of dimensions m x 0 instead of a vector of length m.
Version: 0.2.2 [2016-04-20]
* Updated examples to pass R CMD check without ERROR.
* 'stepDownControl' vignette now in .Rmd.
Version: 0.2.1 [2016-02-04]
* Fixed NAMESPACE for calling Rcpp.
Version: 0.2.0 [2016-02-02]
* SPEEDUP: 'getJointFWERThresholds' now calls Rcpp functions for time costly operations (sorting).
* Fixed some typos in the documentation.
Version: 0.1.3 [2016-01-28]
* BUG FIX: the one-parameter family should not be updated at each step down!
* Example fixed accordingly.
* Changed names of input and return values of 'getJointFWERThresholds' for consistency with the notation of the BNR paper.
* Added test script for unbalancedness.
Version: 0.1.2 [2016-01-07]
* Implemented the "Oracle" version of step-down control.
Version: 0.1.1 [2015-12-17]
* added scripts to test step-down JFWER control
Version: 0.1.0 [2015-12-10]
* Tentative implementation of Etienne's trick to avoid dichotomy in 'getJointFWERThresholds'. Quite slow for kFWER thresholds.