Building genetic maps can be challenging and sometimes quite stressful, especially, when dealing with thousands or even millions of markers. In this post, I am hoping to help anyone who would like to get started to build a decent genetic map in an open software Lep-MAP3 , and finally, the evaluating the accuarcy of the map and plotting it.

The steps invloved in the genetic mapping process in Lep-MAP3 are shown in the flow chart below.

Running Lep-MAP3

Step 1.1. Installation and File Preparation

Important - Correctly install the Lep-MAP3 software on your computer, and please make sure you have the latest version of the software. There are two files that are needed as an input

  • (1) genotype file in a VCF format, and
  • (2) pedigree file in .txt format. A snippet of the pedigree file showing relationship between all individuals in a family or population is shown below. It is important that the pedigree file is formatted exactly as shown in the below figure:
  • Step 1.2. Parent Call

    The parental genotypes are called using the ParentCall2 module, using the below command:

    $ java -cp /path/Lep-MAP3/bin ParentCall2 data = pedigree.txt  vcfFile = File.vcf >

    Step 1.3. Filtering

    One may use the Filtering2 module to remove non-informative markers (Markers that are monomorphic or homozygous in both parents), and similarly, to remove distorted markers the below command line can be used to run the module:

     $ java -cp /path/Lep-MAP3/bin Filtering2  removeNonInformative=1 dataTolerance=0.001  >

    Note: Use: removeNonInformative parameter to remove markers that are homozygous in both parent and dataTolerance to remove distorted markers at given p-value threshold.

    Step 1.4. Separate Chromosomes

    In this step, SeparateChromosomes2 module is used to categorized markers into their linkage groups or chromosomes using the below command:

    $ java -cp /path/Lep-MAP3/bin  SeparateChromosomes2 lodLimit=10 > map.txt

    Step 1.5. Order Markers

    In this step, markers separated into their corresponding linkage groups are ordered using OrderMarkers2 module using the below command:

    $ java -cp /path/Lep-MAP3/bin  OrderMarkers2 map=map.txt > order.txt

    One may use the parameter sexAveraged to calculate sex-averaged map distances ( by default male and female genetic maps are curated separately), also numMergeIterations paramteres are used to adjust number of iterations (by deafault its is 6 iterations per linkage group).

    2.0 Checking the accuracy of the marker order

    If the physical positons of the markers in the genetic map curation are known, then, it is a good thing to use that information to evaluate the markers order especially markers that inflat the chromosome length, by making a correlation plot of the genetic and physical positions of the markers by chromosome. Note: It is quite common to see that the marker orders are flipped. There is nothing to panic about, one may fix it by manually sorting it.

    3.0 Converting phased output data from OrderMarkers2 to genotypes

    The phased data from OrderMarkers2 step can be converted to fully informative “genotype” data by using map2gentypes.awk script and command below:

    	$ awk -vfullData=1 -f map2genotypes.awk order.txt > genotypes.txt

    Snippet of the map2gentypes.awk output:

    One may convert the genotypes in 1 1 => A, 2 2 => B, 1 2 or 2 1 => H format (See below figure) in MS Excel using find/Replace function, which can be then loaded in R/Qtl for QTL mapping.

    4.0 Validate the genetic map by conducting QTL analysis on well studied phenotype

    5.0 Graphical presentation of linkage maps in Mapchart

    Software Mapchart can be downloaded from below link.

    Thank you for reading this tutorial. I really hope these steps will get you started in genetic map construction in Lep-MAP3. The key is to PRACTISE. .

    If you have any comments or suggestions, please let comment below or send me an email.

    Happy mapping !


    Rastas, Pasi. “Lep-MAP3: robust linkage mapping even for low-coverage whole genome sequencing data.” Bioinformatics 33.23 (2017): 3726-3732.