-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathNEWS
1320 lines (858 loc) · 45.9 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
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
CHANGES IN VERSION 1.58.0
-------------------------
SIGNIFICANT USER-VISIBLE CHANGES
o Use hg38 instead of hg19 in vignettes and examples. See commit 57af07f
for the details.
BUG FIXES
o The as.data.frame() methods for GenomicRanges and GPos objects
now obey the 'optional' argument.
See https://github.com/Bioconductor/GenomicRanges/issues/86
CHANGES IN VERSION 1.56.0
-------------------------
NEW FEATURES
o Add terminators() method, same as promoters() but for terminator regions.
BUG FIXES
o Small fix in makeGRangesFromDataFrame(). Fix error when: (1) input has
zero rows, and (2) has no strand field or 'ignore.strand' is TRUE.
By Marcel Ramos.
See https://github.com/Bioconductor/GenomicRanges/issues/81
CHANGES IN VERSION 1.54.0
-------------------------
NEW FEATURES
o Add 'ignore.strand' arg to gaps() method for GenomicRanges objects.
BUG FIXES
o Small tweaks to GRanges() constructor and to coercion from GPos
to GRanges.
CHANGES IN VERSION 1.52.0
-------------------------
SIGNIFICANT USER-VISIBLE CHANGES
o Improve documentation of findOverlaps() argument 'minoverlap':
The man page now explains how findOverlaps() argument 'minoverlap'
is interpreted when 'query' or 'subject' is a GRangesList object.
CHANGES IN VERSION 1.50.0
-------------------------
- No changes in this version.
CHANGES IN VERSION 1.48.0
-------------------------
NEW FEATURES
o Add subtract() for subtracting a set of genomic ranges from a GRanges
object. This is similar to bedtools subtract.
o Add 'na.rm' argument to makeGRangesFromDataFrame().
DEPRECATED AND DEFUNCT
o Remove the GenomicRangesList() constructor. This constructor got
deprecated in BioC 3.10 and defunct in BioC 3.13.
BUG FIXES
o Make sure promoters() works on GPos objects.
CHANGES IN VERSION 1.46.0
-------------------------
- No changes in this version.
CHANGES IN VERSION 1.44.0
-------------------------
SIGNIFICANT USER-VISIBLE CHANGES
o Replace KEGG.db usage with KEGGREST in vignettes and examples.
DEPRECATED AND DEFUNCT
o The GenomicRangesList() constructor is now defunct (got deprecated in
BioC 3.10).
CHANGES IN VERSION 1.42.0
-------------------------
NEW FEATURES
o Add nearestKNeighbors() method for GenomicRanges derivatives.
o coverage() now supports 'method="naive"'. This is in addition to the
already supported methods "sort" and "hash". This new method is a slower
version of the "hash" method that has the advantage of avoiding floating
point artefacts in the no-coverage regions of the numeric-Rle object
returned by coverage() when the weights are supplied as a numeric vector
of type 'double'. See "FLOATING POINT ARITHMETIC CAN BRING A SURPRISE"
example in '?coverage' in the IRanges package.
CHANGES IN VERSION 1.40.0
-------------------------
NEW FEATURES
o Add trim() method for GRangesList objects.
CHANGES IN VERSION 1.38.0
-------------------------
NEW FEATURES
o GPos objects now exist in 2 flavors: UnstitchedGPos and StitchedGPos
GPos is now a virtual class with 2 concrete subclasses: UnstitchedGPos
and StitchedGPos. In an UnstitchedGPos instance the positions are stored
as an integer vector. In a StitchedGPos instance, like with old GPos
instances, the positions are stored as an IRanges object where each range
represents a run of consecutive positions. This is analog to the
IPos/UnstitchedIPos/StitchedIPos situation. See ?GPos for more
information.
Old serialized GPos instances can be converted to StitchedGPos
instances with updateObject().
o GPos objects now can hold names
o Coercion to GPos now propagates the names
o Add GRangesFactor class (Factor derivative). See ?GRangesFactor
SIGNIFICANT USER-VISIBLE CHANGES
o Export from_GPos_to_GRanges()
o Some reorgnization of the GenomicRangesList hierarchy (see commit
f988a5a9).
o Swap order of arguments 'seqlengths' and 'seqinfo' of the GRanges()
constructor so now the latter comes before the former.
DEPRECATED AND DEFUNCT
o Remove findOverlaps, seqnames, and seqinfo<- methods for RangedData
objects. These methods were deprecated in BioC 3.8 and defunct in
BioC 3.9.
BUG FIXES
o Coercion from RangesList to GRanges is more robust to seqlevel
differences
o Fix bug in isSmallGenome() (introduced by change in sum() in R >= 3.5)
CHANGES IN VERSION 1.36.0
-------------------------
NEW FEATURES
o findOverlaps() now supports type="equal" on GRangesList objects
DEPRECATED AND DEFUNCT
o After being deprecated in BioC 3.8, the seqinfo() setter, seqnames(),
and findOverlaps() are now defunct on RangedData objects.
CHANGES IN VERSION 1.34.0
-------------------------
NEW FEATURES
o Add coercions from GenomicRanges to IRangesList and from GenomicRanges
to CompressedIRangesList. These 2 new coercions are equivalent to
coercion from GenomicRanges to IntegerRangesList, that is, if 'gr' is
a GenomicRanges object, the 3 following coercions are equivalent and
return the same CompressedIRangesList object:
as(gr, "IntegerRangesList")
as(gr, "IRangesList")
as(gr, "CompressedIRangesList")
DEPRECATED AND DEFUNCT
o Deprecate several RangedData methods: seqinfo, seqinfo<-, seqnames, and
findOverlaps#RangedData#GenomicRanges
RangedData objects will be deprecated in BioC 3.9 (their use has been
discouraged since BioC 2.12, that is, since 2014). Package developers
that are still using RangedData objects need to migrate their code to
use GRanges or GRangesList objects instead.
BUG FIXES
o Make [[, as.list(), lapply(), and unlist() fail more graciously on
a GenomicRanges object.
o Make "show" methods for GenomicRanges and GPos objects robust to
special metadata column names like "stringsAsFactors".
o Export the "update" method for GRanges objects. This addresses
https://github.com/Bioconductor/GenomicRanges/issues/7
CHANGES IN VERSION 1.32.0
-------------------------
NEW FEATURES
o 2 improvements to the "promoters" method for GenomicRanges objects:
- The 'upstream' and 'downstream' arguments now can be integer vectors
parallel to 'x',
- The 'use.names' argument now is supported.
This is for consistency with the other intra range transformations.
SIGNIFICANT USER-VISIBLE CHANGES
o GenomicRanges now is a List subclass. This means that GRanges objects
and their derivatives are now considered list-like objects (even though
[[ don't work on them yet, this will be implemented in Bioconductor 3.8).
o Add the CompressedGRangesList class as a replacement for the GRangesList
class. The long term goal is that GRangesList becomes a virtual class
with CompressedGRangesList as a concrete subclass. Note that the
GRangesList() constructor now returns a CompressedGRangesList instance
instead of a GRangesList instance.
o GenomicRangesList is now a virtual class (like IntegerRangesList is).
o GRanges derivatives no longer support the 'x[i, j] <- value' form of
subassignment. This feature was of very limited usefulness and no
Bioconductor package was using it.
o Improve performance of nearest(), precede(), and follow() on a GRanges
object.
o Improve performance of coverage() on a GPos object.
o Improve performance of sort() on a GRangesList object. Also now it
supports 'ignore.strand'. See
https://github.com/Bioconductor/GenomicRanges/issues/1 (and note
how unnicely these changes were requested).
o Improve performance and error handling of coercion from RleList to
GRanges. This is a 50x speedup or more when the RleList object to coerce
has thousands of list elements or more.
BUG FIXES
o Fix coercion from RleList to GRanges when some list elements in the object
to coerce have length 0 (see https://support.bioconductor.org/p/105926/
for original report by Xiaotong Yao).
o Fix bug in nearest() when an unstranded range in 'query' precedes or
follows more than one range in 'subject'.
CHANGES IN VERSION 1.30.0
-------------------------
NEW FEATURES
o Support GPos-based GRangesList objects.
o Add 'na.rm' argument to binnedAverage().
SIGNIFICANT USER-VISIBLE CHANGES
o Change 'maxgap' and 'minoverlap' defaults for findOverlaps() and family
(i.e. countOverlaps(), overlapsAny(), and subsetByOverlaps()). This
change addresses 2 long-standing issues:
(1) by default zero-width ranges are not excluded anymore, and
(2) control of zero-width ranges and adjacent ranges is finally
decoupled (only partially though).
New default for 'minoverlap' is 0 instead of 1. New default for 'maxgap'
is -1 instead of 0. See ?findOverlaps for more information about 'maxgap'
and the meaning of -1. For example, if 'type' is "any", you need to set
'maxgap' to 0 if you want adjacent ranges to be considered as overlapping.
o GPos now extends GRanges but with a ranges slot that must be an IPos
object. Update "old" GPos objects with updateObject().
o Move pos() generic to IRanges package.
o Move rglist() generic to IRanges package.
o Rename GenomicRangesORmissing and GenomicRangesORGRangesList classes ->
GenomicRanges_OR_missing and GenomicRanges_OR_GRangesList, respectively.
o Remove "seqinfo" method for RangesList objects.
o Remove "stack" method for GenomicRangesList objects.
DEPRECATED AND DEFUNCT
o Remove 'force' argument from seqinfo() and seqlevels() setters (the
argument got deprecated in BioC 3.5 in favor of new and more flexible
'pruning.mode' argument).
BUG FIXES
o nearest() and distanceToNearest() now call findOverlaps() internally
with maxgap=0 and minoverlap=0. This fixes incorrect results obtained
in some situations e.g. in the situation reported here:
https://support.bioconductor.org/p/99369/ (zero-width ranges)
but also in this situation:
nearest(GRanges("chr1", IRanges(5, 10)),
GRanges("chr1", IRanges(1, 4:5)),
select="all")
where the 2 ranges in the subject are *both* nearest to the 5-10 range.
o '$' completion on GenomicRanges works in RStudio.
o Minor tweaks to conversion from character to GRanges and reverse
conversion.
CHANGES IN VERSION 1.28.0
-------------------------
NEW FEATURES
o Add coercion from ordinary list to GRangesList. Also the GRangesList()
constructor function now accepts a list of GRanges as input (and just
calls new coercion from list to GRangesList on it internally).
o seqlevels() setter now supports "fine" and "tidy" pruning modes on
GRangesList objects (in addition to "coarse" mode, which is the default).
o "range" methods now have a 'with.revmap' argument (like "reduce" and
"disjoin" methods).
o Add a bunch of range-oriented methods for GenomicRangesList objects.
SIGNIFICANT USER-VISIBLE CHANGES
o Some changes/improvements to "precede" and "follow" methods for
GenomicRanges objects motivated by discussion on support site:
https://support.bioconductor.org/p/90664/
o Some changes/improvements to "rank" method for GenomicRanges objects:
- now supports the same ties methods as base::rank() (was only supporting
ties methods "first" and "min" until now)
- default ties method now is "average", like base::rank()
- now supports additional argument 'ignore.strand'.
DEPRECATED AND DEFUNCT
o Argument 'force' of seqinfo() and seqlevels() setters is deprecated in
favor of new and more flexible 'pruning.mode' argument.
BUG FIXES
o Fix severe performance regression introduced in Bioconductor 3.3 in
"intersect" and "setdiff" methods for GRangesList objects. Thanks to
Jens Reeder <reeder.jens@gene.com> for catching and reporting this.
CHANGES IN VERSION 1.26.0
-------------------------
NEW FEATURES
o Add 'with.revmap' argument to "reduce" method for GRangesList objects.
o Add 'with.revmap' argument to various "disjoin" methods.
o makeGRangesFromDataFrame() now tries to turn the "start" and "end"
columns of the input data frame into numeric vectors if they are not
already.
o Add makeGRangesListFromDataFrame() function.
o Add "summary" method for GenomicRanges objects.
o Add 'use.names' argument to the granges(), grglist(), and rglist()
generics and methods, as well as to a bunch of "ranges" methods (for
GRanges, GPos, GNCList, GRangesList, and DelegatingGenomicRanges).
Default is TRUE to preserve existing behavior.
o Add 'use.mcols' arguments to the "ranges" methods for GPos objects.
SIGNIFICANT USER-VISIBLE CHANGES
DEPRECATED AND DEFUNCT
BUG FIXES
o Fix bug in distanceToNearest() related to ranges starting at zero.
o Fix GRanges(Seqinfo()).
CHANGES IN VERSION 1.24.0
-------------------------
NEW FEATURES
o Add the GPos class, a container for storing a set of "genomic positions"
(i.e. genomic ranges of width 1). Even though a GRanges object can be
used for that, using a GPos object can be much more memory-efficient,
especially when the object contains long runs of adjacent positions.
o Add a bunch of "invertStrand" methods to support strand inversion of any
"stranded" object (i.e. any object with a strand() getter and setter).
E.g. invertStrand() works on GRanges, GRangesList, GAlignments,
GAlignmentPairs, GAlignmentsList, and RangedSummarizedExperiment objects.
o Add "is.unsorted" method for GenomicRanges objects (contributed by Pete
Hickey).
o base::rank() gained a new 'ties.method="last"' option and base::order()
a new argument ('method') in R 3.3. Thus so do the "rank" and "order"
methods for GenomicRanges objects.
o Add "selfmatch" method for GenomicRanges objects.
o Add "union" method for GRangesList objects.
SIGNIFICANT USER-VISIBLE CHANGES
o Remove old SummarizedExperiment class from the GenomicRanges package
(this class is now defined in the SummarizedExperiment package).
o Move the following generic functions from the GenomicRanges package to
the SummarizedExperiment package:
- SummarizedExperiment
- exptData, "exptData<-"
- rowRanges, "rowRanges<-"
- colData, "colData<-"
- assayNames, "assayNames<-"
- assays, "assays<-"
- assay, "assay<-"
o Rename "pintersect" and "psetdiff" methods for GRangesList objects ->
"intersect" and "setdiff" without changing their behavior (they still
do mendoapply(intersect, x, y) and mendoapply(setdiff, x, y),
respectively). The old names were misnomers (see svn commit message for
commit 113793 for more information).
o Remove the ellipsis (...) from all the setops methods, except from:
- "punion" method for signature GRanges#GRangesList;
- "pintersect" and "psetdiff" methods for signature
GRangesList#GRangesList;
- "pgap" method for GRanges objects.
o Use DESeq2 instead of DESeq in the vignettes (better late than never).
DEPRECATED AND DEFUNCT
o Remove GIntervalTree class and methods (were defunct in BioC 3.2).
o Remove mapCoords() and pmapCoords() (were defunct in BioC 3.2).
CHANGES IN VERSION 1.22.0
-------------------------
NEW FEATURES
o Support coercions back and forth between a GRanges object and a character
vector (or factor) with elements in the format 'chr1:2501-2800' or
'chr1:2501-2800:+'.
o Add facilities for manipulating "genomic variables": bindAsGRanges(),
mcolAsRleList(), and binnedAverage(). See ?genomicvars for more
information.
o Add "narrow" method for GRangesList objects.
o Enhancement to the GRanges() constructor. If the 'ranges' argument is not
supplied then the constructor proceeds in 2 steps:
1. An initial GRanges object is created with 'as(seqnames, "GRanges")'.
2. Then this GRanges object is updated according to whatever other
arguments were supplied to the call to GRanges().
Because of this enhancement, GRanges(x) is now equivalent to
'as(x, "GRanges")' e.g. GRanges() can be called directly on a character
vector representing ranges, or on a data.frame, or on any object for
which coercion to GRanges is supported.
o Add 'ignore.strand' argument to "range" and "reduce" methods for
GRangesList objects.
o Add coercion from SummarizedExperiment to RangedSummarizedExperiment
(also available via updateObject()). See 1st item in DEPRECATED AND
DEFUNCT section below for more information about this.
o GNCList objects are now subsettable.
o "coverage" methods now accept 'shift' and 'weight' supplied as an Rle.
SIGNIFICANT USER-VISIBLE CHANGES
o Modify behavior of "*" strand in precede() / follow() to mimic
'ignore.strand=TRUE'.
o Revisit "pintersect" methods for GRanges#GRanges, GRangesList#GRanges,
and GRanges#GRangesList:
- Sanitize their semantic.
- Add 'drop.nohit.ranges' argument (FALSE by default).
- If 'drop.nohit.ranges' is FALSE, the returned object now has a "hit"
metadata column added to it to indicate the elements in 'x' that
intersect with the corresponding element in 'y'.
o binnedAverage() now treats 'numvar' as if it was set to zero on genomic
positions where it's not set (typically happens when 'numvar' doesn't
span the entire chromosomes because it's missing the trailing zeros).
o GRanges() constructor no more mangles the names of the supplied metadata
columns (e.g. if the column is "_tx_id").
o makeGRangesFromDataFrame() now accepts "." in strand column (treated as
"*").
o GNCList() constructor now propagates the metadata columns.
o Remove "seqnames" method for RangesList objects.
DEPRECATED AND DEFUNCT
o The SummarizedExperiment class defined in GenomicRanges is deprecated
and replaced by 2 new classes defined in the new SummarizedExperiment
package: SummarizedExperiment0 and RangedSummarizedExperiment.
In BioC 2.3, the SummarizedExperiment class will be removed from the
GenomicRanges package and the SummarizedExperiment0 class will be renamed
SummarizedExperiment. To facilitate this transition, a coercion method
was added to coerce from old SummarizedExperiment to new
RangedSummarizedExperiment (this coercion is performed when calling
updateObject() on an old SummarizedExperiment object).
o makeSummarizedExperimentFromExpressionSet() and related stuff was moved
to the new SummarizedExperiment package.
o After being deprecated in BioC 3.1, the rowData accessor is now defunct
(replaced with the rowRanges accessor).
o After being deprecated in BioC 3.1, GIntervalTree objects and the
"intervaltree" algorithm in findOverlaps() are now defunct.
o After being deprecated in BioC 3.1, mapCoords() and pmapCoords() are
now defunct.
BUG FIXES
o 2 tweaks to subsetting *by* an GenomicRanges:
- Improve speed when the object to subset is a SimpleList (e.g.
SimpleRleList).
- Fix issue when the GenomicRanges subscript is empty.
CHANGES IN VERSION 1.20.0
-------------------------
NEW FEATURES
o Add coercion methods to go back and forth between ExpressionSet and
SummarizedExperiment.
o Add 'assayNames', 'assayNames<-' for SummarizedExperiment
o assays() supports arrays of up to 4 dimensions.
o Add GNCList() for preprocessing a GenomicRanges object into a GNCList
object that can be used for fast overlap seach with findOverlaps().
GNCList() is a replacement for GIntervalTree() that uses Nested
Containment Lists instead of interval trees. Unlike GIntervalTree(),
GNCList() supports preprocessing of a GenomicRanges object with
ranges located on a circular sequence. For a one time use, it's not
advised to explicitely preprocess the input. This is because
findOverlaps() or countOverlaps() will take care of it and do a better
job at it (that is, they preprocess only what's needed when it's needed
and release memory as they go).
o All "findOverlaps" methods now support 'select' equal "last" or
"arbitrary" (in addition to "all" and "first").
o Add absoluteRanges() and relativeRanges() to transform back and forth
between absolute and relative genomic ranges.
SIGNIFICANT USER-VISIBLE CHANGES
o Renamed 'rowData' and 'rowData<-' -> 'rowRanges', 'rowRanges<-'.
Old names still work but are deprecated.
o Some improvements to makeGRangesFromDataFrame():
- Improve internal logic used for finding the GRanges columns in the
input.
- If 'seqinfo' is not supplied, the seqlevels are now ordered according
to the output of GenomeInfoDb::rankSeqlevels().
- Now an attempt is made to turn 'df' into a data frame (with
'as.data.frame(df)') if it's not a data frame or a DataFrame object.
o The GRanges() constructor now propagates the metadata cols that are on
'ranges' if no metadata cols are explicitly passed to the constructor.
DEPRECATED AND DEFUNCT
o Deprecated 'rowData' and 'rowData<-' in favor of 'rowRanges' and
'rowRanges<-'.
o Deprecated mapCoords() and pmapCoords(). They're replaced by
mapToTranscripts() and pmapToTranscripts() from the GenomicFeatures
package and mapToAlignments() and pmapToAlignments() from the
GenomicAlignments package.
o Deprecated GIntervalTree objects.
o Removed "map" and "splitAsListReturnedClass" methods (were defunct in
GenomicRanges 1.18.0).
o Removed makeSeqnameIds() (was defunct in GenomicRanges 1.18.0).
o Removed 'with.mapping' argunment from "reduce" methods (was defunct in
GenomicRanges 1.18.0).
BUG FIXES
o Fix 'findOverlaps(..., type="start")' on GRangesList objects which has
been broken for years.
o Fix self overlap search on a GRanges object when 'ignore.strand=TRUE'
(i.e. 'findOverlaps(gr, ignore.strand=TRUE)').
CHANGES IN VERSION 1.18.0
-------------------------
NEW FEATURES
o Add 'use.mcols' arg to "ranges" method for GRangesList objects.
o "assays<-" methods may be invoked with 'withDimnames' arg.
o Add mapCoords() generic and methods (replacing map()).
o Add granges,GenomicRanges method.
o Add strand<-,GRangesList,character method for global replacement
(i.e., all strands become 'value').
o Add resize,GRangesList-method.
o Add DelegatingGenomicRanges class and vignette on how to extend
GenomicRanges.
o Document subsetting a named list-like object by a GRanges subscript.
SIGNIFICANT USER-VISIBLE CHANGES
o Modify "show" methods for GRanges and GRangesList objects so
they print a 1-line summary of the seqinfo component.
o Remove as.data.frame,GRangesList-method; use as.data.frame,List.
o "trim" method for GenomicRanges only trims out-of-bound
ranges on non-circular sequences whose length is not NA.
This behavior is consistent with the GenomicRanges validity method.
o Changes to flank(), resize() and start/end/width setters:
- no longer trim the result ranges when called on a GRanges
- warning is issued by GenomicRanges validity method when
out-of-bound ranges are on non-circular sequences whose
length is not NA
Note this behavior is now consistent with that of shift().
o Speed up validation of GenomicRanges objects by 1.2x.
o Speed up trim() on GenomicRanges objects by 1.2x.
o Improve warning when GenomicRanges object contains out-of-bound ranges.
o Work on vignette HOWTOs:
- split 'How to read BAM files into R' into 3 HOWTOs
- split 'How to prepare a table of read counts for RNA-Seq
differential gene expression' into 3 HOWTOs
- split 'How to extract DNA sequences of gene regions' into 2 HOWTOs
- make individual HOWTOs subsections of single HOWTO section
o Follow renaming of TranscriptDb class to TxDb.
o Replace references to plantsmart21 with plantsmart22.
DEPRECATED AND DEFUNCT
o Defunct map() (skip deprecation). Replace with mapCoords().
BUG FIXES
o [cr]bind,SummarizedExperiment methods respect derived classes.
o assays(se, withDimnames=TRUE) <- value no longer tries to access
a slot 'withDimnames'.
o cbind and rbind,SummarizedExperiment-methods respect derived
classes
o "ranges" method for GRangesList objects should not propagate
inner metadata columns by default.
o GRanges() constructor now preserves the seqlevels in the order
supplied by the user.
o Ensure tileGenome() breakpoints do not extend past end of genome.
o Fix "show" method for GenomicRanges objects when 'showHeadLines'
global option is set to Inf.
o [rc]bind,SummarizeExperiment-methods now compare all elements.
o Remove "==" and "<=" methods for GenomicRanges objects (not needed).
CHANGES IN VERSION 1.16.0
-------------------------
NEW FEATURES
o Add "subset" method for SummarizedExperiment objects.
o Allow DataFrame in SummarizedExperiment assays.
o Add 'use.mcols' arg (FALSE by default) to the granges(), grglist(), and
rglist() generics (a.k.a. the range-squeezer generics).
o Add coercion method from GRangesList to RangesList.
o Add score() setter for GRangesList objects.
o findOverlaps(..., type="within") now works on circular chromosomes.
o Add 'ignore.strand' arg to "sort" method for GRanges objects.
o Support subsetting of a named list-like object *by* a GenomicRanges
subscript.
o Support sort(granges, by = ~ score), i.e., a formula-based interface for
sorting by the mcols.
SIGNIFICANT USER-VISIBLE CHANGES
o Move many functionalities to the new GenomicAlignments package:
- The GAlignments, GAlignmentPairs, and GAlignmentsList classes.
- The qnarrow() generic and methods.
- The "narrow" and "pintersect" methods for GAlignments and
GAlignmentsList objects.
- The low-level CIGAR utilities.
- The "findOverlaps" methods for GAlignment* objects.
- The summarizeOverlaps() generic and methods, and the "Counting reads
with summarizeOverlaps" vignette.
- findCompatibleOverlaps() and countCompatibleOverlaps().
- The findSpliceOverlaps() generic and methods.
- The "overlap encodings" stuff i.e. the "encodeOverlaps" method for
GRangesList objects, flipQuery(), selectEncodingWithCompatibleStrand(),
isCompatibleWithSplicing(), isCompatibleWithSkippedExons(),
extractSteppedExonRanks(), extractSpannedExonRanks(),
extractSkippedExonRanks(), and extractQueryStartInTranscript(), and
the "OverlapEncodings" vignette.
o Rename 'with.mapping' arg -> 'with.revmap' in "reduce" methods. The old
arg name is still working but deprecated.
o Move makeSeqnameIds() function to the new GenomeInfoDb package and rename
it rankSeqlevels(). The old name is still working but deprecated.
o The "strand" methods now perform stricter checking and are guaranteed
to always return a factor (or factor-Rle) with the "standard strand
levels" and no NAs. Or to fail.
BUG FIXES
o Tweaks and fixes to various "strand" methods:
- Methods for character vectors and factors do not accept NAs anymore
(they raise an error).
- Methods for integer and logical vectors map NAs to * (instead of NA).
- Method for Rle objects now also works on character-, factor-, and
integer-Rle objects (in addition to logical-Rle objects).
CHANGES IN VERSION 1.14.0
-------------------------
NEW FEATURES
o Add coercion from GenomicRangesList to RangedDataList.
o Add "c" method for GAlignmentPairs objects.
o Add coercion from GAlignmentPairs to GAlignmentsList.
o Add 'inter.feature' and 'fragment' arguments to summarizeOverlaps().
o Add seqselect,GAlignments-method.
o Add CIGAR utilities:
explodeCigarOps(), explodeCigarOpLengths()
cigarRangesAlongReferenceSpace(), cigarRangesAlongQuerySpace()
cigarRangesAlongPairwiseSpace(), extractAlignmentRangesOnReference()
cigarWidthAlongReferenceSpace(), cigarWidthAlongQuerySpace()
cigarWidthAlongPairwiseSpace().
o Add seqlevels0() and restoreSeqlevels().
o Add seqlevelsInUse() getter for GRanges, GRangesList, GAlignments
GAlignmentPairs, GAlignmentsList and SummarizedExperiment objects.
o Add update,GAlignments method.
o Add GIntervalTree class.
o Add coercion from GAlignmentPairs to GAlignments.
o Add sortSeqlevels().
o Add tileGenome().
o Add makeGRangesFromDataFrame() and coercion from data.frame or DataFrame
to GRanges.
SIGNIFICANT USER-VISIBLE CHANGES
o Renaming (with aliases from old to new names):
- classes
GappedAlignments -> GAlignments
GappedAlignmentPairs -> GAlignmentPairs
- functions
GappedAlignments() -> GAlignments()
GappedAlignmentPairs() -> GAlignmentPairs()
readGappedAlignments() -> readGAlignments()
readGappedAlignmentPairs() -> readGAlignmentPairs()
o Remove 'asProperPairs' argument to readGAlignmentsList().
o Modify "show" method for Seqinfo object to honor showHeadLines
and showTailLines global options.
o 50x speedup or more when merging 2 Seqinfo objects, 1 very small
and 1 very big.
o Add dependency on new XVector package.
o Enhanced examples for renaming seqlevels in seqlevels-utils.Rd.
o More efficient reference class constructor for 'assays'
slot of SummarizedExperiment objects.
o 'colData' slot of SummarizedExperiment produced from call to
summarizedOverlaps() now holds the class type and length of 'reads'.
o 4x speedup to cigarToRleList().
o Relax SummarizedExperiment class validity.
o Renaming (with aliases from old to new names):
cigarToWidth() -> cigarWidthOnReferenceSpace(), and
cigarToQWidth() -> cigarWidthOnQuerySpace().
o Improvements to summarizeOverlaps():
- mode 'Union': 1.5x to 2x speedup
- mode 'IntersectionNotEmpty': 2x to 8x speedup + memory footprint
reduced by ~ half
o Change default 'use.names' to FALSE for readGAlignmentsList().
o Implement 'type="equal"' for findOverlaps,SummarizedExperiment methods.
o Modify summarizeOverlaps() examples to use 'asMates=TRUE' instead
of 'obeyQname=TRUE'.
o Remove unneeded "window" method for GenomicRanges objects.
o Speed up seqinfo() getter and setter on SummarizedExperiment objects
and derivatives (e.g. VCF) by using direct access to 'rowData' slot.
o coverage,GenomicRanges method now uses .Ranges.coverage() when
using the defaults for 'shift' and 'width'.
o Remove restriction that metadata column names must be different on
a GRangesList and the unlisted GRanges.
o GenomicRangesUseCases vignette has been redone and renamed
to GenomicRangesHOWTOs.
DEPRECATED AND DEFUNCT
o Defunct all "match" and "%in%" methods in the
package except for those with the GenomicRanges,GenomicRanges signature.
o Deprecate GappedAlignment*:
- GappedAlignments and GappedAlignmentPairs classes
- GappedAlignments() and GappedAlignmentPairs() constructors
- readGappedAlignments() and readGappedAlignmentPairs() functions
o Deprecate cigar util functions:
cigarToWidth(), cigarToQWidth(), cigarToIRanges()
splitCigar(), cigarToIRanges(), cigarToIRangesListByAlignment()
cigarToIRangesListByRName(), cigarToWidth(), cigarToQWidth()
cigarToCigarTable(), summarizeCigarTable()
o Deprecate seqselect().
BUG FIXES
o Fix bug in c,GAlignments for case when objects were unnamed.
o Fix bug in flank,GenomicRanges (when 'ignore.strand=TRUE'
'start' was being set to TRUE).
o Fix bug in behavior of summarizeOverlaps() count mode
'IntersectionNotEmpty' when 'inter.features=FALSE'. Shared
regions are now removed before counting.
o Fix bug in cigarToIRangesListByAlignment() when 'flag' is
supplied and indicates some reads are unmapped.
o Fix bug in summarizeOverlaps(..., mode='IntersectionNotEmpty')
when 'features' has '-' and '+' elements and 'ignore.strand=TRUE'.
o match,GenomicRanges,GenomicRanges method now handles properly objects
with seqlevels not in the same order.
CHANGES IN VERSION 1.12.0
-------------------------
NEW FEATURES
o Implement "seqnameStyle" replacement method for Seqinfo object.
'seqnameStyle(x) <- style' works on any object with a "seqinfo"
replacement method.
o Add trim,GenomicRanges-method to trim out of bound ranges.
o Add promoters,GenomicRanges and promoters,GRangesList methods.
o Add "overlapsAny" methods as a replacement for the deprecated
"%in%" methods.
o Add 'ignore.strand' argument to match,GenomicRanges-method.
o Add 'with.mapping' argument to "reduce" method for GenomicRanges
objects.
o Add "unname" method to remove dimnames from SummarizedExperiment.
o Add "cbind" and "rbind" methods for SummarizedExperiment.
o Add "seqselect", "seqselect<-" and "split" methods for
SummarizedExperiment.
o Add GAlignmentsList class.
o Add readGAlignmentsList generic and methods.
SIGNIFICANT USER-VISIBLE CHANGES
o resize,GenomicRanges method no longer checks that 'fix' is
length-compatible with 'x' when 'x' is length zero. This
allows for resize(x, w, fix = "end") without worrying about
'x' being zero-length.
o Change the behavior of "distance". Previously adjacent ranges
had a distance of 1 and overlapping had a distance of 0. Now
both adjacent AND overlapping have a distance of 0.
o shift,GenomicRanges-method no longer trims out of bound ranges.
o "distanceToNearest" no longer drops ranges that have no hit
but returns 'NA' for 'subjectHits' and 'distance'.
o "genome" is no longer an invalid metadata colname for GenomicRanges
objects.
o 4x-8x speedup for doing coverage() on a GRanges or GRangesList with
many seqlevels.
o Remove ">=", "<", and ">" methods for GenomicRanges objects.
o Speedup "seqinfo" setters for GenomicRanges and GappedAlignments
by avoiding validation when not necessary.
o readGappedAlignments can now pass a BamFile to readBamGappedAlignments.