CHANGES IN VERSION 1.18.2
-------------------------

BUG FIXES

    o use `.onLoad()` instead of `.onAttach()` to fix
      https://support.bioconductor.org/p/104405/#104443


CHANGES IN VERSION 1.18.1
-------------------------

BUG FIXES

    o fix an issue: `seqSetFilterChrom()` extends a genomic range
      upstream and downstream 1bp


CHANGES IN VERSION 1.18.0
-------------------------

NEW FEATURES

    o progress information: showing overall running time when completed

    o new variable names "$ref" and "$alt" can be used in `seqGetData()` and
      `seqBlockApply()`

    o new argument '.progress' in `seqDigest()`

    o new argument 'ref.allele' in `seqAlleleCount()`

    o new variable name "$chrom_pos_allele" can be used in `seqGetData()` and
      `seqBlockApply()`

UTILITIES

    o move VariantAnnotation to the suggest field from the import field

    o remove an unused argument '.list_dup' in `seqBlockApply()`

    o slightly improve the computational efficiency of `seqAlleleFreq()` and
      `seqAlleleCount()` when 'ref.allele=0'

    o `seqGetData(f, "$chrom_pos")` outputs characters with the format
      'chromosome:position' instead of 'chromosome_position'

BUG FIXES

    o fix the unexpected behaviors in `seqSetFilter(, action="push")` and
      `seqSetFilter(, action="push+intersect")`

    o fix a bug in `seqGetData(f, "$dosage")` when the number of unique alleles
      at a site greater than 3 (https://github.com/zhengxwen/SeqArray/issues/21)

    o fix a bug in `seqSNP2GDS()` for inverted genotypes during importing data
      from SNP GDS files (https://github.com/zhengxwen/SeqArray/issues/22)

    o fix an issue of no phase data in `seqExport()`


CHANGES IN VERSION 1.16.0
-------------------------

    o a new argument 'intersect' in `seqSetFilter()` and `seqSetFilterChrom()`

    o a new function `seqSetFilterCond()`

    o `seqVCF2GDS()` allows arbitrary numbers of different alleles if REF and
      ALT in VCF are missing

    o optimize internal indexing for FORMAT annotations to avoid reloading
      the indexing from the GDS file

    o a new CITATION file

    o 'LZMA_RA' is the default compression method in `seqBED2GDS()` and
      `seqSNP2GDS()`

    o `seqVCF_Header()` correctly calculates ploidy with missing genotypes


CHANGES IN VERSION 1.14.1
-------------------------

    o The default compression setting in `seqVCF2GDS()` and `seqMerge()` is
      changed from "ZIP_RA" to "LZMA_RA"

    o `seqVCF2GDS()`: variable-length encoding method is used to store
      integers in the FORMAT field of VCF files to reduce the file size and
      compression time


CHANGES IN VERSION 1.12.0-1.12.9
-------------------------

    o the version number was bumped for the Bioconductor release version 3.3

    o `seqVCF_SampID()`, `seqVCF_Header()` and `seqVCF2GDS()` allow a
      connection object instead of a file name

    o "$num_allele" is allowed in `seqGetData()` and `seqApply()` (the numbers
      of distinct alleles)

    o a new option '.progress' in `seqAlleleFreq()`, `seqMissing()` and
      `seqAlleleCount()`

    o 'as.is' can be a `gdsn.class` object in `seqApply()`

    o v1.12.7: a new argument 'parallel' in `seqApply()`, BiocParallel
      integration in `seqParallel()` and a new function `seqBlockApply()`

    o v1.12.8: a new function `seqGetParallel()`


CHANGES IN VERSION 1.11.19-1.11.22
-------------------------

    o utilizes the official C API `R_GetConnection()` to accelerate text
      import and export, requiring R (>=v3.3.0); alternative version (backward
      compatible with R_v2.15.0) is also available on github
      (https://github.com/zhengxwen/SeqArray/releases/tag/v1.11.18)

    o ~4x speedup in the sequential version of `seqVCF2GDS()`, and
      `seqVCF2GDS()` can run in parallel

    o variables in "annotation/format/" should be two-dimensional as what
      mentioned in the vignette.


CHANGES IN VERSION 1.11.0-1.11.18
-------------------------

    o rewrite `seqSummary()`

    o a new vignette file with Rmarkdown format (replacing SeqArray-JSM2013.pdf)

    o bug fix in `seqBED2GDS()` if the total number of genotypes > 2^31
      (integer overflow)

    o bug fixes in `seqMerge()` if chromosome and positions are not unique

    o `seqStorage.Option()` is renamed to `seqStorageOption()`

    o new function `seqDigest()`

    o `seqVCF.Header()` is renamed to `seqVCF_Header()`,
      `seqVCF.SampID()` is renamed to `seqVCF_SampID()`

    o seqSetFilter(): 'samp.sel' is deprecated since v1.11.12, please use
      'sample.sel' instead

    o accelerate reading genotypes with SSE2(+13%) and AVX2(+23%)

    o new function `seqSystem()`

    o allow "$dosage" in `seqGetData()` and `seqApply()` for the dosages of
      reference allele

    o accelerate `seqSetFilterChrom()` and allow a selection with
      multiple regions

    o new methods `\S4method{seqSetFilter}{SeqVarGDSClass, GRanges}()` and
      `\S4method{seqSetFilter}{SeqVarGDSClass, GRangesList}()`

    o 'as.is' in `seqApply()` allows a 'connection' object (created by file,
      gzfile, etc)

    o `seqSummary(f, "genotype")$seldim` returns a vector with 3 integers
      (ploidy, # of selected samples, # of selected variants) instead of
      2 integers


CHANGES IN VERSION 1.10.0-1.10.6
-------------------------

    o the version number was bumped for the Bioconductor release version 3.2

    o fix a memory issue in `seqAlleleFreq()` when 'ref.allele' is a vector

    o `seqSetFilter()` allows numeric vectors in 'samp.sel' and 'variant.sel'

    o `seqSummary()` returns ploidy and reference

    o `seqStorage.Option()` controls the compression level of FORMAT/DATA

    o `seqVCF2GDS()` allows extract part of VCF files via 'start' and 'count'

    o `seqMerge()` combines multiple GDS files with the same samples

    o export methods for compatibility with VariantAnnotation

    o a new argument '.useraw' in `seqGetFilter()`

    o a new argument 'allow.duplicate' in `seqOpen()`

    o fix a bug in `seqParallel()`
      (https://github.com/zhengxwen/SeqArray/issues/11) and optimize
      its performance

    o 'gdsfile' could be NULL in `seqParallel()`


CHANGES IN VERSION 1.9.0-1.9.19
-------------------------

    o a new function `seqGDS2SNP()`

    o supported by the SNPRelate package

    o support `seqApply(..., margin="by.sample")`

    o new functions `seqOptimize()`, `seqMissing()`, `seqAlleleFreq()`,
      `seqNumAllele()` and `seqSetFilterChrom()`

    o "intersection" and "push+intersection" in `seqSetFilter()`

    o parallel implementation in `seqNumAllele()`, `seqMissing()` and
      `seqAlleleFreq()`

    o a new function `seqExport()`

    o new argument ".useraw" in `seqApply()`

    o fix a bug for duplicated "variant.id",
      https://github.com/zhengxwen/SeqArray/issues/7

    o fix an issue of `seqVCF2GDS()` when there are duplicated format or
      info ID

    o improve access speed (+50%, benchmark on calling
      seqApply(..., FUN=function(x) {}))

    o new functions `seqSNP2GDS()`, `seqBED2GDS()`, `seqAlleleCount()` and
      `seqResetFilter()`

    o `seqCompress.Option()` is renamed to `seqStorage.Option()`

    o "ZIP_RA" is the default value in `seqStorageOption()` and other
      functions instead of "ZIP_RA.max"

    o `seqSetFilter()` becomes a S4 method


CHANGES IN VERSION 1.8.0
-------------------------

    o The version number was bumped for the Bioconductor release version 3.1


CHANGES IN VERSION 1.7.1-1.7.5
-------------------------

    o bug fix in getting genotypes if position > 2^31

    o add an option 'ignore.chr.prefix' to the function `seqVCF2GDS()`

    o `seqVCF2GDS()` ignores the INFO or FORMAT variables if they are not
      defined ahead

	o a new action 'push+set' in the function `seqSetFilter()`

    o bug fix if 'requireNamespace("SeqArray")' is called from other packages


CHANGES IN VERSION 1.6.0
-------------------------

    o The version number was bumped for the Bioconductor release version 3.0


CHANGES IN VERSION 1.5.1-1.5.2
-------------------------

    o fix a bug in `seqVCF2GDS()` when the values in the FILTER column are
      all missing

    o enhance `seqVCF.Header()`

    o support the LinkingTo mechanism

    o fix the error in haploid genotypes (Y chromosome)


CHANGES IN VERSION 1.4.0
-------------------------

    o The version number was bumped for the Bioconductor release version


CHANGES IN VERSION 1.3.1-1.3.4
-------------------------

    o update according to the new version of VariantAnnotation

    o update test codes to avoid the conflict

    o bumped version as all packages that depend on Rcpp must be rebuilt

    o modify to new biocViews to DESCRIPTION file


CHANGES IN VERSION 1.2.0
-------------------------

    o The version number was bumped for the Bioconductor release version


CHANGES IN VERSION 1.1.4-1.1.5
-------------------------

    o add a new argument "action" to the function `seqSetFilter()`

    o add a new function 'seqInfoNewVar' which allows adding new variables
      to the INFO fields

    o minor bug fix in asVCF

    o update man page "SeqVarGDSClass-class.Rd" with new methods

    o in DESCRIPTION, BiocGenerics listed in "Suggests" instead of "Imports"
      as suggested by R CMD check

    o bug fix in seqDelete

    o revise the function 'seqTranspose' according to the update of
      gdsfmt (v1.0.0)


CHANGES IN VERSION 1.1.1-1.1.3
-------------------------

    o revise the argument 'var.index' in the function `seqApply()`

    o basic supports of 'GRanges' and 'DNAStringSetList'

    o added methods 'qual', 'filt', 'asVCF'

    o 'granges' method uses length of reference allele to set width

    o minor bug fix to avoid `seqGetData()` crashing when no value returned
      from a variable-length variable

    o update documents


CHANGES IN VERSION 1.0.0
-------------------------

    o The version number was bumped for the Bioconductor release version


CHANGES IN VERSION 0.99.0
-------------------------

    o initial submission
