On Thu, Feb 19, 2015 at 12:46 PM, Thomas Sandmann <sandmann.tho...@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]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel