Skip to content

Commit 1d5ab05

Browse files
committed
update seqGDS2SNP() with 'ds.type'
1 parent 1af80d7 commit 1d5ab05

File tree

5 files changed

+11
-7
lines changed

5 files changed

+11
-7
lines changed

DESCRIPTION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Package: SeqArray
22
Type: Package
33
Title: Big Data Management of Whole-genome Sequence Variant Calls
4-
Version: 1.21.3
5-
Date: 2018-07-29
4+
Version: 1.21.4
5+
Date: 2018-08-12
66
Depends: R (>= 3.3.0), gdsfmt (>= 1.10.1)
77
Imports: methods, parallel, IRanges, GenomicRanges, GenomeInfoDb, Biostrings,
88
S4Vectors

R/Conversion.R

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ seqGDS2VCF <- function(gdsfile, vcf.fn, info.var=NULL, fmt.var=NULL,
322322

323323
seqGDS2SNP <- function(gdsfile, out.gdsfn, dosage=FALSE,
324324
compress.geno="LZMA_RA", compress.annotation="LZMA_RA",
325-
optimize=TRUE, verbose=TRUE)
325+
ds.type=c("packedreal16", "float", "double"), optimize=TRUE, verbose=TRUE)
326326
{
327327
# check
328328
stopifnot(is.character(gdsfile) | inherits(gdsfile, "SeqVarGDSClass"))
@@ -332,6 +332,7 @@ seqGDS2SNP <- function(gdsfile, out.gdsfn, dosage=FALSE,
332332
stopifnot(is.character(compress.annotation), length(compress.annotation)==1L)
333333
stopifnot(is.logical(optimize), length(optimize)==1L)
334334
stopifnot(is.logical(verbose), length(verbose)==1L)
335+
ds.type <- match.arg(ds.type)
335336

336337
if (verbose)
337338
{
@@ -427,7 +428,7 @@ seqGDS2SNP <- function(gdsfile, out.gdsfn, dosage=FALSE,
427428
FUN = .cfunction("FC_GDS2SNP"))
428429
} else {
429430
.cfunction("FC_SetNumSamp")(length(sampid))
430-
gGeno <- add.gdsn(gfile, "genotype", storage="float32",
431+
gGeno <- add.gdsn(gfile, "genotype", storage=ds.type,
431432
valdim=c(length(sampid), 0L), compress=compress.geno)
432433
put.attr.gdsn(gGeno, "sample.order")
433434
seqApply(gdsfile, dosage, as.is=gGeno, .progress=verbose,

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Release Version: v1.20.1
2727
* [Help Documents](http://zhengxwen.github.io/SeqArray/release/help/00Index.html)
2828
* Tutorials: [Data Management](http://www.bioconductor.org/packages/release/bioc/vignettes/SeqArray/inst/doc/SeqArrayTutorial.html), [R Integration](http://www.bioconductor.org/packages/release/bioc/vignettes/SeqArray/inst/doc/R_Integration.html), [Overview Slides](http://www.bioconductor.org/packages/release/bioc/vignettes/SeqArray/inst/doc/OverviewSlides.html)
2929

30-
Development Version: v1.21.2
30+
Development Version: v1.21.3
3131

3232
[http://www.bioconductor.org/packages/devel/bioc/html/SeqArray.html](http://www.bioconductor.org/packages/devel/bioc/html/SeqArray.html)
3333

man/seqGDS2SNP.Rd

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
}
77
\usage{
88
seqGDS2SNP(gdsfile, out.gdsfn, dosage=FALSE, compress.geno="LZMA_RA",
9-
compress.annotation="LZMA_RA", optimize=TRUE, verbose=TRUE)
9+
compress.annotation="LZMA_RA", ds.type=c("packedreal16", "float", "double"),
10+
optimize=TRUE, verbose=TRUE)
1011
}
1112
\arguments{
1213
\item{gdsfile}{character (GDS file name), or
@@ -20,6 +21,8 @@ seqGDS2SNP(gdsfile, out.gdsfn, dosage=FALSE, compress.geno="LZMA_RA",
2021
\item{compress.annotation}{the compression method for the GDS variables,
2122
except "genotype"; optional values are defined in the function
2223
\code{add.gdsn}}
24+
\item{ds.type}{applicable when import dosages, the data type for storing
25+
dosages; see \code{\link{add.gdsn}}}
2326
\item{optimize}{if \code{TRUE}, optimize the access efficiency by calling
2427
\code{\link{cleanup.gds}}}
2528
\item{verbose}{if \code{TRUE}, show information}

src/ConvToGDS.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ COREARRAY_DLL_EXPORT SEXP FC_SetNumSamp(SEXP num)
303303

304304
COREARRAY_DLL_EXPORT SEXP FC_GDS2Dosage(SEXP dosage)
305305
{
306-
int n = LENGTH(dosage);
306+
int n = Rf_isNull(dosage) ? 0 : LENGTH(dosage);
307307
if (n < FC_Num_Sample)
308308
{
309309
dosage = NEW_NUMERIC(FC_Num_Sample);

0 commit comments

Comments
 (0)