Genetic maps (linkage groups) contain tracks with markers, whose position is based on genetic linkage and is measured in 'cM' (centimorgans).

Creating genetic maps with markers is usually done in two steps (see below for the "shortcut" trick using DeriveMapListFrom):

  • create a map set with empty maps using 'add maps' command and
  • add markers with command 'add markers'.        

This section describes the procedure of adding maps.

The control INI file should have information about the new map set, its location in the map set tree, the OrganismId, the list of map names, their accession and size, as well as other house keeping information like ProcessRun, or DbSequences.

[ProcessRun]
; Run description: if specified, a custom description will be used. Will be ignored if a RunId is specified.
;                  otherwise, "Added maps for {MapSet Accession No.}." will be used.
RunDescription="Added maps for Sorghum bicolor BTx623-IS320C"

[MapSet]
; Organism ID (required): organism ID should exist.
OrganismId=4558
; Display name (required): a name shown in MapSetTree.
DisplayName="BTx623-IS320C"
; Description: please try to provide detailed description with proper credits.
Description="A set of ~10k markers, derived from 437-line recombinant inbred population of BTx623 and IS320C.
Original publication: http://www.g3journal.org/content/4/10/1963
Resolution of Genetic Map Expansion Caused by Excess Heterozygosity in Plant Recombinant Inbred Populations
Sandra K. Truong, Ryan F. McCormick, Daryl T. Morishige and John E. Mullet"
; AccessionNo: accession of the genome build. See http://ncbi.nlm.nih.gov/genome
AccessionNo="BTx623-IS320C"
; Source ID: database or institution that the MapSet/sequence originate
SourceId="Publication"
; DistanceUnit: choose 'cM' for genetic maps.
;               We suggest to add physical maps along with sequences. So use 'add sequences' instead of 'add maps'.
DistanceUnit="cM"

[MapSetTree]
;------------------------------------------------------------------------------------------------
; 1. Using existing MapSetTree node
;------------------------------------------------------------------------------------------------
; Node ID: if specified, the MapSet with the new sequences will be placed on this node.
;NodeId=12345
;------------------------------------------------------------------------------------------------
; 2. Adding new MapSetTree node to a parent node
;------------------------------------------------------------------------------------------------
; Parent node ID: if specified, the MapSet with the new sequences will be placed under this parent node as a child.
ParentNodeId=25
;------------------------------------------------------------------------------------------------
; 3. Adding new MapSetTree node under a new root node
;------------------------------------------------------------------------------------------------
; Root node name: usually an organism name. Ignored if the root name already exists.
;RootNodeName="Oryza sativa test"
; Root node order number: order of the root node in the MapSetTree. By default, 0.
;RootNodeOrderNo=0

[Maps]
; Number format culture: specifies a culture name used to parse numbers in data. Default value is en - English.
;                        e.g. de - German, es - Spanish, fr - French. For more cultures, https://msdn.microsoft.com/en-us/goglobal/bb896001.aspx
;NumberFormatCulture="fr"
; Lists all the chromosomes, scaffolds or linkage groups.
;MapName=Accession,Start,End
; DeviveMapListFrom: if present, the map names and sizes will be derived from the file with marker mappings. The map start and end positions will
; correspond to lowest and highest coordinates of markers for each map
;DeriveMapListFrom=o:\Marker\smallweb\wheat_genetic_CS_Renan.ini
1=1,0,177.79
2=2,0,190.52
3=3,0,170.08
4=4,0,153.02
5=5,0,118.58
6=6,0,128.59
7=7,0,127.91
8=8,0,106.65
9=9,0,119.19
10=10,0,126.86

[DbSequences]
; The ID columns below are used in loading maps.
; Oracle: If there is no sequence/trigger assigned to these columns, you must specify a sequence for them.
;PROCESS_RUN.RUN_ID=ID_SEQ
;MAP_SET.MAP_SET_ID=ID_SEQ
;MAP_SET_TREE.ID=ID_SEQ
;MK_MAP.MAP_ID=ID_SEQ

You can instruct PersephoneShell to derive the list of maps from the file with marker mapping. The map names and sizes will be extracted from the marker file referenced in another control file, used for loading the markers. The map start and end positions will correspond to the lowest and highest coordinates of the markers on each map. To enable this, replace the explicit list of maps in [Maps] section with DeriveMapListFrom record:

[Maps]
DeriveMapListFrom=o:\Marker\smallweb\wheat_genetic_CS_Renan.ini

Test the files:

PS> add map -c maps.ini -t

and then run the loading process for real:

PS> add map -c maps.ini -v

Please see the sample files in Samples\Map folder.