-
Notifications
You must be signed in to change notification settings - Fork 89
/
NEWS
895 lines (674 loc) · 32.4 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
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
CHANGES IN VERSION 1.45.1
-------------------------
o Dropping the requirement for DESeqDataSet to contain integers.
This allows fitType="glmGamPoi" to be used. If non-integer
counts are present and other fitType values are provided,
the various functions will give an error, e.g. DESeq,
estimateDispersions, nbinomWald, and nbinomLRT. To avoid
integer conversion, use DESeqDataSet() with
skipIntegerMode=TRUE. For more detail see:
https://github.com/thelovelab/DESeq2/issues/66
CHANGES IN VERSION 1.44.0
-------------------------
o New method for 'greaterAbs' in results() which has more
power than the original 2014-2023 method. The old method
is available as 'greaterAbs2014'.
Suggested by Nikos Ignatiadis
o Fix from I-Hsuan Lin for the glmGamPoi dispersion estimation
where the wrong indexing of the fitted mean matrix was used,
which caused a slowdown.
o Fix from Rasmus Henningsson where the Cook's distances for
the LRT were computed using a rough estimate of the mean,
rather than the one from the GLM estimates of the full model.
Now Cook's distances for Wald and LRT should be consistent.
CHANGES IN VERSION 1.42.0
-------------------------
o collapseReplicates() now noisier (warning) about other assays.
o plotPCA() prints out the `ngenes` setting.
o Added pcsToUse for plotPCA (idea from Vince Carey)
o Added test that SE exist for lfcShrink (in case of
glmGamPoi fitType).
CHANGES IN VERSION 1.41.13
--------------------------
o collapseReplicates() now noisier (warning) about other assays.
o plotPCA() prints out the `ngenes` setting.
CHANGES IN VERSION 1.41.8
-------------------------
o Use of MatrixGenerics
CHANGES IN VERSION 1.41.4
-------------------------
o Fixed dispersionFunction argument issue.
CHANGES IN VERSION 1.41.2
-------------------------
o Added pcsToUse for plotPCA (idea from Vince Carey)
CHANGES IN VERSION 1.41.1
-------------------------
o Added test that SE exist for lfcShrink (in case of
glmGamPoi fitType).
CHANGES IN VERSION 1.39.8
-------------------------
o Changed `lower=0` to `lower=1e-6` in unmix(), as the
lower bound of 0 was producing sqrt(negative) errors
on Linux ARM64.
https://support.bioconductor.org/p/9150056/
CHANGES IN VERSION 1.39.7
-------------------------
o Fix bug in independent filtering: with very little variation in
the curve of number of rejections over threshold, and when the
maximum was only reached near the end, the default filtering
wouldn't attain sufficient filtering. This has been addressed
by also checking for a threshold at which 90%, or 80% of the
fitted number of rejections is found.
Note: IHW is the preferred method for filtering, and can easily
by used by calling `filterFun=ihw`.
CHANGES IN VERSION 1.39.6
-------------------------
o Fix bug on estimateDispersionsGeneEst when niter is
larger than 1 (#64 on GitHub).
CHANGES IN VERSION 1.39.5
-------------------------
o PR from Hendrik Weisser for lfcShrink when the results
table has additional columns than those produced by
results().
CHANGES IN VERSION 1.39.4
-------------------------
o Removing geneplotter dependency.
CHANGES IN VERSION 1.39.1
-------------------------
o Removing genefilter as dependency, switching to matrixStats.
This should resolve gfortran issues.
CHANGES IN VERSION 1.31.16
--------------------------
o Turning off outlier replacement with glmGamPoi fitting.
CHANGES IN VERSION 1.31.15
--------------------------
o Added 'saveCols' in results() and lfcShrink() to pass
metadata columns to output.
CHANGES IN VERSION 1.31.13
--------------------------
o Allow additional arguments to be passed to data-accessing
functions in integrateWithSingleCell().
CHANGES IN VERSION 1.31.2
-------------------------
o Fixed interface with glmGamPoi so that normalizationFactors
can be used. Thanks to Michael Schubert for spotting this
and to Constantin Ahlmann-Eltze for pointing out the fix.
CHANGES IN VERSION 1.30.0
-------------------------
o Major overhaul of dispersion estimation and GLM estimation
functions from Constantin Ahlmann-Eltze, which will allow use of
the glmGamPoi package from within DESeq2, in particular relevant
for single-cell datasets. DESeq() can be directed to use
glmGamPoi for dispersion and GLM fitting by specifying
fitType="glmGamPoi". The glmGamPoi estimation is much faster
than original DESeq2 estimation for single-cell datasets,
e.g. for 30,000 cells, calling glmGamPoi was 13x faster than
original DESeq2. In addition, the dispersion estimation is more
accurate for genes with many small counts, as found in
single-cell datasets.
See glmGamPoi manuscript for details on methods,
doi: 10.1101/2020.08.13.249623.
o Added integrateWithSingleCell(), written by Kwame Forbes,
which directs user to a menu of single-cell datasets
available on Bioconductor and downloads/loads the one
chosen by the user for further analysis visualization.
(Interactive only)
CHANGES IN VERSION 1.28.0
-------------------------
o For lfcShrink(), changed order of `type` options:
"normal" will no longer be first, as it under-performed
"apeglm" and "ashr" in Zhu et al (2018). The new order
is type=c("apeglm", "ashr", "normal").
o Added arguments to estimateDispersions: useCR (logical),
and weightThreshold (numeric, default of 1e-2). The first
argument optionally avoid the calculation of Cox-Reid
adjustment term. The second argument sets the threshold for
subsetting the design matrix and GLM weights when calculating
the adjustment term. In addition, baseMean uses weights
when calculating the mean of normalized counts, if weights
matrix is provided.
CHANGES IN VERSION 1.27.12
--------------------------
o For lfcShrink(), changed order of `type` options:
"normal" will no longer be first, as it under-performed
"apeglm" and "ashr" in Zhu et al (2018). The new order
is type=c("apeglm", "ashr", "normal").
CHANGES IN VERSION 1.27.9
-------------------------
o Added arguments to estimateDispersions: useCR (logical),
and weightThreshold (numeric, default of 1e-2). The first
argument optionally avoid the calculation of Cox-Reid
adjustment term. The second argument sets the threshold for
subsetting the design matrix and GLM weights when calculating
the adjustment term. In addition, baseMean uses weights
when calculating the mean of normalized counts, if weights
matrix is provided.
CHANGES IN VERSION 1.26.0
--------------------------
o Incorporation of fast code from Constantin Ahlmann-Eltze
which speeds up DESeq2 for large sample sizes (n > 100)
by at least an order of magnitude. In fact the speed is
now linear with number of samples whereas previously
DESeq2 would scale quadratically. The critical merge
commits were:
c96c1c0ad43280c82403d3e6bc3501332a62e7b8 (2019-07-16)
0a47a0c750aa5c31df759a171c737d6ed782d6c2 (2019-07-30)
o Fixed a bug where rbind() in parallel=TRUE would
proliferate metadata items.
o Updated vignette to discuss tximeta (workflow also updated
to show use of tximeta instead of read counting).
CHANGES IN VERSION 1.22.0
-------------------------
o No replicate designs no longer supported (previous
version began deprecation with a warning).
o unmix() now optionally will return the correlation
(in the variance stabilized space)
of the fitted data to the original data, and the
matrix of fitted data (format="list"). Argument
'loss' was changed to 'power'. Will give warning
if the columns of 'pure' have high correlation
(in the variance stabilized space).
CHANGES IN VERSION 1.21.21
--------------------------
o Improved code for 'linearModelMu' (an internal fitting function
used in dispersion estimation for some models) contributed
by Wolfgang Huber speeds up an internal step by 2 orders
of magnitude.
CHANGES IN VERSION 1.21.15
--------------------------
o Rows of the weights matrix which would produce a degenerate
design matrix, instead of giving an error, will produce a
warning, and these rows will be treated as if they contained
all zeros (mcols(dds)$allZero and mcols(dds)$weightsFail will
be set to TRUE).
CHANGES IN VERSION 1.21.14
--------------------------
o The nbinom{WaldTest,LRT} functions will not stop if the
design produces a model matrix that is not full rank
and betaPrior=FALSE (default). This was assumed by the
DESeq2 code, because errors are produced at object
construction and at dispersion estimation, but it was
possible to call nbinomLRT() from DEXSeq after dispersion
estimation and end up with a full model matrix that was
not full rank. Instead testForDEU() should be called from
DEXSeq.
CHANGES IN VERSION 1.21.13
--------------------------
o Adding back a feature from version 1.15, where contrasts
of two groups where both had all zero counts would have
the LFC zero-ed out, rather than output a small but
non-zero value. It's preferable for the Wald test that
the LFC be set to zero for such contrasts.
CHANGES IN VERSION 1.21.9
-------------------------
o DESeq() now only says one time 'using supplied model matrix',
previously this was repeated three times from sub-functions.
Sub-functions therefore no longer print this message.
o Fixed bug when lfcShrink run directly after LRT
with supplied model matrices.
o Added heuristic to prevent Cook's outlier based filtering
when the max Cook's sample has lower counts than 3 other
samples. Restricted to two group comparison datasets.
CHANGES IN VERSION 1.20.0
--------------------------
o Added 'lfcThreshold' argument to lfcShrink() for use
with type="normal" and type="apeglm". For the latter,
lfcShrink() will compute FSOS s-values, for bounding
when the LFC will be "false sign or small", where
small is defined by lfcThreshold.
o Switching to a ~10x faster apeglm implementation for
use in the lfcShrink() function.
o Beginning the deprecation of exploratory analysis of
designs without replicates. Analysis of designs without
replicates will be removed in the Oct 2018 release:
DESeq2 v1.22.0, after which DESeq2 will give an error.
o Elevate 'minmu' to DESeq() as this proves useful for
single cell applications and certain zero-inflated data.
o Elevate 'useT' to DESeq(), which will use (n - p) for the
degrees of freedom of the t distribution, and if weights
are provided, it will use the sum of weights as 'n'.
CHANGES IN VERSION 1.18.0
-------------------------
o lfcShrink() offers alternative estimators type="apeglm"
and type="ashr", making use of shrinkage estimators
in the 'apeglm' and 'ashr' packages, respectively.
See ?lfcShrink for more details and appropriate
references. The integration of these alternative
shrinkage estimators is still in development.
Additionally, the DESeqResults object gains priorInfo(res),
which passes along details of the fitted prior on LFC.
o Factor levels using characters other than letters,
numbers, '_' and '.' will print a message (not a warning
or error) that it is recommended to restrict to these
"safe characters". This follows a suggestion from the
Bioconductor support site to avoid user errors.
CHANGES IN VERSION 1.16.0
-------------------------
o DESeq() and nbinomWaldTest() the default setting
will be betaPrior=FALSE, and the recommended pipeline
will be to use lfcShrink() for producing shrunken LFC.
o Added a new function unmix(), for unmixing samples
according to linear combination of pure components,
e.g. "tissue deconvolution".
o Added a new size factor estimator, "poscounts",
which evolved out of use cases in Paul McMurdie's
phyloseq package.
o Ability to specify observation-specific weights,
using assays(dds)[["weights"]]. These weights are
picked up by dispersion and NB GLM fitting functions.
CHANGES IN VERSION 1.15.40
--------------------------
o Adding a new function unmix(), for
unmixing samples according to pure components,
e.g. "tissue deconvolution". The pure components
are added on the gene expression scale
(either normalized counts or TPMs), and the loss
is calculated in a variance stabilized space.
CHANGES IN VERSION 1.15.39
--------------------------
o Added a new size factor estimator, "poscounts",
which evolved out of use cases in Paul McMurdie's
phyloseq package.
CHANGES IN VERSION 1.15.36
--------------------------
o Ability to specify observation-specific weights,
using assays(dds)[["weights"]]. These weights are
picked up by dispersion and NB GLM fitting functions.
CHANGES IN VERSION 1.15.28
--------------------------
o Remove some code that would "zero out" LFCs
when both groups involved in a contrast had zero counts.
This lead to inconsistency when similarly contrasts
were performed by refactoring.
CHANGES IN VERSION 1.15.12
--------------------------
o DESeq() and nbinomWaldTest() the default setting
will be betaPrior=FALSE, and the recommended pipeline
will be to use lfcShrink() for producing shrunken
log2 fold changes for visualization and ranking.
Explanation for the change is presented in the
vignette section:
"Methods changes since the 2014 DESeq2 paper"
CHANGES IN VERSION 1.15.9
-------------------------
o Adding prototype function lfcShrink().
o Vignette conversion to Rmarkdown / HTML.
CHANGES IN VERSION 1.15.3
-------------------------
o Removing betaPrior option for nbinomLRT, in an effort
to clean up and reduce old un-used functionality.
CHANGES IN VERSION 1.13.8
-------------------------
o Use a linear model to estimate the expected counts
for dispersion estimation in estDispGeneEst()
if the number of groups in the model matrix
is equal to the number of columns of the model
matrix. Should provide a speed-up for dispersion
estimation for model matrices with many samples.
CHANGES IN VERSION 1.13.3
-------------------------
o Fixed bug: fpm() and fpkm() for tximport.
o Fixed bug: normalization factors and VST.
o Added an error if tximport lengths have 0.
o Added an error if user matrices are not full rank.
o More helpful error for constant factor in design.
CHANGES IN VERSION 1.12.0
-------------------------
o Added DESeqDataSetFromTximport() to import
counts using tximport.
o Added vst() a fast wrapper for the VST.
o Added support for IHW p-value adjustment.
CHANGES IN VERSION 1.11.42
--------------------------
o Update summary() to be IHW-results-aware.
o Small change to fitted mu values to improve fit stability
when counts are very low. Inference for high count genes
is not affected.
o Galaxy script inst/script/deseq2.R moves to Galaxy repo.
CHANGES IN VERSION 1.11.33
--------------------------
o Changed 'filterFun' API to accommodate IHW:
independent hypothesis weighting in results(),
see vignette for example code.
Thanks to Nikolaos Ignatiadis, maintainer of IHW package.
CHANGES IN VERSION 1.11.18
--------------------------
o Added a function vst(), which is a fast wrapper for
varianceStabilizingTransformation(). The speed-up
is accomplished by subsetting to a smaller number
of genes for the estimation of the dispersion trend.
CHANGES IN VERSION 1.11.5
-------------------------
o Adding in functionality to import estimated counts and
average transcript length offsets from tximport,
using DESeqDataSetFromTximport().
CHANGES IN VERSION 1.10.0
-------------------------
o Added MLE argument to plotMA().
o Added normTransform() for simple log2(K/s + 1) transformation,
where K is a count and s is a size factor.
o When the design contains an interaction, DESeq() will use
betaPrior=FALSE. This makes coefficients easier to interpret.
o Independent filtering will be less greedy, using as a
threshold the lowest quantile of the filter such that the
number of rejections is within 1 SD from the maximum.
See ?results.
o summary() and plotMA() will use 'alpha' from results().
CHANGES IN VERSION 1.9.42
-------------------------
o New function 'normTranform', for making DESeqTransform objects
from normalized counts plus a pseudocount (default 1) then
applying a transformation (default log2).
o Added MLE argument to plotMA(), if results() was run with
addMLE=TRUE, this allows for comparison of shrunken and
unshrunken estimates of fold change.
o summary() and plotMA() use the 'alpha' which was specified
in results() rather than defaulting to 0.1.
o Removed rlog's fast option, and instead recommending VST for
very large matrices of counts (100s of samples).
CHANGES IN VERSION 1.9.17
-------------------------
o Independent filtering: results() no longer uses the maximum
of the number of rejections as calculated by the filter_p() function
from the genefilter package. Small numbers of rejections at a
high quantile of the filter threshold could result in
a high filter threshold. Instead, now the results() function
will use the lowest quantile of the filter for which the
number of rejections is close to the peak of a lowess curve fit
through the number of rejections over the filter quantiles.
'Close to' is defined as within 1 residual standard deviations.
CHANGES IN VERSION 1.9.16
-------------------------
o When the design formula contains interaction terms, the DESeq()
function will by default not use a beta prior (betaPrior=FALSE).
The previous implementation of a log fold change prior for
interaction terms returned accurate inference, but was confusing
for users to interpret. New instructions on building results tables
for designs with interactions will be included in the software
vignette.
CHANGES IN VERSION 1.8.0
------------------------
o Added support for user-supplied model matrices to DESeq(),
estimateDispersions() and nbinomWaldTest(). This helps
when the model matrix needs to be edited by the user.
CHANGES IN VERSION 1.7.45
-------------------------
o Added a test in rlog for sparse data, mostly zero and some
very large counts, which will give a warning and suggestion
for alternate transformations.
o Added plotSparsity() which will help diagnose issues for using rlog:
data which do not resemble negative binomial due to many genes
with mostly zeros and a few very large counts.
CHANGES IN VERSION 1.7.43
-------------------------
o Added 'replaced' argument to counts() and plotCounts() such
that the assay in "replaceCounts" will be used if it exists.
Raised a minimum dispersion value used in Cook's calculation,
so that other counts in a group with an outlier won't get extreme
Cook's distances themselves.
CHANGES IN VERSION 1.7.32
-------------------------
o Added logic to results() which will zero out the LFC, Wald
statistic and set p-value to 1, for 'contrast' argument
results tables where the contrasted groups all have zero count.
Non-zero LFCs were otherwise occuring due to large differences
in the size factors.
CHANGES IN VERSION 1.7.11
-------------------------
o Added support for user-supplied model matrices to DESeq(),
estimateDispersions() and nbinomWaldTest().
CHANGES IN VERSION 1.7.9
------------------------
o Added Genome Biology citation for the DESeq2 methods.
o Introduced type="iterate" for estimateSizeFactors,
an alternative estimator for the size factors, which
can be used even when all genes have a sample with a
count of zero. See man page for details.
CHANGES IN VERSION 1.7.3
------------------------
o Fixed two minor bugs:
DESeq() with parallel=TRUE was dropping rows with all zero
counts, instead of propogating NAs.
nbinomLRT() with matrices provided to 'full' and 'reduced' and
a design of ~ 1, the matrices were being ignored.
CHANGES IN VERSION 1.6.0
------------------------
o DESeq() and results() gets a 'parallel' argument.
o results() gets an 'addMLE' argument.
o results() gets a 'test' argument, for constructing Wald tests
after DESeq() was run using the likelihood ratio test.
o results() argument 'format' for GRanges or GRangesList results.
o new plotCounts() function.
o Less outlier calling from Cook's distance for analyses with
many samples and many conditions.
o More robust beta prior variance and log fold change shrinkage.
CHANGES IN VERSION 1.5.70
-------------------------
o Added 'parallel' also for results(), which can be slow if run with
100s of samples.
CHANGES IN VERSION 1.5.54
-------------------------
o Added 'parallel' argument to DESeq() which splits up the analysis
over genes for those steps which are easily done in parallel,
leveraging BiocParallel's bplapply.
CHANGES IN VERSION 1.5.50
-------------------------
o A matrix can be provided to rlog or to the VST and will return
a matrix. Also 'fitType' argument is included, in case dispersions
are not estimated which is passed on to estimateDispersions.
CHANGES IN VERSION 1.5.49
-------------------------
o The fast=TRUE implementation of rlog is even faster, subsetting
genes along the range of base mean to estimate the dispersion
trend and for fitting the optimal amount of shrinkage.
CHANGES IN VERSION 1.5.40
-------------------------
o Further improved code behind the robust estimation of variance
for Cook's cutoff, resulting in less outlier calls due to
an individual condition with few samples and high variance.
CHANGES IN VERSION 1.5.28
-------------------------
o New results() argument 'addMLE' adds the unshrunken fold changes
for simple contrasts or interaction terms to the results tables.
CHANGES IN VERSION 1.5.27
-------------------------
o Applied the beta prior variance calculation from v1.5.22 to the
regularized logarithm.
o Added MLE coefficients as MLE_condition_B_vs_A columns to mcols(dds).
o Fixed the statistic which is returned when lfcThreshold is used.
Previously, only the p-value and adjusted p-value was changed.
o plotPCA() with argument 'returnData' will return a data.frame
which can be used for custom plotting.
CHANGES IN VERSION 1.5.25
-------------------------
o Improved the robust variance estimate used for calculating
Cook's distances. The previous estimate could lead to outlier
calls in datasets with many conditions, and when a single
condition had large, highly variable counts for all its samples.
CHANGES IN VERSION 1.5.22
-------------------------
o Adding an alternate method for beta prior variance calculation
in nbinomWaldTest. This helps to produce more robust prior
variance estimates when many genes have small counts and highly
variable MLE log fold changes.
CHANGES IN VERSION 1.5.15
-------------------------
o For likelihood ratio test, expanded model matrices not default.
Some improvements in fit time from handling of genes with
dispersions that do not converge using line search.
CHANGES IN VERSION 1.5.13
-------------------------
o Adding test argument to results(), which allows users to perform
a Wald test after DESeq(dds, test="LRT") / nbinomLRT has been run.
CHANGES IN VERSION 1.5.11
------------------------
o Swapping in ggplot2 for lattice for the plotPCA function.
CHANGES IN VERSION 1.5.9
------------------------
o Added a VST for fitType = mean. Allowed designs with ~ 0
and betaPrior = FALSE. Fixed some potential metadata
column insertion bugs.
CHANGES IN VERSION 1.5.8
------------------------
o Suppress the glm.fit convergence warning from parametric dispersion
curve fitting procedure, instead use this for the iterative
convergence test.
CHANGES IN VERSION 1.5.3
------------------------
o Speeding up and reducing copying for DESeqDataSet construction.
CHANGES IN VERSION 1.5.2
------------------------
o Added 'format' argument to results, which will attach results to
GRangesList or GRanges if requested (default is DataFrame).
CHANGES IN VERSION 1.4.4
------------------------
o Fixed a hang which could occur in the GLM fitting procedure.
CHANGES IN VERSION 1.4.3
------------------------
o Fixed simple bug when using normalizationFactors and running
nbinomWaldTest, error was "no method for coercing this S4 class
to a vector".
CHANGES IN VERSION 1.4.2
------------------------
o Fixed bugs: estimating beta prior for interaction between factor
and numeric; not returning row names for counts(); construction
of DESeqDataSet gives wrong error when there are empty levels:
instead now drops the levels for the user.
CHANGES IN VERSION 1.4.1
------------------------
o Fixed bug where DESeqDataSetFromHTSeqCount() imported the special
rows, "_ambiguous", etc.
CHANGES IN VERSION 1.4.0
------------------------
o *** USAGE NOTE *** Expanded model matrices are now used when
betaPrior = TRUE (the default). Therefore, level comparison results
should be extracted using the 'contrast' argument to the results()
function. Expanded model matrices produce shrinkage of log
fold changes that is independent of the choice of base level.
Expanded model matrices are not used in the case of designs
with an interaction term between factors with only 2 levels.
o The order of the arguments 'name' and 'contrast' to the results()
function are swapped, to indicate that 'contrast' should be used
for the standard comparisons of levels against each other.
Calling results() with no arguments will still produce the
same comparison: the fold change of the last level of the last
design variable over the first level of the last design variable.
See ?results for more details.
o The DESeq() function will automatically replace count outliers
flagged by Cook's distance when there are 7 or more replicates.
The DESeq() argument 'minReplicatesForReplace' (default 7)
is used to decide which samples are eligible for automatic
replacement. This default behavior helps to prevent filtering
genes based on Cook's distance when there are many degrees of
freedom.
CHANGES IN VERSION 1.3.58
-------------------------
o Added a list() option to the 'contrast' argument of results().
See examples in ?results.
CHANGES IN VERSION 1.3.24
-------------------------
o rlogTransformation() gains an argument 'fast', which switches to
an approximation of the rlog transformation. Speed-up is ~ 2x.
o A more robust estimator for the beta prior variance is used:
instead of taking the mean of squared MLE betas, the prior variance
is found by matching an upper quantile of the absolute value of
MLE betas with an upper quantile of a zero-centered Normal
distribution.
CHANGES IN VERSION 1.3.17
-------------------------
o It is possible to use a log2 fold change prior (beta prior)
and obtain likelihood ratio test p-values, although the default
for test="LRT" is still betaPrior=FALSE.
CHANGES IN VERSION 1.3.15
-------------------------
o The DESeq() function will automatically replace count outliers
flagged by Cook's distance when there are 7 or more replicates.
The DESeq() argument 'minReplicatesForReplace' (default 7)
is used to decide which samples are eligible for automatic
replacement. This default behavior helps to prevent filtering
genes based on Cook's distance when there are many degrees of
freedom.
o The results() function produces an object of class 'DESeqResults'
which is a simple subclass of 'DataFrame'. This class allows for
methods to be written specifically for DESeq2 results. For example,
plotMA() can be called on a 'DESeqResults' object.
CHANGES IN VERSION 1.3.12
-------------------------
o Added a check in nbinomWaldTest which ensures that priors
on logarithmic fold changes are only estimated for interactions
terms, in the case that interaction terms are present in the
design formula.
CHANGES IN VERSION 1.3.6
------------------------
o Reduced the amount of filtering from Cook's cutoff:
maximum no longer includes samples from experimental groups
with only 2 samples, the default F quantile is raised to 0.99,
and a robust estimate of dispersion is used to calculate
Cook's distance instead of the fitted dispersion.
CHANGES IN VERSION 1.3.5
------------------------
o New arguments to results(), 'lfcThreshold' and
'alternativeHypothesis', allow for tests of log fold changes
which are above or below a given threshold.
o plotMA() function now passes ellipses arguments to the
results() function.
CHANGES IN VERSION 1.1.32
-------------------------
o By default, use QR decomposition on the design matrix X.
This stabilizes the GLM fitting. Can be turned off with
the useQR argument of nbinomWaldTest() and nbinomLRT().
o Allow for "frozen" normalization of new samples using
previous estimated parameters for the functions:
estimateSizeFactors(), varianceStabilizingTransformation(),
and rlogTransformation(). See manual pages for details and
examples.
CHANGES IN VERSION 1.1.31
-------------------------
o The adjustment of p-values and use of Cook's distance
for outlier detection is moved to results() function
instead of nbinomWaldTest(), nbinomLRT(), or DESeq().
This allows the user to change parameter settings
without having to refit the model.
CHANGES IN VERSION 1.1.24
-------------------------
o The results() function allows the user to specify a
contrast of coefficients, either using the names of
the factor and levels, or using a numeric contrast
vector. Contrasts are only available for the Wald test
differential analysis.
CHANGES IN VERSION 1.1.23
-------------------------
o The results() function automatically performs independent
filtering using the genefilter package and optimizing
over the mean of normalized counts.
CHANGES IN VERSION 1.1.21
-------------------------
o The regularized log transformation uses the fitted
dispersions instead of the MAP dispersions. This prevents
large, true log fold changes from being moderated due to
a large dispersion estimate blind to the design formula.
This behavior is also more consistent with the variance
stabilizing transformation.
CHANGES IN VERSION 1.0.10
-------------------------
o Outlier detection: Cook's distances are calculated for each
sample per gene and the matrix is stored in the assays list.
These values are used to determine genes in which a single
sample disproportionately influences the fitted coefficients.
These genes are flagged and the p-values set to NA.
The argument 'cooksCutoff' of nbinomWaldTest() and
nbinomLRT() can be used to control this functionality.
CHANGES IN VERSION 1.0.0
------------------------
o Base class: SummarizedExperiment is used as the superclass
for storing the data.
o Workflow: The wrapper function DESeq() performs all steps
for a differential expression analysis. Individual steps are
still accessible.
o Statistics: Incorporation of prior distributions into the
estimation of dispersions and fold changes (empirical-Bayes
shrinkage). A Wald test for significance is provided as the
default inference method, with the likelihood ratio test of
the previous version also available.
o Normalization: it is possible to provide a matrix of sample-
*and* gene-specific normalization factors