[Bioc-devel] VariantAnnotation: Harmonize default readVcf params

Michael Lawrence lawrence.michael at gene.com
Mon Dec 8 22:32:27 CET 2014


The reason why 'y' and 'z' are different is the same reason why
readVcfAsVRanges exists. It was meant to be a convenience so that users
could get the minimal information needed into the VCF. But maybe that was
just being too helpful, and the user ends up confused. So I agree with
Julian that we should just drop VRangesScanVcfParam and have
readVcfAsVRanges just be an alternative syntax to as(readVcf(), "VRanges").

Michael

On Mon, Dec 8, 2014 at 10:48 AM, Valerie Obenchain <vobencha at fredhutch.org>
wrote:

> Michael, how would you feel about dropping VRangesScanVcfParam? I'm open
> to changing the defaults in ScanVcfParam; the current 'read all fields'
> default is probably not the best approach.
>
> Valerie
>
>
>
> On 12/04/2014 02:47 AM, Julian Gehring wrote:
>
>> Hi,
>>
>> Can we harmonize the default parameters for =ScanVcfParam= and
>> =VRangesScanVcfParam=?  It even seems that we could drop
>> =VRangesScanVcfParam= since it is mainly a wrapper for =ScanVcfParam=.
>>
>> Currently, the defaults for importing fields from a VCF are:
>>
>>    ScanVcfParam: fixed = character(), info = character(), geno =
>>    character()
>>
>>    VRangesScanVcfParam: fixed = "ALT", info = NA, geno = "AD"
>>
>> When using
>>
>>    readVcfAsVRanges(vcf_path, genome_name)
>>
>> with default parameters, that yields a VRanges object only the 'AD'
>> metadata column.  If 'AD' is not present in the VCF file (which is
>> perfectly fine because it is not essential), it throws a warning.
>>
>> My main motivation behind all of this is that I would expect
>>
>>    x = readVcf(vcf_path, genome_name)
>>    y = as(x, "VRanges")
>>
>> and
>>
>>    z = readVcfAsVRanges(vcf_path, genome_name)
>>
>> to give an equal object.  I added some code below to make the case more
>> concrete:
>>
>>    library(VariantAnnotation)
>>
>>    vcf_path = system.file("extdata", "ex2.vcf",
>> package="VariantAnnotation")
>>
>>    ## read VRanges (implicit conversion)
>>    z = readVcfAsVRanges(vcf_path, "ncbi37")
>>
>>    ## read VCF, convert to VRanges (explicitly)
>>    x = readVcf(vcf_path, "ncbi37")
>>    y = as(x, "VRanges")
>>
>>    ## harmonize it
>>    vr_param = VRangesScanVcfParam(fixed = character(), info =
>> character(), geno = character())
>>
>>    z2 = readVcfAsVRanges(vcf_path, "ncbi37", param = vr_param)
>>
>>    all.equal(unname(y), unname(z2))
>>
>>
>> Best
>> Julian
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>>
>

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list