Hi Thomas, Michael,

makeVRangesFromGRanges has been added to 1.13.34. The methods-VRanges-class.R file was already large so I added makeVRangesFromGRanges.R.

A few notes:

- '...' was replaced with 'keep.extra.columns'

- row names are propagated automatically so I removed the explicit row.names(vr)

- Errors are thrown in 2 cases: when arguments are not a single string and if 'ref' can't be found. You may want to consider a warning if one of the 'field' args can't be found in the GRanges metadata.

- I have not added unit tests. If you have some I'll put them in.

- The function is documented in VRanges-class.Rd. If you want to make a stand alone man page similar to makeGRangesFromDataFrame I'll add that too.

Thanks for the contribution Thomas. Nice addition.

Valerie



On 02/20/2015 04:17 PM, Michael Lawrence wrote:


On Thu, Feb 19, 2015 at 12:46 PM, Thomas Sandmann
<sandmann.tho...@gene.com <mailto: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



_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to