Difference between revisions of "Addon:DNASegmentMapGramplet"

From Gramps
Jump to: navigation, search
m (minor cleanup and linking)
(44 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{languages|Addon:DNAgramplet}}
+
{{languages|Addon:DNASegmentMapGramplet}}
 
{{Third-party plugin}}
 
{{Third-party plugin}}
[[File:Addon-DNA-SegmentMap-with-Tooltip.jpg|thumb|450px|right|Example DNA Gramplet]]
+
[[File:Addon-DNA-SegmentMap-with-Tooltip.png|thumb|450px|right|[[Gramps_{{man version}}_Wiki_Manual_-_Gramplets#The_split-screen_Sidebar_.26_Bottombar|Undocked]] {{man label|DNA Segment Map Gramplet}} with the HighContrast [[Addon:Themes|theme]]]]
The {{man label|DNA Gramplet}} shows a DNA segment map as a graph.
+
The {{man label|DNA Segment Map Gramplet}} shows a graph.
  
 
=Usage=
 
=Usage=
  
You can install the {{man label|DNA Gramplet}} on the bottombar of one of the people category list views.
+
You can install the {{man label|DNA Segment Map Gramplet}} on the bottombar of one of the people or relationship category list views.
  
 
==Create a DNA Association==
 
==Create a DNA Association==
 
To specify shared DNA segments between 2 people,  
 
To specify shared DNA segments between 2 people,  
 
* Create an Association for one person (Person A) with another Person (Person B) of the type DNA.
 
* Create an Association for one person (Person A) with another Person (Person B) of the type DNA.
* Create a Note in the Association of Type: "Association Note" with the shared DNA segment data.
+
* Create a Note in the Association or attached to a Citation in the Association with the shared DNA segment data.
** The format of the Note is a comma separated list in the order: <code>Chromosome Number, Start Segment, End Segment, flag for maternal/paternal side, shared length in cMs</code>.
+
** The format of the Note is a comma separated list or a tab separated list in the order: <code>[https://wikipedia.org/wiki/Chromosome#Human_chromosomes Chromosome Number], Start Segment, End Segment, shared length in [[Genealogy_Glossary#centimorgan|centiMorgans]] (cMs), [https://wikipedia.org/wiki/Single-nucleotide_polymorphism SNP] (optional)</code>.
 +
** e.g.: <code>3,56950055,64247327,10.9,1404</code> Which means; Chromosome Number: 3, Start Segment: 56950055, End Segment: 64247327, shared length in cMs: 10.9, matching SNPs: 1404</code>
 +
** Valid entries for each are:
  
{| {| {{prettytable}}
+
;Chromosome Number: number between 1-22 or X
!Flag for maternal/paternal side
+
 
!Description
+
;Start Segment: The starting number for the segment location.
|-
+
 
|M
+
;End Segment: The ending number for the segment location.
|Maternal side
+
 
|-
+
;Shared length in cMs: The Genetic Distance (otherwise known as the number of centiMorgans) in the segment.
|P
+
 
|Paternal side
+
;SNP: optional field of the matching SNPs (Single Nucleotide Polymorphism) in the segment.
|-
 
|U
 
|Unknown side
 
|}
 
  
 
{{-}}
 
{{-}}
 +
===Getting the chromosome data ===
 +
Sites like [https://www.gedmatch.com/login1.php GEDmatch] make this shared chromosome data available. Direct copy from the GEDmatch results page (with header and tab separators) will work. There can be additional Associations between Person A and Person C (et cetera) as known.
 +
 +
[https://dnapainter.com/help/matchdata DNApainter] provides a description of how to get the chromosome data from many of the common sites.
 +
 +
===Legend===
 +
[[File:Addon-DNA-SegmentMap-legend.png|thumb|338px|right|[ {{man label|Legend with rollover tooltip]]
 +
* For each Chromosome: the top portion is the Paternal side and the bottom portion is the Maternal side.
 +
* The chromosome segment side (Paternal or Maternal) is determined from the Most Recent Common Ancestor. If there is no common ancestor, both sides are used.
 +
* Hovering the cursor over a painted chromosome segment will show a tooltip with the name of the associated person, ID, length in cMs (centiMorgans) of the shared segment, and matching SNPs of the segment if provided.
 +
* The color code for each associated person in the DNA segment map is consistent but not user-specified. The first Association will always be the same color.
 +
 +
===Navigation===
 +
* The Legend on the right side lists each associated person who has a mapped segment. Hovering over the legend items will show a tooltip for possible action. Primary button click will change the active person. Secondary button click will open the Person Editor for the associated person.
  
Sites like [https://www.gedmatch.com/login1.php GEDmatch] make this shared chromosome data available. There can be additional Associations between Person A and Person C et cetera as known.
 
 
===DNA Example data===
 
===DNA Example data===
To reproduce the illustration with the [[Example.gramps]] dataset, create two Associations of type DNA for Luther Robinson(I0656).
+
To reproduce the illustration with the [[Example.gramps]] dataset, create two records in the Associations tab in the Person Editor for Luther Robinson(I0656).
 +
 
 +
The first record is DNA type, adding an association with Robert F. Garner (I1123).<br />
 +
The Note under this association contains the following text:
 +
 
 +
Chromosome,Start Location,End Location,Centimorgans,Matching SNPs,Name,Match Name
 +
3,56950055,64247327,10.9,375,Luther Robinson, Robert F. Garner
 +
11,25878681,35508918,9.9,396
 +
12,129481599,133491098,12.4,304
 +
15,35444614,64710827,33.3,1212
 +
1,48053426,68837810,24.6,3413
 +
1,72956037,87857969,13.4,2035
 +
3,69656569,74563488,9.0,974
 +
6,6179882,15400114,18.5,1994 
  
The first is DNA Association for Robert F. Garner (I1123).
 
  
3,56950055,64247327,M,10.9
+
The second record is also DNA type, adding an association with Maude Garner (I0651).<br />
9,23087926,31116823,M,10.2
+
The Note under this association contains the following text:
9,74923489,107731789,M,40.0
 
11,25878681,35508918,M,9.9
 
12,129481599,133491098,M,12.4
 
15,35444614,64710827,M,33.3
 
1,48053426,68837810,M,24.6
 
1,72956037,87857969,M,13.4
 
3,69656569,74563488,M,9.0
 
6,6179882,15400114,M,18.5
 
  
The second is for the DNA Association of Maude Garner (I0651).
+
1,30578594,38686908,11.2,334
 +
1,236520701,249210707,29.7,685
 +
3,14446545,24339734,12.3,458
 +
3,128688499,140766208,11.4,447
 +
4,76585823,114118650,33.7,1317
 +
4,163973796,190915650,49.1,1422
 +
6,4737179,9181572,10.3,279
 +
6,39128976,49586285,15.8,510
 +
6,150564916,156389148,10.2,415
 +
7,18915133,37547290,25.8,1038
 +
7,93557588,116296896,20.2,821
 +
7,141636563,156148608,30.9,787
 +
8,2808265,6919748,10.7,436
 +
8,12568161,42652859,38.7,1556
 +
8,49039681,71454529,20.3,742
 +
8,71990280,99554231,21.9,917
 +
9,78958599,122204804,55.7,2014
 +
10,5608202,10769007,10.4,333
 +
10,19365648,38434090,19.6,775
 +
11,26722523,37020611,11.8,447
 +
12,66412457,94422155,24.4,1035
 +
13,19234747,23899627,8.7,270
 +
13,74422984,91183468,14.2,506
 +
14,23902753,33048583,15.5,392
 +
14,88816167,106020366,37.8,947
 +
15,23727655,27246462,8.2,229
 +
16,22836249,32137965,12.6,413
 +
16,46644903,54620503,11.7,360
 +
17,13905,6613192,18.9,419
 +
17,25567080,44187492,19.7,694
 +
17,44790203,72115774,39.7,1223
 +
18,18714991,47726830,27.9,1071
 +
18,69454453,77894844,23.5,481
 +
19,1993444,11174625,28.1,567
 +
19,54545531,59087479,12.7,335
 +
20,9879166,26225145,24.3,788
 +
20,30221104,43975451,13.5,489
 +
21,14670124,18743733,10.8,201
  
1,30578594,38686908,M,11.2
+
{{man tip|DNA match row data must be in a specific CSV order|The data may include a header but the Gramplet does not require one. Headers are to make the rows more readable by humans. The rows do not need to be sequentially ordered by the chromosome identifier (1 to 22 and X).}}
1,236520701,249210707,M,29.7
 
3,14446545,24339734,M,12.3
 
3,128688499,140766208,M,11.4
 
4,76585823,114118650,M,33.7
 
4,163973796,190915650,M,49.1
 
6,4737179,9181572,M,10.3
 
6,39128976,49586285,M,15.8
 
6,150564916,156389148,M,10.2
 
7,18915133,37547290,M,25.8
 
7,93557588,116296896,M,20.2
 
7,141636563,156148608,M,30.9
 
8,2808265,6919748,M,10.7
 
8,12568161,42652859,M,38.7
 
8,49039681,71454529,M,20.3
 
8,71990280,99554231,M,21.9
 
9,78958599,122204804,M,55.7
 
10,5608202,10769007,M,10.4
 
10,19365648,38434090,M,19.6
 
11,26722523,37020611,M,11.8
 
12,66412457,94422155,M,24.4
 
13,19234747,23899627,M,8.7
 
13,74422984,91183468,M,14.2
 
14,23902753,33048583,M,15.5
 
14,88816167,106020366,M,37.8
 
15,23727655,27246462,M,8.2
 
16,22836249,32137965,M,12.6
 
16,46644903,54620503,M,11.7
 
17,13905,6613192,M,18.9
 
17,25567080,44187492,M,19.7
 
17,44790203,72115774,M,39.7
 
18,18714991,47726830,M,27.9
 
18,69454453,77894844,M,23.5
 
19,1993444,11174625,M,28.1
 
19,54545531,59087479,M,12.7
 
20,9879166,26225145,M,24.3
 
20,30221104,43975451,M,13.5
 
21,14670124,18743733,M,10.8
 
  
 +
[[File:Addon-DNA-GEDmatch.png|thumb|600px|right]]
 +
Sample GEDmatch output (see screenshot) that can be cut and paste into the Note. The fields are the same - Chromosome, Start, End, cM, and SNPs. This can be cut/paste from the GEDmatch output directly into the Note for the Association. The header line will be ignored.
 +
{{-}}
 
=== Example ===
 
=== Example ===
 
[[File:Addon-DNA-Note-Example.png|thumb|600px|right]]
 
[[File:Addon-DNA-Note-Example.png|thumb|600px|right]]
Create an Association of type DNA as described in the [[Gramps_{{man version}}_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_1#Associations|Association]] page to Person A. Add a Note with the DNA shared segment data.  
+
Create an Association of type DNA as described in the [[Gramps_{{man version}}_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_1#Associations|Association]] page to Person A. Add a Note with the DNA shared segment data. Set the Note private if you do not want the data printed in reports.
 
 
 
{{-}}
 
{{-}}
 
 
[[File:Addon-DNA-Association-Example.png|thumb|600px|right]]
 
[[File:Addon-DNA-Association-Example.png|thumb|600px|right]]
 
Save the Association.  
 
Save the Association.  
 
{{-}}
 
{{-}}
 
 
[[File:Addon-DNA-Associations-Example.png|thumb|600px|right]]
 
[[File:Addon-DNA-Associations-Example.png|thumb|600px|right]]
Add more associations as known. Each would be associated to a different person and have a different Note.
+
Add more associations as known. Each would be associated to a different person and have a different Note. Since the Associations are drawn in order, it is generally better to have them in order of closest relative to furthest relative to avoid obscuring a distant relative (smaller segment) by a close relative (larger segment). Use the up-arrow and down-arrow to change the order of the Association.
 
{{-}}
 
{{-}}
 
 
[[File:Addon-DNA-SegmentMap.png|thumb|600px|right]]
 
[[File:Addon-DNA-SegmentMap.png|thumb|600px|right]]
Add the DNA gramplet to the Person view. Select the DNA tab. The segment map will be color coded by associated person. The P side is the top portion and the M side is the bottom portion for each chromosome. If the segment side is unknown, the segment will cover both the top and bottom portions of the chromosome and be 50% transparent.  
+
Add the DNA gramplet to the Person view. Select the DNA tab. The segment map will be color coded by associated person. For each Chromosome the top portion is the P (Paternal) side and the M (Maternal) side is the bottom portion. If the chromosome segment side (Paternal or Maternal) is unknown, the segment will cover both the top and bottom portions of the chromosome and be 50% transparent.
 
{{-}}
 
{{-}}
 
+
[[File:Addon-DNA-SegmentMap-with-Tooltip.png|thumb|600px|right]]
[[File:Addon-DNA-SegmentMap-with-Tooltip.jpg|thumb|600px|right]]
 
 
Hovering the cursor over a known  segment will pop up the name of the associated person and the length (in cMs) of the shared segment.
 
Hovering the cursor over a known  segment will pop up the name of the associated person and the length (in cMs) of the shared segment.
 
{{-}}
 
{{-}}
 
 
= Issues =
 
= Issues =
 
* If the Chromosome Number is not in the range (1, 2, ..., 22, X) it is ignored.  
 
* If the Chromosome Number is not in the range (1, 2, ..., 22, X) it is ignored.  
* If there is a Most Recent Common Ancestor (MRCA), that relationship is used instead of the maternal/paternal flag. If the MRCA is thru the maternal side, then M is used independent of what is in the data file. If there are multiple paths to a common ancestor, the closest found is used.
+
* If there are multiple paths to a common ancestor, the closest found is used.
 
* To create a segment map for Person A, you need to add associations to Person A. There is no reciprocal relationship for Person B - that is, there is no segment map for Person B, only for Person A. You can execute the [[Addon:SyncAssociation]] addon to create any missing reciprocal relationships.
 
* To create a segment map for Person A, you need to add associations to Person A. There is no reciprocal relationship for Person B - that is, there is no segment map for Person B, only for Person A. You can execute the [[Addon:SyncAssociation]] addon to create any missing reciprocal relationships.
 
* Color code for each associated person in the map is consistent but not user-specified. The first Association will always be the same color.
 
* Color code for each associated person in the map is consistent but not user-specified. The first Association will always be the same color.
* Help link goes to https://gramps-project.org/wiki/index.php?title=Gramps_5.1_Wiki_Manual_-_Gramplets#DNA
+
* If there are overlapping segments within a maternal/paternal view of a chromosome, only the front (last drawn) will be pickable. If it is completely obscured, you will not be able to see the details of the hidden segment. Changing the order of Associations (using the up-arrow and down-arrow) to have the closer relatives before further relatives will fix this.
* [https://github.com/gramps-project/addons-source/tree/maintenance/gramps51/DNA Source code] - Unlisted Gramplet you need to [[5.1_Addons#Manually_installed_Addons|manually download and install]] ( include_in_listing = False ) https://github.com/gramps-project/addons/raw/master/gramps51/download/DNA.addon.tgz
 
* If there are overlapping segments within a maternal/paternal view of a chromosome, only the front (last drawn) will be pickable. If it is completely obscured, you will not be able to see the details of the hidden segment.
 
  
 
= See also =
 
= See also =
* [[Addon:SyncAssociation]] - For every Association, if there is not a reciprocal Association it is created. That is, if there is a DNA Association with a Note for A to B, then if there is not a DNA Association with B to A, it will be created with the Note.  
+
* DNA Segment Map gramplet #469 (GitHub pre-release [https://github.com/gramps-project/addons-source/pull/469 Pull 469])
* [[Gramps_{{man version}}_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_1#Associations]]
+
* [[Addon:SyncAssociation]] - For every Association, if there is not a reciprocal Association then it will be created. That is, where Person John Smith has a DNA Association (with an Association Note) to Person Jane Jones, then if Jane Jones does not have a corresponding DNA Association to John Smith, it will be created which shares the Note.  
 +
* [[Add Types to the SyncAssociation Gramplet]]
 +
* [https://gramps.discourse.group/t/updated-dna-gramplet-ready-for-review/807 Discourse forum discussion on the DNAgrample]
 +
* [[Gramps_{{man version}}_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_1#Associations|Introduction to Associations in Gramps]]
 
* [[Roles, Relationships & Associations]]
 
* [[Roles, Relationships & Associations]]
 
* [[Genetics]]
 
* [[Genetics]]
Line 127: Line 140:
 
[[Category:Plugins]]
 
[[Category:Plugins]]
 
[[Category:Addons]]
 
[[Category:Addons]]
[[Category:Developers/General]]
 

Revision as of 20:46, 21 November 2020

Gramps-notes.png

Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Unless otherwise stated on this page, you can download this addon by following these instructions.
Please note that some Addons have prerequisites that need to be installed before they can be used.
This Addon/Plugin system is controlled by the Plugin Manager.

Undocked DNA Segment Map Gramplet with the HighContrast theme

The DNA Segment Map Gramplet shows a graph.

Usage

You can install the DNA Segment Map Gramplet on the bottombar of one of the people or relationship category list views.

Create a DNA Association

To specify shared DNA segments between 2 people,

  • Create an Association for one person (Person A) with another Person (Person B) of the type DNA.
  • Create a Note in the Association or attached to a Citation in the Association with the shared DNA segment data.
    • The format of the Note is a comma separated list or a tab separated list in the order: Chromosome Number, Start Segment, End Segment, shared length in centiMorgans (cMs), SNP (optional).
    • e.g.: 3,56950055,64247327,10.9,1404 Which means; Chromosome Number: 3, Start Segment: 56950055, End Segment: 64247327, shared length in cMs: 10.9, matching SNPs: 1404
    • Valid entries for each are:
Chromosome Number
number between 1-22 or X
Start Segment
The starting number for the segment location.
End Segment
The ending number for the segment location.
Shared length in cMs
The Genetic Distance (otherwise known as the number of centiMorgans) in the segment.
SNP
optional field of the matching SNPs (Single Nucleotide Polymorphism) in the segment.


Getting the chromosome data

Sites like GEDmatch make this shared chromosome data available. Direct copy from the GEDmatch results page (with header and tab separators) will work. There can be additional Associations between Person A and Person C (et cetera) as known.

DNApainter provides a description of how to get the chromosome data from many of the common sites.

Legend

Legend with rollover tooltip
  • For each Chromosome: the top portion is the Paternal side and the bottom portion is the Maternal side.
  • The chromosome segment side (Paternal or Maternal) is determined from the Most Recent Common Ancestor. If there is no common ancestor, both sides are used.
  • Hovering the cursor over a painted chromosome segment will show a tooltip with the name of the associated person, ID, length in cMs (centiMorgans) of the shared segment, and matching SNPs of the segment if provided.
  • The color code for each associated person in the DNA segment map is consistent but not user-specified. The first Association will always be the same color.

Navigation

  • The Legend on the right side lists each associated person who has a mapped segment. Hovering over the legend items will show a tooltip for possible action. Primary button click will change the active person. Secondary button click will open the Person Editor for the associated person.

DNA Example data

To reproduce the illustration with the Example.gramps dataset, create two records in the Associations tab in the Person Editor for Luther Robinson(I0656).

The first record is DNA type, adding an association with Robert F. Garner (I1123).
The Note under this association contains the following text:

Chromosome,Start Location,End Location,Centimorgans,Matching SNPs,Name,Match Name
3,56950055,64247327,10.9,375,Luther Robinson, Robert F. Garner
11,25878681,35508918,9.9,396
12,129481599,133491098,12.4,304
15,35444614,64710827,33.3,1212
1,48053426,68837810,24.6,3413
1,72956037,87857969,13.4,2035
3,69656569,74563488,9.0,974
6,6179882,15400114,18.5,1994  


The second record is also DNA type, adding an association with Maude Garner (I0651).
The Note under this association contains the following text:

1,30578594,38686908,11.2,334
1,236520701,249210707,29.7,685
3,14446545,24339734,12.3,458
3,128688499,140766208,11.4,447
4,76585823,114118650,33.7,1317
4,163973796,190915650,49.1,1422
6,4737179,9181572,10.3,279
6,39128976,49586285,15.8,510
6,150564916,156389148,10.2,415
7,18915133,37547290,25.8,1038
7,93557588,116296896,20.2,821
7,141636563,156148608,30.9,787
8,2808265,6919748,10.7,436
8,12568161,42652859,38.7,1556
8,49039681,71454529,20.3,742
8,71990280,99554231,21.9,917
9,78958599,122204804,55.7,2014
10,5608202,10769007,10.4,333
10,19365648,38434090,19.6,775
11,26722523,37020611,11.8,447
12,66412457,94422155,24.4,1035
13,19234747,23899627,8.7,270
13,74422984,91183468,14.2,506
14,23902753,33048583,15.5,392
14,88816167,106020366,37.8,947
15,23727655,27246462,8.2,229
16,22836249,32137965,12.6,413
16,46644903,54620503,11.7,360
17,13905,6613192,18.9,419
17,25567080,44187492,19.7,694
17,44790203,72115774,39.7,1223
18,18714991,47726830,27.9,1071
18,69454453,77894844,23.5,481
19,1993444,11174625,28.1,567
19,54545531,59087479,12.7,335
20,9879166,26225145,24.3,788
20,30221104,43975451,13.5,489
21,14670124,18743733,10.8,201
Tango-Dialog-information.png
DNA match row data must be in a specific CSV order

The data may include a header but the Gramplet does not require one. Headers are to make the rows more readable by humans. The rows do not need to be sequentially ordered by the chromosome identifier (1 to 22 and X).


Addon-DNA-GEDmatch.png

Sample GEDmatch output (see screenshot) that can be cut and paste into the Note. The fields are the same - Chromosome, Start, End, cM, and SNPs. This can be cut/paste from the GEDmatch output directly into the Note for the Association. The header line will be ignored.

Example

Addon-DNA-Note-Example.png

Create an Association of type DNA as described in the Association page to Person A. Add a Note with the DNA shared segment data. Set the Note private if you do not want the data printed in reports.

Addon-DNA-Association-Example.png

Save the Association.

Addon-DNA-Associations-Example.png

Add more associations as known. Each would be associated to a different person and have a different Note. Since the Associations are drawn in order, it is generally better to have them in order of closest relative to furthest relative to avoid obscuring a distant relative (smaller segment) by a close relative (larger segment). Use the up-arrow and down-arrow to change the order of the Association.

Addon-DNA-SegmentMap.png

Add the DNA gramplet to the Person view. Select the DNA tab. The segment map will be color coded by associated person. For each Chromosome the top portion is the P (Paternal) side and the M (Maternal) side is the bottom portion. If the chromosome segment side (Paternal or Maternal) is unknown, the segment will cover both the top and bottom portions of the chromosome and be 50% transparent.

Addon-DNA-SegmentMap-with-Tooltip.png

Hovering the cursor over a known segment will pop up the name of the associated person and the length (in cMs) of the shared segment.

Issues

  • If the Chromosome Number is not in the range (1, 2, ..., 22, X) it is ignored.
  • If there are multiple paths to a common ancestor, the closest found is used.
  • To create a segment map for Person A, you need to add associations to Person A. There is no reciprocal relationship for Person B - that is, there is no segment map for Person B, only for Person A. You can execute the Addon:SyncAssociation addon to create any missing reciprocal relationships.
  • Color code for each associated person in the map is consistent but not user-specified. The first Association will always be the same color.
  • If there are overlapping segments within a maternal/paternal view of a chromosome, only the front (last drawn) will be pickable. If it is completely obscured, you will not be able to see the details of the hidden segment. Changing the order of Associations (using the up-arrow and down-arrow) to have the closer relatives before further relatives will fix this.

See also