The GM_Segment table stores the individual shared DNA segments between two GEDmatch kits. Each row is one matching segment on one chromosome, with its start and end positions, length in centimorgans, and SNP count. These segments are the detail that adds up to the totals on GM_Match and feed the chromosome browser.
kita is your (primary) kit and kitb is the match kit. Segments are stored bidirectionally: for every segment, the gather code writes two rows — one with kita = your kit, kitb = the match, and a second with the roles reversed. This lets queries find a segment from either kit’s perspective. Inserts are de-duplicated on the combination of kita, kitb, chromosome, and p1.
Segments are written from the segment-search results and from AutoSegment / cluster nodes that carry embedded segment data. Each source provides chromosome, start and end positions, cM, and SNP count; both directions are inserted.
| Column | Type | Description |
|---|---|---|
| Id | int (PK) | Auto-incrementing primary key |
| kita | string | Your (primary) kit number. References GM_Kit.kit_num. |
| kitb | string | The match kit number. References GM_Kit.kit_num. |
| chromosome | int | Chromosome number the segment is on. |
| cm | decimal | Length of the shared segment, in centimorgans. |
| p1 | int | Segment start position (base-pair position on the chromosome). |
| p2 | int | Segment end position (base-pair position on the chromosome). |
| snps | int | Number of SNPs in the matching segment. |
| created_date | string | When the segment record was created. |
shared / largest totals these segments make up.kita / kitb to people.