From Genome Analysis Wiki
Jump to navigationJump to search
  • Download/Re-Clone Release Version 1.0.4 (Updated July 2017) !


DosageConvertor is a C++ tool to convert dosage files (in VCF format) from Minimac3/4 to other formats such as MaCH or PLINK.


VERSION: 1.0.4 (Updated 7.12.2017) !

[NOTE: Cloning from GitHub is recommened so that updates can be easily pulled back]

Description Download Link
Github Repository

DosageConvertor - Github

Source Files

UNIX Users

Binary Executable

(Ubuntu 4.8.4)

UNIX Users

Binary executables are NOT guaranteed to run on every LINUX machine. Please compile from source files if you have trouble with the executable, or clone from the github repository. Else contact the author Sayantan Das.


Users should follow the following steps to compile DosageConvertor (if they downloaded the source files).

tar -xzvf DosageConvertor.v1.0.3.tar.gz
cd DosageConvertor/


Convert to PLINK Files

The following command will convert a input VCF dosage file to a PLINK dosage file, which can be used for downstream analysis using PLINK1.9 or PLINK2.0.

./DosageConvertor         --vcfDose      TestDataImputedVCF.dose.vcf.gz
                          --info          (optional)
                          --prefix       OutPrefix
                          --type         plink                            (default)
                          --format       1                                (or 2,3)

This command will create three files : OutPrefix.plink.dosage.gz, OutPrefix.fam, The .fam and .map formats are described here. The --format parameter can take values 1, 2 and 3. Each of these values correspond to the three different formats available for PLINK dosage files (details on PLINK dosage files are given here). Note that the generated does NOT contain any phenotype information (which will need to be manually edited before PLINK can perform association tests). The OutPrefix.fam will NOT contain sex information unless chromosome X is available. See Converting Chromosome X Files for details.

Convert to MaCH Files

The following command will convert an input VCF dosage file to a MaCH/minimac dosage file (the format for previous versions of minimac). The generated dosage files can be tested for association using mach2dat.

./DosageConvertor         --vcfDose      TestDataImputedVCF.dose.vcf.gz
                          --info         (optional)
                          --prefix       OutPrefix
                          --type         mach
                          --format       1                               (or 2)

When --type mach is used, the --format parameter can only take values 1 and 2.

  • If the value is 1, the code generates OutPrefix.mach.dose.gz and, where OutPrefix.mach.dose.gz contains the expected alternate allele count (one value per sample per marker).
  • If the value is 2, it generates OutPrefix.mach.gprob.gz and, where OutPrefix.mach.gprob.gz contains the genotype likelihoods for reference homozygote and heterozygote (two values per sample per marker).

Note that inputting the info file using --info is optional. However, if this info file is NOT provided, the output file will have some empty columns. Thus, if available, the generated info file should be provided along with the VCF file as input.

Converting Chromosome X Files

For a minimac3/4 output file containing the pseudo-autosomal region (PAR) on chromosome X, no extra parameter is necessary. For files containing the non-PAR region, please ensure the following:

  • If your input VCF dosage file has males as diploids, then just add handle --samePloidy. This will NOT generate sex information in the output PLINK .fam file.
    • If you still need the sex column in .fam file to be correctly updated, then supply a sex file using --sexFile SomeFile where SomeFile has two columns: the first column has the names of samples as found in the VCF file, the second columns has M (for males) or F (for females).
  • If your input VCF dosage file has males as haploids and also has GT information, the tool with automatically determine the sex of the samples and report them in the output .fam file. No extra parameters are required.
    • If GT tags are NOT available, you would need to supply the sex file as described above. Otherwise it will throw an error.
    • NOTE: If your VCF file has males as haploids, do NOT use --samePloidy as the code would NOT throw any error, but the output results would be erroneous.

Command Line Options

The command options for DosageConvertor are explained below.

  • --vcfDose is a mandatory parameter requiring the input VCF dosage file from minimac3/4.
  • --info denotes the info file from the same imputation output. This parameter is optional, but if NO info file is provided, the output MaCH info file will have some missing columns.
  • --prefix denotes the output file prefix (default value: Converted.Dosage).
  • --type denotes the output file format (available handles: plink (default) and mach).
  • --tag decides whether to import imputed values from dosage (DS: default), or genotype probabilities (GP), or hard call genotypes (GT) of the input VCF file.
  • --format decides the format of the output file. If --type mach is used, --format can take values 1, 2 and 3. Each of these values correspond to the three different formats available for PLINK dosage files (details given here). If --type mach is used, --format can only take values 1 and 2. Details are given in #Convert to MaCH Files
  • --buffer denotes the number of markers to import at a time (valid only for MaCH format) (default value 10000).
  • --idDelimiter denotes the delimiter to Split VCF Sample ID into FID and IID for PLINK format (default value _).
Usage: ./DosageConvertor  --vcfDose      TestDataImputedVCF.dose.vcf.gz
                          --prefix       OutputFilePrefix
                          --type         plink OR mach   // depending on output format
                          --format       DS or GP        // based on if you want to output
                                                         // dosage (DS) or genotype prob (GP)
                          --buffer       10000           // Number of Markers to import and
                                                         // print at a time (valid only for
                                                         // MaCH format)
                          --idDelimiter  _               // Delimiter to Split VCF Sample ID into
                                                         // FID and IID for PLINK format


In case of any queries and bugs please contact Sayantan Das.