The FTDNA_Chromo2 table stores the shared DNA segments reported by FTDNA’s chromosome browser. Each row is one segment shared between your kit and a match — the chromosome it falls on, its start and end positions, its length in centimorgans, and the number of SNPs it spans. A single match can produce several rows, one per shared segment.
| Column | Type | Description |
|---|---|---|
| Id | int (PK) | Auto-incrementing primary key |
| eKit1 | string | Your kit (the kit whose chromosome browser was read) |
| eKit2 | string | The match’s kit (the person you share the segment with) |
| chromosome | int | Chromosome number the segment falls on |
| cmfloat | decimal | Segment length in centimorgans (cM) |
| p1 | int | Segment start position — the base-pair coordinate where the shared segment begins on the chromosome |
| p2 | int | Segment end position — the base-pair coordinate where the shared segment ends on the chromosome |
| snpsI | int | Number of SNPs spanned by the segment |
| created_date | string | Date the row was gathered (yyyy-MM-dd) |
| GF_Sync | string | Sync status flag |
p1 is where the shared segment starts and p2 is where it ends. The distance between them describes the physical span of the segment, while cmfloat gives its genetic length in centimorgans.During an FTDNA gather, for each match that needs chromosome data the application calls FTDNA’s chromosome browser segment service for that match pair. FTDNA returns a list of shared segments, and the gatherer creates one FTDNA_Chromo2 row per segment: eKit1 is set to your kit, eKit2 to the match’s kit, and the chromosome, start position (p1), end position (p2), SNP count (snpsI), and centimorgan length (cmfloat) are filled in from the response. The created_date is stamped with the gather date.
Before inserting, the application checks for an existing row with the same eKit1, eKit2, chromosome, SNP count, and start position; if one is found, the segment is skipped, so re-gathering does not create duplicates.
eKit1/eKit2 pair.