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 --allDiploid. 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 sample names as found in the VCF file, and 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 --allDiploid 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.

Option Description

mandatory parameter indicating the minimac3/4 VCF dosage file to be converted


the info file generated by minimac3/4 at the same time as the VCF dosage file

(This parameter is optional, but if NO info file is provided, the output MaCH info file will have missing columns.)


sets the prefix for output files (default value: Converted.Dosage)


sets the output file format (available options: plink (default) or mach)


indicates whether to import imputed values from dosages (DS: default), genotype probabilities (GP), or hard genotype calls (GT) from the input VCF file


sets the format of the converted output file:

  • If --type plink is used, --format can take values 1, 2, or 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 take values 1 or 2. Details are given in Convert to MaCH Files

sets the number of markers to import at a time (MaCH format only) (default value 10000)


indicates the delimiter character used to split VCF Sample ID into FID and IID for PLINK format (default: _)


indicates whether to assume all samples are diploid (necessary for chromosome X). If this option is active, the output PLINK .fam will NOT contain any sex information


indicates a file containing sample sex information, which requires two columns: the first column contains the sample names as found in the VCF file, and the second columns contains either M (for males) or F (for females)


indicates whether to trim alleles and variants IDs to 100 characters. Since PLINK does not allow variant IDs longer than 16,000 characters, this option can be used if variant names are too long


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