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, 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 its the latest version. 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 > p.call ### 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 (markers segregating in a non-Mendelian fashion) using the below command line:$ java -cp /path/Lep-MAP3/bin Filtering2 data=p.call  removeNonInformative=1 dataTolerance=0.001  > p_fil.call

Note: Use: the parameter removeNonInformative to remove markers that are homozygous/monomorphic, and dataTolerance to remove distorted markers at given p-value threshold.

### Step 1.4. Separate Chromosomes

In this step, SeparateChromosomes2 module is used to categorize markers into linkage groups (LGs) using the below command:

$java -cp /path/Lep-MAP3/bin SeparateChromosomes2 data=p_fil.call lodLimit=10 > map.txt Note: Use the parameter lodLimit to split the linkage groups. ### 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 data=p_fil.call 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, one may use that information to evaluate the quality of marker order, especially markers that inflate the chromosome length, by making a correlation plot of the genetic and physical positions of the markers by individual chromosomes or linkage groups. 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.