-
Notifications
You must be signed in to change notification settings - Fork 20
/
NEWS
783 lines (502 loc) · 27 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
CHANGES IN VERSION 0.44.0
-------------------------
BUG FIXES
o Make sure that internal helper coerceToSimpleList() always propagates
the mcols.
CHANGES IN VERSION 0.42.0
-------------------------
NEW FEATURES
o Add 'make.names' argument to as.data.frame() method for DataFrame.
See https://github.com/Bioconductor/S4Vectors/issues/121
SIGNIFICANT USER-VISIBLE CHANGES
o Document global options 'showHeadLines' and 'showTailLines'.
CHANGES IN VERSION 0.40.0
-------------------------
NEW FEATURES
o Subscript now can be any 1D array-like object when subsetting a
Vector derivative.
SIGNIFICANT USER-VISIBLE CHANGES
o Drop empty "DataFrame and DataFrameList objects" section from
S4VectorsOverview.Rnw vignette.
BUG FIXES
o Fix incorrect C-level if statement in Rle_utils.c
CHANGES IN VERSION 0.38.0
-------------------------
SIGNIFICANT USER-VISIBLE CHANGES
o The RleTricks vignette was converted from Rnw to Rmd (thanks to
Beryl Kanali and Jen Wokaty for this conversion).
BUG FIXES
o Improve support of DFrame objects with S3-typed columns (commit 3b83d5f).
o Fix bug in internal helper bindROWS2() (commit 05cfd3c).
CHANGES IN VERSION 0.36.0
-------------------------
NEW FEATURES
o Implement DataFrameFactor objects. See '?DataFrameFactor'.
o Add droplevels() method for Factor objects.
o Factor objects now use a raw vector instead of an integer vector to store
their internal index when they have 255 levels or less. This greatly
reduces their memory footprint.
SIGNIFICANT USER-VISIBLE CHANGES
o Subsetting a DataFrame object no longer tries to keep its colnames
unique.
CHANGES IN VERSION 0.34.0
-------------------------
NEW FEATURES
o Implement subassignment of TransposedDataFrame objects.
SIGNIFICANT USER-VISIBLE CHANGES
o DataFrame is now a virtual class! This completes the replacement of
DataFrame with DFrame announced in September 2019. See:
https://www.bioconductor.org/help/course-materials/2019/BiocDevelForum/02-DataFrame.pdf
BUG FIXES
o Avoid spurious warnings when DataFrame() is supplied a DataFrameList.
o Fix bug in combineRows(DataFrame(), DataFrame(ref=IRanges(1:2, 10))).
o Fix display of TransposedDataFrame objects with more than 11 rows.
o Fix isEmpty() on ordinary lists and derivatives.
o Fix handling of nested DataFrames in combineUniqueCols().
o Make sure internal helper lowestListElementClass() does not lose
the "package" attribute of the returned class (fixes issue #103).
CHANGES IN VERSION 0.32.0
-------------------------
SIGNIFICANT USER-VISIBLE CHANGES
o Subsetting a DataFrame object by row names no longer uses partial
matching.
CHANGES IN VERSION 0.30.0
-------------------------
NEW FEATURES
o Add combineRows(), combineCols(), and combineUniqueCols() for DataFrame
objects. These are more flexible versions of rbind() and cbind() that
don't require the objects to combine to have the same columns or rows.
o Add unname() generic and a method for Vector objects.
DEPRECATED AND DEFUNCT
o Remove parallelSlotNames(). Was deprecated in BioC 3.11 and defunct in
BioC 3.12.
BUG FIXES
o Fix long-standing bug in rbind() method for DataFrame objects. The bug
was causing rbind() to return an incorrect result when the columns of
the DataFrame objects to combine were a mix of ordinary lists and other
list-like objects like IntegerList objects (defined in the IRanges
package).
o Fix issues in DataFrame printing (commits 735c6b7f and 89b045e7).
o Fix bug in expand() when the DataFrame object to expand has one or none
unselected columns (commit a8f839bb).
CHANGES IN VERSION 0.28.0
-------------------------
SIGNIFICANT USER-VISIBLE CHANGES
o Replaced DataTable class with RectangularData class.
o Replaced DataTable_OR_NULL with DataFrame_OR_NULL class.
o Add parallel_slot_names() generic and methods for Vector derivatives.
This replaces vertical_slot_names(). The concept of "vertical" and
"horizontal" slots is now a RectangularData concept only i.e. only
RectangularData derivatives should define vertical_slot_names() and
horizontal_slot_names() methods. For RectangularData derivatives that
are also Vector derivatives, one of the two methods should typically
be defined as a synonym of parallel_slot_names(). For example
horizontal_slot_names() now returns parallel_slot_names() on a
DataFrame derivative and vertical_slot_names() will return
parallel_slot_names() on a SummarizedExperiment derivative.
o makeClassinfoRowForCompactPrinting() is now exported.
o showAsCell() now trims strings that are > 22 characters.
o Small tweak to show() method for Rle objects. Now it uses showAsCell()
instead of as.character() for more compact display of the run values
of the Rle object, and for consistency with other show() methods (e.g.
with method for DataFrame objects).
DEPRECATED AND DEFUNCT
o parallelSlotNames() is now defunct (after being deprecated in BioC 3.11).
BUG FIXES
o Fix coercion from SimpleList to DataFrame.
o Fix bug in showAsCell() on ordinary data frames.
o Make sure showAsCell() works on a list of non-subsettable objects.
CHANGES IN VERSION 0.26.0
-------------------------
NEW FEATURES
o Add TransposedDataFrame objects.
o Add make_zero_col_DFrame() for constructing a zero-column DFrame object.
Intended for developers to use in other packages and typically not needed
by the end user.
o Add internal generic makeNakedCharacterMatrixForDisplay() to facilitate
implementation of show() methods. Also add cbind_mcols_for_display()
helper for use within makeNakedCharacterMatrixForDisplay() methods.
SIGNIFICANT USER-VISIBLE CHANGES
o Rename parallelSlotNames() internal generic -> vertical_slot_names().
Also add new horizontal_slot_names() internal generic (no methods yet).
BUG FIXES
o Fix bug causing segfault in C function 'select_hits()' when 'nodup'
is TRUE.
CHANGES IN VERSION 0.24.0
-------------------------
NEW FEATURES
o Add Factor class. Serves a similar role as factor in base R except that
the levels of a Factor object can be any Vector derivative.
o New methods for DataFrame comparisons (by Aaron Lun)
o Add sameAsPreviousROW() generic and methods for ANY, atomic, integer,
numeric, complex, Rle, DataFrame, and Pairs (by Aaron Lun)
o Support more comparison methods for Pairs objects
o Add methods for coercing back and forth between HitsList and
SortedByQueryHitsList.
o Add anyDuplicated() method for Vector derivatives.
o Support 'by=' argument on sort,List
o Add is.finite() method for Rle objects
o Add add "&" method for FilterRules objects as a convenience for
concatenation
SIGNIFICANT USER-VISIBLE CHANGES
o Add DFrame class (commit 36837bdf). DataFrame() now returns a DFrame
instance (commit 83b09b19).
o Now 'stringsAsFactors' is set to FALSE when coercing something to
a DataFrame.
o Move splitAsList() from the IRanges package
o Move S4 class "atomic" from the IRanges package
o Improve handling of user-supplied metadata columns
DEPRECATED AND DEFUNCT
o Remove phead(), ptail(), and strsplitAsListOfIntegerVectors(). These
functions were deprecated in BioC 3.7 and defunct in BioC 3.8.
BUG FIXES
o Fix split() on a SortedByQueryHits object (issue #39)
o Fix the following coercions:
- Hits -> SelfHits
- SortedByQueryHits -> SortedByQuerySelfHits
- SelfHits -> SortedByQuerySelfHits
- Hits -> SortedByQuerySelfHits
Before this fix all these coercions **seemed** to work but they
were in fact silently producing invalid objects.
o A fix to anyDuplicated() method for Rle objects (commit 63495d6)
o A fix related to replacing DataFrame columns with matrix columns
(commit 00169dd6)
o All show() methods now return an invisible NULL (commit f4b4ee76)
CHANGES IN VERSION 0.22.0
-------------------------
NEW FEATURES
o Add recursive argument to expand() methods
o Support DataFrame (or any tabular object) in Pairs
o List derivatives now support x[i] <- NULL
o Some Vector derivatives now support appending with [<-
BUG FIXES
o [<-,DataFrame only makes rownames for new rows when rownames present
o DataFrame() lazily deparses arguments
CHANGES IN VERSION 0.20.0
-------------------------
NEW FEATURES
o rbind() now supports DataFrame objects with the same column names
but in different order, even when some of the column names are
duplicated. How rbind() re-aligns the columns of the various objects
to bind with those of the first object is consistent with what
base:::rbind.data.frame() does.
o Add isSequence() low-level helper.
o Add 'nodup' argument to selectHits().
SIGNIFICANT USER-VISIBLE CHANGES
o The rownames of a DataFrame are no more required to be unique.
o Change 'use.names' default from FALSE to TRUE in mcols() getter.
o Coercion to DataFrame now **always** propagates the names.
o Rename low-level generic concatenateObjects() -> bindROWS().
o replaceROWS() now dispatches on 'x' and 'i' instead of 'x' only.
o Speedup row subsetting of DataFrame with many columns.
DEPRECATED AND DEFUNCT
o phead(), ptail(), and strsplitAsListOfIntegerVectors() are now defunct
(after being deprecated in BioC 3.7).
BUG FIXES
o Fix window() on a DataFrame with data.frame columns.
o 2 fixes to "rbind" method for DataFrame objects:
- It now properly handles DataFrame objects with duplicated colnames.
Note that the new behavior is consistent with base::rbind.data.frame().
- It now properly handles DataFrame objects with columns that are 1D
arrays.
o Fix showAsCell() on nested data-frame-like objects.
o 2 fixes to "as.data.frame" method for DataFrame objects:
- It now works if the DataFrame object contains nested data-frame-like
objects or other complicated S4 objects (as long as these complicated
objects in turn support as.data.frame()).
- It now handles 'stringsAsFactors' argument properly. Originally
reported here: https://github.com/Bioconductor/GenomicRanges/issues/18
CHANGES IN VERSION 0.18.0
-------------------------
NEW FEATURES
o The package gets a new vignette: S4VectorsOverview.Rnw
The material in this new vignette comes from the IRangesOverview.Rnw
vignette located in the IRanges package. All the S4Vectors-specific
material was moved from the IRangesOverview.Rnw vignette to the new
S4VectorsOverview.Rnw vignette.
o All Vector derivatives now support 'x[i, j]' by default. This allows
the user to conveniently subset the metadata columns thru 'j'.
Note that GenomicRanges objects have been supporting this feature for
years but now all Vector derivatives support it. Developers of Vector
derivatives with a true 2-D semantic (e.g. SummarizedExperiment) need
to overwrite this.
o rank() now suports 'by' on Vector derivatives.
o Add concatenateObjects() generic and methods for LLint, vector, Vector,
Hits, and Rle objects. This is a low-level generic intended to
facilitate implementation of c() on vector-like objects.
The "concatenateObjects" method for Vector objects concatenates the
objects by concatenating all their parallel slots. The method behaves
like an endomorphism with respect to its first argument 'x'. Note that
this method will work out-of-the-box and do the right thing on most
Vector subclasses as long as parallelSlotNames() reports the names of
all the parallel slots on objects of the subclass (some Vector subclasses
might require a "parallelSlotNames" method for this to happen). For those
Vector subclasses on which concatenateObjects() does not work
out-of-the-box or does not do the right thing, it is strongly advised
to override the method for Vector objects rather than trying to override
the (new) "c" method for Vector objects with a specialized method. The
specialized "concatenateObjects" method will typically delegate to the
method below via the use of callNextMethod(). See "concatenateObjects"
methods for Hits and Rle objects for some examples. No Vector subclass
should need to override the "c" method for Vector objects.
o Major refactoring of [[<- for List objects. It's now based on a new
"setListElement" method for List objects that relies on `[<-` for
replacement, c() for appending, and `[` for removal, which are the 3
operations that setListElement() can perform (depending on how it's
called). As a consequence [[<- now works out-of-the box on any List
derivative for which `[<-`, c(), and `[` work.
SIGNIFICANT USER-VISIBLE CHANGES
o endoapply() and mendoapply() are now regular functions instead of
generic functions.
o A couple of minor improvements to how default "showAsCell" method
handles list-like and non-list like objects.
o Replace strsplitAsListOfIntegerVectors() with toListOfIntegerVectors().
(The former is still available but deprecated in favor of the latter.)
The input of toListOfIntegerVectors() now can be a list of raw vectors
(in addition to be a character vector), in which case it's treated like
if it was 'sapply(x, rawToChar)'.
o A couple of optimizations to "[<-" method for DataFrame objects
(see commit e63f4cfd637e3471e4b04015c2938348df17e14a).
DEPRECATED AND DEFUNCT
o phead() and ptail() are deprecated in favor of IRanges::heads() and
IRanges::tails().
o strsplitAsListOfIntegerVectors() is deprecated in favor of
toListOfIntegerVectors().
BUG FIXES
o The mcols() setter no more tries to downgrade to DataFrame a supplied
right value that extends DataFrame (e.g. DelayedDataFrame).
o 'DataFrame(I(x))' and 'as(I(x), "DataFrame")' now drop the I() wrapping
before storing 'x' in the returned object. This wrapping was ugly, not
needed, and breaking S4 objects.
o Fix a couple of long-standing bugs in DataFrame subassignment:
- Bug in the "[<-" method for DataFrame objects where replacing the
1st variable with a rectangular object (e.g. x[1] <-
DataFrame(aa=I(matrix(1:6, ncol=2)))) was returning a DataFrame
with the "nrows" slot set incorrectly.
- A couple of bugs in the "replaceROWS" method for DataFrame objects
when used in "rbind mode" i.e. when max(i) > nrow(x).
o Fix bug in "cbind" method for DataFrame where it was appending X to
the column names in some situations (see
https://github.com/Bioconductor/S4Vectors/issues/8).
o Fix order() on SortedByQueryHits objects (see
https://github.com/Bioconductor/S4Vectors/issues/6).
o Fix bug in internal new_Hits() constructor where it was not returning an
object of the class specified via 'Class' in some situations.
o "lapply" for SimpleList objects now calls match.fun(FUN) internally to
find the function to apply.
CHANGES IN VERSION 0.16.0
-------------------------
NEW FEATURES
o Introduce FilterResults as generic parent of FilterMatrix.
o Optimized subsetting of an Rle object by an integer vector. Speed up
is about 3x or more for big objects with respect to BioC 3.5.
SIGNIFICANT USER-VISIBLE CHANGES
o coerce,list,DataFrame generates "valid" names when list has none.
This ends up introducing an inconsistency between DataFrame and
data.frame but it is arguably a good one. We shouldn't rely on
DataFrame() to generate variable names from scratch anyway.
BUG FIXES
o Fix showAsCell() on data-frame-like and array-like objects with a single
column, and on SplitDataFrameList objects.
o Calling DataFrame() with explict 'row.names=NULL' should block rownames
inference.
o cbind.DataFrame() ensures every argument is a DataFrame, not just first.
o rbind_mcols() now is robust to missing 'x'.
o Fix extractROWS() for arrays when subscript is a RangeNSBS.
o Temporary workaround to make the "union" method for Hits objects work
even in the presence of another "union" generic in the cache (which is
the case e.g. if the user loads the lubridate package).
o A couple of (long-time due) tweaks and fixes to "unlist" method for
List objects so that it behaves consistently with "unlist" method for
CompressedList objects.
o Modify Mini radix C code to accommodate a bug in Apple LLVM version 6.1.0
optimizer.
[commit 241150d2b043e8fcf6721005422891baff018586]
o Fix match,Pairs,Pairs()
[commit a08c12bf4c31b7304d25122c411d882ec52b360c]
o Various other minor fixes.
CHANGES IN VERSION 0.14.0
-------------------------
NEW FEATURES
o Add LLint vectors: similar to ordinary integer vectors (int values at
the C level) but store "large integers" i.e. long long int values at the
C level. These are 64-bit on Intel platforms vs 32-bit for int values.
See ?LLint for more information. This is in preparation for supporting
long Vector derivatives (planned for BioC 3.6).
o Default "rank" method for Vector objects now supports the same ties
method as base::rank() (was only supporting ties methods "first" and
"min" until now).
o Support x[[i,j]] on DataFrame objects.
o Add "transform" methods for DataTable and Vector objects.
SIGNIFICANT USER-VISIBLE CHANGES
o Rename union classes characterORNULL, vectorORfactor, DataTableORNULL,
and expressionORfunction -> character_OR_NULL, vector_OR_factor,
DataTable_OR_NULL, and expression_OR_function, respectively.
o Remove default "xtfrm" method for Vector objects. Not needed and
introduced infinite recursion when calling order(), sort() or rank() on
Vector objects that don't have specific order/sort/rank methods.
DEPRECATED AND DEFUNCT
o Remove compare() (was defunct in BioC 3.4).
o Remove elementLengths() (was defunct in BioC 3.4).
BUG FIXES
o Make showAsCell() robust to nested lists.
o Fix bug where subsetting a List object 'x' by a list-like subscript was
not always propagating 'mcols(x)'.
CHANGES IN VERSION 0.12.0
-------------------------
NEW FEATURES
o Add n-ary "merge" method for Vector objects.
o "extractROWS" methods for atomic vectors and DataFrame objects now
support NAs in the subscript. As a consequence a DataFrame can now
be subsetted by row with a subscript that contains NAs. However that
will only succeed if all the columns in the DataFrame can also be
subsetted with a subscript that contains NAs (e.g. it would fail at
the moment if some columns are Rle's but we have plans to make this
work in the future).
o Add "union", "intersect", "setdiff", and "setequal" methods for Vector
objects.
o Add coercion from data.table to DataFrame.
o Add t() S3 methods for Hits and HitsList.
o Add "c" method for Pairs objects.
o Add rbind/cbind methods for List, returning a list matrix.
o aggregate() now supports named aggregator expressions when 'FUN' is
missing.
SIGNIFICANT USER-VISIBLE CHANGES
o "c" method for Rle objects handles factor data more gracefully.
o "eval" method for FilterRules objects now excludes NA results, like
subset(), instead of failing on NAs.
o Drop "as.env" method for List objects so that as.env() behaves more like
as.data.frame() on these objects.
o Speed up "replaceROWS" method for Vector objects when 'x' has names.
o Optimize selfmatch for factors.
DOCUMENTATION IMPROVEMENTS
o Add S4QuickOverview vignette.
DEPRECATED AND DEFUNCT
o elementLengths() and compare() are now defunct (were deprecated in
BioC 3.3).
o Remove "ifelse" methods for Rle objects (were defunct in BioC 3.3),
BUG FIXES
o Fix bug in showAsCell(x) when 'x' is an AsIs object.
o DataFrame() avoids NULL names when there are no columns.
o DataFrame with NULL colnames are now considered invalid.
CHANGES IN VERSION 0.10.0
-------------------------
NEW FEATURES
o Add SelfHits class, a subclass of Hits for representing objects where the
left and right nodes are identical.
o Add utilities isSelfHit() and isRedundantHit() to operate on SelfHits
objects.
o Add new Pairs class that couples two parallel vectors.
o head() and tail() now work on a DataTable object and behave like on an
ordinary matrix.
o Add as.matrix.Vector().
o Add "append" methods for Rle/vector (they promote to Rle).
SIGNIFICANT USER-VISIBLE CHANGES
o Many changes to the Hits class:
- Replace the old Hits class (where the hits had to be sorted by query)
with the SortedByQueryHits class.
- A new Hits class where the hits can be in any order is re-introduced as
the parent of the SortedByQueryHits class.
- The Hits() constructor gets the new 'sort.by.query' argument that is
FALSE by default. When 'sort.by.query' is set to TRUE, the constructor
returns a SortedByQueryHits instance instead of a Hits instance.
- Bidirectional coercion is supported between Hits and SortedByQueryHits.
When going from Hits to SortedByQueryHits, the hits are sorted by query.
- Add "c" method for Hits objects.
- Rename Hits slots:
queryHits -> from
subjectHits -> to
queryLength -> nLnode (nb of left nodes)
subjectLength -> nRnode (nb of right nodes)
- Add updateObject() method to update serialized Hits objects from old
(queryHits/subjectHits) to new (from/to) internal representation.
- The "show" method for Hits objects now labels columns with from/to by
default and switches to queryHits/subjectHits labels only when the
object is a SortedByQueryHits object.
- New accessors are provided that match the new slot names: from(), to(),
nLnode(), nRnode(). The old accessors (queryHits(), subjectHits(),
queryLength(), and subjectLength()) are just aliases for the new
accessors. Also countQueryHits() and countSubjectHits() are now aliases
for new countLnodeHits() and countRnodeHits().
o Transposition of Hits objects now propagates the metadata columns.
o Rename elementLengths() -> elementNROWS() (the old name was clearly a
misnomer). For backward compatibility the old name still works but is
deprecated (now it's just an "alias" for elementNROWS()).
o Rename compare() -> pcompare(). For backward compatibility the old name
still works but is just an "alias" for pcompare() and is deprecated.
o Some refactoring of the Rle() generic and methods:
- Remove ellipsis from the argument list of the generic.
- Dispatch on 'values' only.
- The 'values' and 'lengths' arguments now have explicit default values
logical(0) and integer(0) respectively.
- Methods have no more 'check' argument but new low-level (non-exported)
constructor new_Rle() does and is what should now be used by code that
needs this feature.
o Optimize subsetting of an Rle object by an Rle subscript: the subscript
is no longer decoded (i.e. expanded into an ordinary vector). This
reduces memory usage and makes the subsetting much faster e.g. it can be
100x times faster or more if the subscript has many (e.g. thousands) of
long runs.
o Modify "replaceROWS" methods so that the replaced elements in 'x' get
their metadata columns from 'value'. See this thread on bioc-devel:
https://stat.ethz.ch/pipermail/bioc-devel/2015-November/008319.html
o Remove ellipsis from the argument list of the "head" and "tail" methods
for Vector objects.
o pc() (parallel combine) now returns a List object only if one of the
supplied objects is a List object, otherwise it returns an ordinary list.
o The "as.data.frame" method for Vector objects now forwards the
'row.names' argument.
o Export the "parallelSlotNames" methods.
DEPRECATED AND DEFUNCT
o Deprecate elementLengths() in favor of elementNROWS(). New name reflects
TRUE semantic.
o Deprecate compare() in favor of pcompare().
o After being deprecated in BioC 3.2, the "ifelse" methods for Rle objects
are now defunct.
o Remove "aggregate" method for vector objects which was an undocumented
bad idea from the start.
BUG FIXES
o Fix 2 long-standing bugs in "as.data.frame" method for List objects:
- must always return an ordinary data.frame (was returning a DataFrame
when 'use.outer.mcols' was TRUE),
- when 'x' has names and 'group_name.as.factor' is TRUE, the levels of
the returned group_name col must be identical to 'unique(names(x))'
(names of empty list elements in 'x' was not showing up in
'levels(group_name)').
o Fix and improve the elementMetadata/mcols setter method for Vector
objects so that the specific methods for GenomicRanges, GAlignments,
and GAlignmentPairs objects are not needed anymore and were removed.
Note that this change also fixes setting the elementMetadata/mcols of a
SummarizedExperiment object with NULL or an ordinary data frame, which
was broken until now.
o Fix bug in match,ANY,Rle method when supplied 'nomatch' is not NA.
o Fix findMatches() for Rle table.
o Fix show,DataTable-method to display all rows if <= nhead + ntail + 1
CHANGES IN VERSION 0.4.0
------------------------
NEW FEATURES
o Add isSorted() and isStrictlySorted() generics, plus some methods.
o Add low-level wmsg() helper for formatting error/warning messages.
o Add pc() function for parallel c() of list-like objects.
o Add coerce,Vector,DataFrame; just adds any mcols as columns on top of the
coerce,ANY,DataFrame behavior.
o [[ on a List object now accepts a numeric- or character-Rle of length 1.
o Add "droplevels" methods for Rle, List, and DataFrame objects.
o Add table,DataTable and transform,DataTable methods.
o Add prototype of a better all.equals() for S4 objects.
SIGNIFICANT USER-VISIBLE CHANGES
o Move Annotated, DataTable, Vector, Hits, Rle, List, SimpleList, and
DataFrame classes from the IRanges package.
o Move isConstant(), classNameForDisplay(), and low-level argument
checking helpers isSingleNumber(), isSingleString(), etc... from the
IRanges package.
o Add as.data.frame,List method and remove other inconsistent and not
needed anymore "as.data.frame" methods for List subclasses.
o Remove useless and thus probably never used aggregate,DataTable method
that followed the time-series API.
o coerce,ANY,List method now propagates the names.
BUG FIXES
o Fix bug in coercion from list to SimpleList when the list contains
matrices and arrays.
o Fix subset() on a zero column DataFrame.
o Fix rendering of Date/time classes as DataFrame columns.