Search
Question: sortSeqlevels is not sorting for GRanges object
0
gravatar for Haiying.Kong
4 months ago by
Haiying.Kong90
Germany
Haiying.Kong90 wrote:

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

ADD COMMENTlink modified 4 months ago by Michael Lawrence9.8k • written 4 months ago by Haiying.Kong90
0
gravatar for Michael Lawrence
4 months ago by
United States
Michael Lawrence9.8k wrote:

That's expected. It only sorts the seqlevels, not the ranges. To sort the ranges, call sort(a) after calling sortSeqlevels(), but note that will sort by more than just the seqnames.

ADD COMMENTlink written 4 months ago by Michael Lawrence9.8k

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.

ADD REPLYlink modified 4 months ago • written 4 months ago by Haiying.Kong90
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 159 users visited in the last hour