[Bioc-devel] GRanges to VRanges coercion
Michael Lawrence
lawrence.michael at gene.com
Sat Feb 21 01:17:53 CET 2015
On Thu, Feb 19, 2015 at 12:46 PM, Thomas Sandmann <sandmann.thomas at gene.com>
wrote:
> Hi Valerie, hi Michael,
>
> I find myself frequently moving back and forth between data.frames,
> GRanges and VRanges objects.
>
> The makeGRangesFromDataFrame function from the GenomicRanges makes the
> coercion between the former straightforward, but I couldn't find anything
> similar for the second step, coercsion from GRanges to VRanges.
>
> There is a coercion method defined in the GenomicRanges package:
>
> getMethod(coerce, c("GRanges", "VRanges"))
> Method Definition:
>
> function (from, to = "VRanges", strict = TRUE)
> {
> obj <- new("VRanges")
> as(obj, "GRanges") <- from
> obj
> }
> <environment: namespace:GenomicRanges>
>
> Signatures:
> from to
> target "GRanges" "VRanges"
> defined "GRanges" "VRanges"
>
> but I haven't been able to get it to work (or find where it is
> documented). The source code shown above doesn't indicate how the coercion
> method would check for the presence of required / optional VRanges columns,
> e.g. 'ref', 'alt', 'altDepth', etc.
>
This is just the default coercion method added by the methods package for a
conversion of a class to its parent class. It obviously will not do the
right thing, in general.
>
> Would it be useful to add an explicit makeVRangesFromGRanges function to
> the VariantAnnotation package ( and / or the corresponding coercion method)
> ?
>
> Then it would be easy to go from a data.frame to a VRanges object, e.g.
> as in this pseudocode:
>
> makeVRangesFromGRanges(
> makeGRangesFromDataFrame( data.frame )
> )
>
> You can find a first attempt at implementing the makeVRangesFromGRanges function
> here <https://gist.github.com/tomsing1/bf917b1b48afb952e1c5>, which you
> are welcome to use / modify if you find it useful.
>
> If this functionality should already be available, I'd be happy to learn
> about that, too !
>
>
Val, do you think you could review and incorporate Thomas's code? It seems
like a good addition to me.
Thanks,
Michael
> Thank you,
> Thomas
>
>
> SessionInfo()
>
> R version 3.1.2 (2014-10-31)
> Platform: x86_64-apple-darwin13.4.0 (64-bit)
>
> locale:
> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>
> attached base packages:
> [1] stats4 parallel stats graphics grDevices utils datasets
> methods base
>
> other attached packages:
> [1] VariantAnnotation_1.12.9 Rsamtools_1.18.2 Biostrings_2.34.1
> XVector_0.6.0 GenomicRanges_1.18.4
> [6] GenomeInfoDb_1.2.4 IRanges_2.0.1 S4Vectors_0.4.0
> BiocGenerics_0.12.1 BiocInstaller_1.16.1
> [11] roxygen2_4.1.0 devtools_1.7.0
>
> loaded via a namespace (and not attached):
> [1] AnnotationDbi_1.28.1 base64enc_0.1-2 BatchJobs_1.5
> BBmisc_1.9 Biobase_2.26.0
> [6] BiocParallel_1.0.3 biomaRt_2.22.0 bitops_1.0-6
> brew_1.0-6 BSgenome_1.34.1
> [11] checkmate_1.5.1 codetools_0.2-10 DBI_0.3.1
> digest_0.6.8 fail_1.2
> [16] foreach_1.4.2 GenomicAlignments_1.2.1
> GenomicFeatures_1.18.3 iterators_1.0.7 Rcpp_0.11.4
> [21] RCurl_1.95-4.5 RSQLite_1.0.0 rtracklayer_1.26.2
> sendmailR_1.2-1 stringr_0.6.2
> [26] tools_3.1.2 XML_3.98-1.1 zlibbioc_1.12.0
>
>
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list