CHANGES IN VERSION 1.8.0 ------------------------ NEW FEATURES o Add GappedAlignmentPairs class (with accessors first(), last(), left(), right(), seqnames(), strand(), isProperPair()), and readGappedAlignmentPairs() for dealing with paired-end reads. Most of the GappedAlignments functionalities (e.g. coercion to GRangesList, "findOverlaps" and related methods, "coverage", etc...) work on a GappedAlignmentPairs object. o Add encodeOverlaps,GRangesList,GRangesList,missing and related utilities flipQuery(), selectEncodingWithCompatibleStrand(), isCompatibleWithSplicing(), isCompatibleWithSkippedExons() and extractSkippedExonRanks(). o Add 'order.as.in.query' arg to grglist() and rglist(). o SummarizedExperiment gains direct access to colData columns with $, $<-, [[, and [[<- methods o Add map,GenomicRanges,GRangesList and map,GenomicRanges,GappedAlignments methods. These allow mapping from genome space to transcript space, and genome space to read space, respectively. o Add seqinfo methods (and friends) for RangedData, RangesList, and other IRanges data structures. These use metadata(x)$seqinfo. o Add disjointBins,GenomicRanges. o Add score,GRangesList and score,GenomicRanges (gets the score column like for RangedData). o Add RangedDataList -> GenomicRangesList coercion. o Add RleViewsList -> GRanges coercion. o Add pintersect,GRangesList,GRangesList o Add stack,GenomicRangesList o ignore.strand argument now more uniformly supported on set operations. o Add Ops,GenomicRanges (from rtracklayer). o Add strand,Rle (only logical-Rle is supported). o Add compare,GenomicRanges o Add 'drop.empty.ranges' arg (FALSE by default) to low-level cigar utilities cigarToIRanges(), cigarToIRangesListByAlignment(), and cigarToIRangesListByRName(). o Add 'reduce.ranges' arg to cigarToIRangesListByAlignment(). SIGNIFICANT USER-LEVEL CHANGES o grglist,GappedAlignments now carries over element metadata. o Names are no longer forced to be unique when unlisting a GRangesList with use.names=TRUE. o seqnames() is now preferred over rname() on a GappedAlignments object. o cigarToIRangesListByAlignment() now returns a CompressedIRangesList instead of CompressedNormalIRangesList. o Low-level CIGAR utilities now ignore CIGAR operation P (instead of trowing an error). o The 'weight' arg in "coverage" method for GenomicRanges objects now can also be a single string naming a column in elementMetadata(x). o Ranges outside the sequences bounds of the underlying sequences are now accepted (with a warning) in GenomicRanges/GRangesList/GappedAlignments objects. o When called with 'ignore.strand=TRUE', the "range" and "disjoin" methods for GenomicRanges objects now behave like if they set the strand of the input to "*" before they do any computation. o When called with 'ignore.strand=TRUE', "reduce" method for GenomicRanges objects, and "union", "intersect" and "setdiff" methods for GRanges objects now set the strand of their arguments to "*" prior to any computation. o No more mangling of the names when combining GRanges objects ("c" method for GRanges objects was trying to return unique names). o Remove isCircularWithKnownLength() generic and methods (nobody knows, uses, or needs this). BUG FIXES o flank,GRangesList no longer forces 'use.names' to TRUE and 'both' to FALSE. o range,GenomicRanges was broken when object had no ranges o Fix integer overflow issue that can occur in cigarQNarrow() or cigarQNarrow() when the cigar vector is very long. CHANGES IN VERSION 1.6.0 ------------------------ NEW FEATURES o seqlevels() and seqinfo() setters have a new arg ('force', default is FALSE) to force dropping sequence levels currently in use. o Seqinfo objects now have a genome column that can be accessed with genome() getter/setter. o "pgap" method for c(x="GRanges", y="GRanges"). o Add comparison (==, <=, duplicated, unique, etc...) and ordering (order, sort, rank) methods for GenomicRanges objects. o Add "flank" method for GRangesList objects. o Add "isDisjoint" and "restrict" methods for GRanges and GRangesList objects. o Add GRangesList constructor makeGRangesListFromFeatureFragments(). o Add "names" and "names<-" methods for GappedAlignments objects. o Add 'ignore.strand' arg to a number of methods: - findOverlaps,GRangesList,RangesList - findOverlaps,GappedAlignments,ANY - findOverlaps,ANY,GappedAlignments o 'shift' and 'weight' arguments of "coverage" method for GenomicRanges objects now can be numeric vectors in addition to lists. o Add "c" method for GappedAlignments objects. SIGNIFICANT USER-VISIBLE CHANGES o readGappedAlignments() supports 2 new arguments: (1) 'use.names' (default is FALSE) for using the query template names (QNAME field in a SAM/BAM file) to set the names of the returned object, and (2) 'param' (default is NULL, otherwise a ScanBamParam object) for controlling what fields and which records are imported. readGappedAlignments() doesn't support the 'which' arg anymore. o The names of a GRanges/GRangesList/GappedAlignments object are not required to be unique anymore. o By default, the rownames are not set anymore on the DataFrame returned by elementMetadata() on a GRanges/GRangesList/GappedAlignments object. o 'width' arg of "coverage" method for GenomicRanges objects now must be NULL or numeric vector (instead of NULL or list). DEPRECATED AND DEFUNCT o Deprecate countGenomicOverlaps() in favor of summarizeOverlaps(). o Deprecate grg() in favor of granges(). BUG FIXES o Fix bug in "pintersect" methods operating on GappedAlignments objects.