Someone please help me. After applying sortSeqlevels on a GRanges object, the ranges are not sorted.
> class(a)
[1] "GRanges"
attr(,"package")
[1] "GenomicRanges"
> a
GRanges object with 10 ranges and 4 metadata columns:
seqnames ranges strand | sampleName median mean
<Rle> <IRanges> <Rle> | <factor> <numeric> <numeric>
[1] 1 [ 12978123, 13001479] * | T127192 -1.0000000 -1.3819
[2] 16 [ 66757067, 66862007] * | TBM12913 0.9021002 0.7706
[3] 6 [153308946, 153311149] * | T3503 -0.9817280 -1.1798
[4] 7 [ 44076308, 44081461] * | T34 -0.8688574 -1.1203
[5] Y [ 21477864, 24457072] * | T2765 -2.5616377 -2.4304
[6] 10 [ 51361667, 51371756] * | T129795 -5.3192409 -4.2112
[7] 15 [100330954, 100348572] * | TBM12913 -0.9999975 -1.3341
[8] 10 [105882524, 105963528] * | T74139 0.4485208 0.5094
[9] 22 [ 42522572, 42546862] * | T10380 -0.9801241 -1.1755
[10] 11 [ 77531568, 77633436] * | T130307 0.6735005 0.6745
CN
<character>
[1] CN1
[2] CN3
[3] CN1
[4] CN1
[5] CN0
[6] CN0
[7] CN1
[8] CN3
[9] CN1
[10] CN3
-------
seqinfo: 24 sequences from an unspecified genome; no seqlengths
> sortSeqlevels(a)
GRanges object with 10 ranges and 4 metadata columns:
seqnames ranges strand | sampleName median mean
<Rle> <IRanges> <Rle> | <factor> <numeric> <numeric>
[1] 1 [ 12978123, 13001479] * | T127192 -1.0000000 -1.3819
[2] 16 [ 66757067, 66862007] * | TBM12913 0.9021002 0.7706
[3] 6 [153308946, 153311149] * | T3503 -0.9817280 -1.1798
[4] 7 [ 44076308, 44081461] * | T34 -0.8688574 -1.1203
[5] Y [ 21477864, 24457072] * | T2765 -2.5616377 -2.4304
[6] 10 [ 51361667, 51371756] * | T129795 -5.3192409 -4.2112
[7] 15 [100330954, 100348572] * | TBM12913 -0.9999975 -1.3341
[8] 10 [105882524, 105963528] * | T74139 0.4485208 0.5094
[9] 22 [ 42522572, 42546862] * | T10380 -0.9801241 -1.1755
[10] 11 [ 77531568, 77633436] * | T130307 0.6735005 0.6745
CN
<character>
[1] CN1
[2] CN3
[3] CN1
[4] CN1
[5] CN0
[6] CN0
[7] CN1
[8] CN3
[9] CN1
[10] CN3
-------
seqinfo: 24 sequences from an unspecified genome; no seqlengths
> sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: openSUSE 13.1 (Bottle) (x86_64)
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats4 parallel stats graphics grDevices utils datasets
[8] methods base
other attached packages:
[1] Biobase_2.34.0 BiocInstaller_1.24.0 rtracklayer_1.34.2
[4] cn.mops_1.20.1 GenomicRanges_1.26.4 GenomeInfoDb_1.10.3
[7] IRanges_2.8.2 S4Vectors_0.12.2 BiocGenerics_0.20.0
loaded via a namespace (and not attached):
[1] lattice_0.20-35 XML_3.98-1.9
[3] Rsamtools_1.26.2 Biostrings_2.42.1
[5] snow_0.4-2 GenomicAlignments_1.10.1
[7] bitops_1.0-6 grid_3.3.3
[9] exomeCopy_1.20.0 zlibbioc_1.20.0
[11] XVector_0.14.1 Matrix_1.2-10
[13] BiocParallel_1.8.2 tools_3.3.3
[15] RCurl_1.95-4.8 SummarizedExperiment_1.4.0
Thank you very much for your quick reply.
sort(a) did the job.
In cn.mops source code:
cnvrR <- GenomicRanges::reduce(GRanges(seqnames = segDfSubset$chr,
IRanges(segDfSubset$start, segDfSubset$end),
seqinfo = seqinfo(grAllRegions)))
cnvrR <- sortSeqlevels(cnvrR)
I thought cnvrR is GRanges.