I should really know this by now, but I can't recall how to cleanly subset a SummarizedExperiment/GRangesList by seqnames.
Here I gave some bad example code just now, though I know there is something better:
I searched here first and found:
But using Valerie's code there gives:
> grl[seqnames(grl) == "chr2"] GRangesList object of length 3: $gr1 GRanges object with 1 range and 0 metadata columns: seqnames ranges strand <Rle> <IRanges> <Rle>  chr2 [3, 6] * $gr2 GRanges object with 0 ranges and 0 metadata columns: seqnames ranges strand $gr3 GRanges object with 1 range and 0 metadata columns: seqnames ranges strand  chr2 [4, 9] *
Already, a better solution than my as.character() hack is to throw a elementLengths on top:
> elementLengths(grl[seqnames(grl) == "chr2"]) > 0 gr1 gr2 gr3 TRUE FALSE TRUE
But there must be a better way I'm forgetting.
> sessionInfo() R version 3.2.0 Patched (2015-04-26 r68264) Platform: x86_64-apple-darwin10.8.0 (64-bit) Running under: OS X 10.8.5 (Mountain Lion) locale:  en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 attached base packages:  stats4 parallel stats graphics grDevices datasets utils methods base other attached packages:  GenomicRanges_1.20.3 GenomeInfoDb_1.4.0 IRanges_2.2.1 S4Vectors_0.6.0  BiocGenerics_0.14.0 testthat_0.9.1 devtools_1.7.0 knitr_1.10  BiocInstaller_1.18.1 loaded via a namespace (and not attached):  XVector_0.8.0 tools_3.2.0