Write Variant Call Format (VCF) files to disk
1 2 3 4
Object containing data to be written out. At present only accepts VCF.
The character() name of the VCF file, or a connection
Whether to bgzip the output file and generate a tabix index.
Additional arguments, passed to methods.
A VCF file can be written out from data in a
VCF object. More
general methods to write out from other objects may be added in the future.
writeVcf writes out the header fields in a
'as-is' with the exception of these key-value pairs:
fileformat: When missing, a line is added at the top of the
file with the current supported version.
VariantAnnotation >=1.27.6 supports VCFv4.3.
fileDate: When missing, a line is added with today's date. If the key-value pair exists, the date is overwritten with today's date.
contig: When missing,
VariantAnnotation attempts to
Seqinfo of the
VCF object to determine
the contig information.
Large VCF files (i.e., > 1e5 records) are written out in
chunks; VCF files with < 1e5 records are not chunked. The optimal number of
records per chunk depends on both the number of records and complexity of the
writeVcf determines records per chunk based on the
total number of records only. To override this behavior or experiment with
other values use
nchunk as an integer or NA. An integer value
represents the number of records per chunk regardless of the size of the
VCF; NA disables all chunking.
writeVcf(vcf, tempfile()) ## default chunking
writeVcf(vcf, tempfile(), nchunk = 1e6) ## chunk by 1e6
writeVcf(vcf, tempfile(), nchunk = NA) ## no chunking
VariantAnnotation >= 1.27.6 supports VCFv4.3. See the NOTE on
?VCFHeader man page under the
meta() extractor for
a description of how header parsing has changed to accommodate the new
header lines with key name of 'META'.
Valerie Obenchain and Michael Lawrence
http://vcftools.sourceforge.net/specs.html outlines the VCF specification.
information on the portion of the specification implemented by
http://samtools.sourceforge.net/ provides information on
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
fl <- system.file("extdata", "ex2.vcf", package="VariantAnnotation") out1.vcf <- tempfile() out2.vcf <- tempfile() in1 <- readVcf(fl, "hg19") writeVcf(in1, out1.vcf) in2 <- readVcf(out1.vcf, "hg19") writeVcf(in2, out2.vcf) in3 <- readVcf(out2.vcf, "hg19") stopifnot(all(in2 == in3)) ## write incrementally out3.vcf <- tempfile() con <- file(out3.vcf, open="a") writeVcf(in1[1:2,], con) writeVcf(in1[-(1:2),], con) close(con) readVcf(out3.vcf, "hg19")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.