forked from jazzido's block: Overlapping Sankey links
Created
February 18, 2018 06:20
-
-
Save bumbeishvili/be4adebea2fbedc2cbc8a44bb8e26193 to your computer and use it in GitHub Desktop.
Overlapping Sankey links
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| license: mit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "links": [ | |
| { | |
| "value": 83767891, | |
| "targetPos": 0, | |
| "sourcePos": 65343051, | |
| "target": 22, | |
| "source": 2 | |
| }, | |
| { | |
| "value": 50397553, | |
| "targetPos": 0, | |
| "sourcePos": 21699475, | |
| "target": 23, | |
| "source": 12 | |
| }, | |
| { | |
| "value": 10180767, | |
| "targetPos": 0, | |
| "sourcePos": 73587124, | |
| "target": 24, | |
| "source": 22 | |
| }, | |
| { | |
| "value": 38397183, | |
| "targetPos": 10180767, | |
| "sourcePos": 149110942, | |
| "target": 24, | |
| "source": 2 | |
| }, | |
| { | |
| "value": 54948965, | |
| "targetPos": 0, | |
| "sourcePos": 70817475, | |
| "target": 25, | |
| "source": 7 | |
| }, | |
| { | |
| "value": 64393349, | |
| "targetPos": 0, | |
| "sourcePos": 97379352, | |
| "target": 26, | |
| "source": 0 | |
| }, | |
| { | |
| "value": 51520135, | |
| "targetPos": 0, | |
| "sourcePos": 12873214, | |
| "target": 27, | |
| "source": 26 | |
| }, | |
| { | |
| "value": 5627544, | |
| "targetPos": 51520135, | |
| "sourcePos": 161772701, | |
| "target": 27, | |
| "source": 0 | |
| }, | |
| { | |
| "value": 33432701, | |
| "targetPos": 11960215, | |
| "sourcePos": 0, | |
| "target": 28, | |
| "source": 25 | |
| }, | |
| { | |
| "value": 11960215, | |
| "targetPos": 0, | |
| "sourcePos": 58857260, | |
| "target": 28, | |
| "source": 7 | |
| }, | |
| { | |
| "value": 29149636, | |
| "targetPos": 0, | |
| "sourcePos": 40786479, | |
| "target": 29, | |
| "source": 16 | |
| }, | |
| { | |
| "value": 54089586, | |
| "targetPos": 0, | |
| "sourcePos": 70643537, | |
| "target": 30, | |
| "source": 5 | |
| }, | |
| { | |
| "value": 24646738, | |
| "targetPos": 0, | |
| "sourcePos": 45937043, | |
| "target": 31, | |
| "source": 17 | |
| }, | |
| { | |
| "value": 34892439, | |
| "targetPos": 0, | |
| "sourcePos": 191739472, | |
| "target": 32, | |
| "source": 1 | |
| }, | |
| { | |
| "value": 30693003, | |
| "targetPos": 0, | |
| "sourcePos": 13715365, | |
| "target": 33, | |
| "source": 10 | |
| }, | |
| { | |
| "value": 51522402, | |
| "targetPos": 4999349, | |
| "sourcePos": 0, | |
| "target": 34, | |
| "source": 27 | |
| }, | |
| { | |
| "value": 44234014, | |
| "targetPos": 0, | |
| "sourcePos": 34091451, | |
| "target": 35, | |
| "source": 3 | |
| }, | |
| { | |
| "value": 26267854, | |
| "targetPos": 0, | |
| "sourcePos": 19125062, | |
| "target": 36, | |
| "source": 28 | |
| }, | |
| { | |
| "value": 19445809, | |
| "targetPos": 26267854, | |
| "sourcePos": 33432701, | |
| "target": 36, | |
| "source": 25 | |
| }, | |
| { | |
| "value": 18976407, | |
| "targetPos": 0, | |
| "sourcePos": 81632477, | |
| "target": 37, | |
| "source": 13 | |
| }, | |
| { | |
| "value": 20135541, | |
| "targetPos": 0, | |
| "sourcePos": 220627629, | |
| "target": 38, | |
| "source": 0 | |
| }, | |
| { | |
| "value": 36928073, | |
| "targetPos": 0, | |
| "sourcePos": 12834157, | |
| "target": 39, | |
| "source": 11 | |
| }, | |
| { | |
| "value": 46219041, | |
| "targetPos": 0, | |
| "sourcePos": 10302710, | |
| "target": 40, | |
| "source": 34 | |
| }, | |
| { | |
| "value": 5442797, | |
| "targetPos": 46219041, | |
| "sourcePos": 51522402, | |
| "target": 40, | |
| "source": 27 | |
| }, | |
| { | |
| "value": 23238405, | |
| "targetPos": 0, | |
| "sourcePos": 5598291, | |
| "target": 41, | |
| "source": 23 | |
| }, | |
| { | |
| "value": 30259990, | |
| "targetPos": 0, | |
| "sourcePos": 92831231, | |
| "target": 42, | |
| "source": 8 | |
| }, | |
| { | |
| "value": 21813706, | |
| "targetPos": 0, | |
| "sourcePos": 1424699, | |
| "target": 43, | |
| "source": 41 | |
| }, | |
| { | |
| "value": 8289617, | |
| "targetPos": 21813706, | |
| "sourcePos": 28836696, | |
| "target": 43, | |
| "source": 23 | |
| }, | |
| { | |
| "value": 11063627, | |
| "targetPos": 0, | |
| "sourcePos": 15434720, | |
| "target": 44, | |
| "source": 21 | |
| }, | |
| { | |
| "value": 40618173, | |
| "targetPos": 18903193, | |
| "sourcePos": 0, | |
| "target": 45, | |
| "source": 40 | |
| }, | |
| { | |
| "value": 10302710, | |
| "targetPos": 8600483, | |
| "sourcePos": 0, | |
| "target": 45, | |
| "source": 34 | |
| }, | |
| { | |
| "value": 7873865, | |
| "targetPos": 726618, | |
| "sourcePos": 0, | |
| "target": 45, | |
| "source": 26 | |
| }, | |
| { | |
| "value": 42325872, | |
| "targetPos": 0, | |
| "sourcePos": 21550846, | |
| "target": 46, | |
| "source": 9 | |
| }, | |
| { | |
| "value": 35836583, | |
| "targetPos": 0, | |
| "sourcePos": 73590100, | |
| "target": 47, | |
| "source": 4 | |
| }, | |
| { | |
| "value": 24906062, | |
| "targetPos": 0, | |
| "sourcePos": 368704, | |
| "target": 48, | |
| "source": 33 | |
| }, | |
| { | |
| "value": 8936673, | |
| "targetPos": 6833788, | |
| "sourcePos": 0, | |
| "target": 49, | |
| "source": 43 | |
| }, | |
| { | |
| "value": 6833788, | |
| "targetPos": 0, | |
| "sourcePos": 189202, | |
| "target": 49, | |
| "source": 23 | |
| }, | |
| { | |
| "value": 10834903, | |
| "targetPos": 0, | |
| "sourcePos": 344857, | |
| "target": 50, | |
| "source": 16 | |
| }, | |
| { | |
| "value": 14951357, | |
| "targetPos": 0, | |
| "sourcePos": 13523286, | |
| "target": 51, | |
| "source": 20 | |
| }, | |
| { | |
| "value": 25076927, | |
| "targetPos": 0, | |
| "sourcePos": 10966346, | |
| "target": 52, | |
| "source": 2 | |
| }, | |
| { | |
| "value": 26297074, | |
| "targetPos": 0, | |
| "sourcePos": 31505941, | |
| "target": 53, | |
| "source": 14 | |
| }, | |
| { | |
| "value": 23051217, | |
| "targetPos": 0, | |
| "sourcePos": 133913222, | |
| "target": 54, | |
| "source": 5 | |
| }, | |
| { | |
| "value": 10765813, | |
| "targetPos": 13123740, | |
| "sourcePos": 0, | |
| "target": 55, | |
| "source": 37 | |
| }, | |
| { | |
| "value": 13123740, | |
| "targetPos": 0, | |
| "sourcePos": 68508737, | |
| "target": 55, | |
| "source": 13 | |
| }, | |
| { | |
| "value": 14138122, | |
| "targetPos": 0, | |
| "sourcePos": 118431145, | |
| "target": 56, | |
| "source": 10 | |
| }, | |
| { | |
| "value": 35172669, | |
| "targetPos": 0, | |
| "sourcePos": 74836081, | |
| "target": 57, | |
| "source": 10 | |
| }, | |
| { | |
| "value": 22041970, | |
| "targetPos": 0, | |
| "sourcePos": 8061353, | |
| "target": 58, | |
| "source": 43 | |
| }, | |
| { | |
| "value": 13271240, | |
| "targetPos": 22041970, | |
| "sourcePos": 37126313, | |
| "target": 58, | |
| "source": 23 | |
| }, | |
| { | |
| "value": 24464493, | |
| "targetPos": 0, | |
| "sourcePos": 22263601, | |
| "target": 59, | |
| "source": 5 | |
| }, | |
| { | |
| "value": 11512674, | |
| "targetPos": 0, | |
| "sourcePos": 35197309, | |
| "target": 60, | |
| "source": 20 | |
| }, | |
| { | |
| "value": 14671499, | |
| "targetPos": 0, | |
| "sourcePos": 6475543, | |
| "target": 61, | |
| "source": 17 | |
| }, | |
| { | |
| "value": 34292915, | |
| "targetPos": 304742, | |
| "sourcePos": 0, | |
| "target": 62, | |
| "source": 35 | |
| }, | |
| { | |
| "value": 29605095, | |
| "targetPos": 0, | |
| "sourcePos": 115746236, | |
| "target": 63, | |
| "source": 1 | |
| }, | |
| { | |
| "value": 6898769, | |
| "targetPos": 8580860, | |
| "sourcePos": 0, | |
| "target": 64, | |
| "source": 39 | |
| }, | |
| { | |
| "value": 8580860, | |
| "targetPos": 0, | |
| "sourcePos": 4253297, | |
| "target": 64, | |
| "source": 11 | |
| }, | |
| { | |
| "value": 44318211, | |
| "targetPos": 0, | |
| "sourcePos": 15203155, | |
| "target": 65, | |
| "source": 45 | |
| }, | |
| { | |
| "value": 5054242, | |
| "targetPos": 44318211, | |
| "sourcePos": 40618173, | |
| "target": 65, | |
| "source": 40 | |
| }, | |
| { | |
| "value": 13752601, | |
| "targetPos": 21885953, | |
| "sourcePos": 0, | |
| "target": 66, | |
| "source": 32 | |
| }, | |
| { | |
| "value": 21885953, | |
| "targetPos": 0, | |
| "sourcePos": 169853519, | |
| "target": 66, | |
| "source": 1 | |
| }, | |
| { | |
| "value": 17900074, | |
| "targetPos": 0, | |
| "sourcePos": 11249562, | |
| "target": 67, | |
| "source": 29 | |
| }, | |
| { | |
| "value": 11221037, | |
| "targetPos": 0, | |
| "sourcePos": 147516467, | |
| "target": 68, | |
| "source": 6 | |
| }, | |
| { | |
| "value": 26299580, | |
| "targetPos": 0, | |
| "sourcePos": 19414083, | |
| "target": 69, | |
| "source": 36 | |
| } | |
| ], | |
| "nodes": [ | |
| { | |
| "items": [], | |
| "ix": 0, | |
| "chr": 1, | |
| "start": 0, | |
| "end": 248956422, | |
| "value": 248956422, | |
| "level": 1, | |
| "name": "Chromosome 1", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 1, | |
| "chr": 2, | |
| "start": 0, | |
| "end": 242193529, | |
| "value": 242193529, | |
| "level": 1, | |
| "name": "Chromosome 2", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 2, | |
| "chr": 3, | |
| "start": 0, | |
| "end": 198295559, | |
| "value": 198295559, | |
| "level": 1, | |
| "name": "Chromosome 3", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 3, | |
| "chr": 4, | |
| "start": 0, | |
| "end": 190214555, | |
| "value": 190214555, | |
| "level": 1, | |
| "name": "Chromosome 4", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 4, | |
| "chr": 5, | |
| "start": 0, | |
| "end": 181538259, | |
| "value": 181538259, | |
| "level": 1, | |
| "name": "Chromosome 5", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 5, | |
| "chr": 6, | |
| "start": 0, | |
| "end": 170805979, | |
| "value": 170805979, | |
| "level": 1, | |
| "name": "Chromosome 6", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 6, | |
| "chr": 7, | |
| "start": 0, | |
| "end": 159345973, | |
| "value": 159345973, | |
| "level": 1, | |
| "name": "Chromosome 7", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 7, | |
| "chr": 8, | |
| "start": 0, | |
| "end": 145138636, | |
| "value": 145138636, | |
| "level": 1, | |
| "name": "Chromosome 8", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 8, | |
| "chr": 9, | |
| "start": 0, | |
| "end": 138394717, | |
| "value": 138394717, | |
| "level": 1, | |
| "name": "Chromosome 9", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 9, | |
| "chr": 10, | |
| "start": 0, | |
| "end": 133797422, | |
| "value": 133797422, | |
| "level": 1, | |
| "name": "Chromosome 10", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 10, | |
| "chr": 11, | |
| "start": 0, | |
| "end": 135086622, | |
| "value": 135086622, | |
| "level": 1, | |
| "name": "Chromosome 11", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 11, | |
| "chr": 12, | |
| "start": 0, | |
| "end": 133275309, | |
| "value": 133275309, | |
| "level": 1, | |
| "name": "Chromosome 12", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 12, | |
| "chr": 13, | |
| "start": 0, | |
| "end": 114364328, | |
| "value": 114364328, | |
| "level": 1, | |
| "name": "Chromosome 13", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 13, | |
| "chr": 14, | |
| "start": 0, | |
| "end": 107043718, | |
| "value": 107043718, | |
| "level": 1, | |
| "name": "Chromosome 14", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 14, | |
| "chr": 15, | |
| "start": 0, | |
| "end": 101991189, | |
| "value": 101991189, | |
| "level": 1, | |
| "name": "Chromosome 15", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 15, | |
| "chr": 16, | |
| "start": 0, | |
| "end": 90338345, | |
| "value": 90338345, | |
| "level": 1, | |
| "name": "Chromosome 16", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 16, | |
| "chr": 17, | |
| "start": 0, | |
| "end": 83257441, | |
| "value": 83257441, | |
| "level": 1, | |
| "name": "Chromosome 17", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 17, | |
| "chr": 18, | |
| "start": 0, | |
| "end": 80373285, | |
| "value": 80373285, | |
| "level": 1, | |
| "name": "Chromosome 18", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 18, | |
| "chr": 19, | |
| "start": 0, | |
| "end": 58617616, | |
| "value": 58617616, | |
| "level": 1, | |
| "name": "Chromosome 19", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 19, | |
| "chr": 20, | |
| "start": 0, | |
| "end": 64444167, | |
| "value": 64444167, | |
| "level": 1, | |
| "name": "Chromosome 20", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 20, | |
| "chr": 21, | |
| "start": 0, | |
| "end": 46709983, | |
| "value": 46709983, | |
| "level": 1, | |
| "name": "Chromosome 21", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [], | |
| "ix": 21, | |
| "chr": 22, | |
| "start": 0, | |
| "end": 50818468, | |
| "value": 50818468, | |
| "level": 1, | |
| "name": "Chromosome 22", | |
| "color": "#aaaaaa" | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 9442, | |
| "cm": 67.6, | |
| "end": 149110942, | |
| "start": 65343051, | |
| "chr": 3, | |
| "name": "T394598" | |
| } | |
| ], | |
| "color": "#66A4D7", | |
| "level": 2, | |
| "value": 83767891, | |
| "end": 149110942, | |
| "start": 65343051, | |
| "chr": 3, | |
| "ix": 22 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 7702, | |
| "cm": 60.8, | |
| "end": 72097028, | |
| "start": 21699475, | |
| "chr": 13, | |
| "name": "T347044" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 50397553, | |
| "end": 72097028, | |
| "start": 21699475, | |
| "chr": 13, | |
| "ix": 23 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 5923, | |
| "cm": 50.5, | |
| "end": 187508125, | |
| "start": 138930175, | |
| "chr": 3, | |
| "name": "A231213" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 48577950, | |
| "end": 187508125, | |
| "start": 138930175, | |
| "chr": 3, | |
| "ix": 24 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 7201, | |
| "cm": 49.2, | |
| "end": 125766440, | |
| "start": 70817475, | |
| "chr": 8, | |
| "name": "A005641" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 54948965, | |
| "end": 125766440, | |
| "start": 70817475, | |
| "chr": 8, | |
| "ix": 25 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 5985, | |
| "cm": 44.4, | |
| "end": 161772701, | |
| "start": 97379352, | |
| "chr": 1, | |
| "name": "A664879" | |
| }, | |
| { | |
| "snps": 5795, | |
| "cm": 42.6, | |
| "end": 161039609, | |
| "start": 97421797, | |
| "chr": 1, | |
| "name": "A367702" | |
| }, | |
| { | |
| "snps": 4827, | |
| "cm": 34.1, | |
| "end": 157525169, | |
| "start": 99199204, | |
| "chr": 1, | |
| "name": "A129767" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 64393349, | |
| "end": 161772701, | |
| "start": 97379352, | |
| "chr": 1, | |
| "ix": 26 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4898, | |
| "cm": 41.7, | |
| "end": 167400245, | |
| "start": 110252566, | |
| "chr": 1, | |
| "name": "A424815" | |
| }, | |
| { | |
| "snps": 4898, | |
| "cm": 41.7, | |
| "end": 167400245, | |
| "start": 110252566, | |
| "chr": 1, | |
| "name": "A406074" | |
| }, | |
| { | |
| "snps": 4898, | |
| "cm": 41.7, | |
| "end": 167400245, | |
| "start": 110252566, | |
| "chr": 1, | |
| "name": "A484164" | |
| }, | |
| { | |
| "snps": 4898, | |
| "cm": 41.7, | |
| "end": 167400245, | |
| "start": 110252566, | |
| "chr": 1, | |
| "name": "A198232" | |
| }, | |
| { | |
| "snps": 4898, | |
| "cm": 41.7, | |
| "end": 167400245, | |
| "start": 110252566, | |
| "chr": 1, | |
| "name": "A287549" | |
| }, | |
| { | |
| "snps": 4786, | |
| "cm": 40.3, | |
| "end": 163648290, | |
| "start": 105954183, | |
| "chr": 1, | |
| "name": "T688561" | |
| }, | |
| { | |
| "snps": 4648, | |
| "cm": 39.5, | |
| "end": 163453114, | |
| "start": 106571599, | |
| "chr": 1, | |
| "name": "A118122" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 57147679, | |
| "end": 167400245, | |
| "start": 110252566, | |
| "chr": 1, | |
| "ix": 27 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 5644, | |
| "cm": 41.5, | |
| "end": 104250176, | |
| "start": 58857260, | |
| "chr": 8, | |
| "name": "A511815" | |
| }, | |
| { | |
| "snps": 5676, | |
| "cm": 41.4, | |
| "end": 104211113, | |
| "start": 58857456, | |
| "chr": 8, | |
| "name": "T421968" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 45392916, | |
| "end": 104250176, | |
| "start": 58857260, | |
| "chr": 8, | |
| "ix": 28 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4188, | |
| "cm": 41.1, | |
| "end": 69936115, | |
| "start": 40786479, | |
| "chr": 17, | |
| "name": "A918812" | |
| }, | |
| { | |
| "snps": 3365, | |
| "cm": 32.8, | |
| "end": 68675971, | |
| "start": 45397855, | |
| "chr": 17, | |
| "name": "A361876" | |
| }, | |
| { | |
| "snps": 3360, | |
| "cm": 32.8, | |
| "end": 68675383, | |
| "start": 45397855, | |
| "chr": 17, | |
| "name": "A970112" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 29149636, | |
| "end": 69936115, | |
| "start": 40786479, | |
| "chr": 17, | |
| "ix": 29 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 6407, | |
| "cm": 40.9, | |
| "end": 124733123, | |
| "start": 70643537, | |
| "chr": 6, | |
| "name": "A788852" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 54089586, | |
| "end": 124733123, | |
| "start": 70643537, | |
| "chr": 6, | |
| "ix": 30 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4261, | |
| "cm": 39.6, | |
| "end": 70583781, | |
| "start": 45937043, | |
| "chr": 18, | |
| "name": "A416531" | |
| }, | |
| { | |
| "snps": 3950, | |
| "cm": 34.6, | |
| "end": 68639199, | |
| "start": 44754451, | |
| "chr": 18, | |
| "name": "A392814" | |
| }, | |
| { | |
| "snps": 3804, | |
| "cm": 30.8, | |
| "end": 66244055, | |
| "start": 44799922, | |
| "chr": 18, | |
| "name": "A708953" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 24646738, | |
| "end": 70583781, | |
| "start": 45937043, | |
| "chr": 18, | |
| "ix": 31 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4402, | |
| "cm": 39.4, | |
| "end": 226631911, | |
| "start": 191739472, | |
| "chr": 2, | |
| "name": "T584466" | |
| }, | |
| { | |
| "snps": 4252, | |
| "cm": 34.8, | |
| "end": 221802847, | |
| "start": 190131392, | |
| "chr": 2, | |
| "name": "A385321" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 34892439, | |
| "end": 226631911, | |
| "start": 191739472, | |
| "chr": 2, | |
| "ix": 32 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4574, | |
| "cm": 38.9, | |
| "end": 44408368, | |
| "start": 13715365, | |
| "chr": 11, | |
| "name": "A634021" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 30693003, | |
| "end": 44408368, | |
| "start": 13715365, | |
| "chr": 11, | |
| "ix": 33 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4423, | |
| "cm": 37.5, | |
| "end": 161774968, | |
| "start": 105253217, | |
| "chr": 1, | |
| "name": "A739462" | |
| }, | |
| { | |
| "snps": 4408, | |
| "cm": 37.3, | |
| "end": 161773182, | |
| "start": 105446771, | |
| "chr": 1, | |
| "name": "A908679" | |
| }, | |
| { | |
| "snps": 4421, | |
| "cm": 37.3, | |
| "end": 161773182, | |
| "start": 105446771, | |
| "chr": 1, | |
| "name": "A038734" | |
| }, | |
| { | |
| "snps": 4800, | |
| "cm": 37.3, | |
| "end": 161633478, | |
| "start": 105056444, | |
| "chr": 1, | |
| "name": "M079687" | |
| }, | |
| { | |
| "snps": 4782, | |
| "cm": 36.9, | |
| "end": 161633478, | |
| "start": 105446771, | |
| "chr": 1, | |
| "name": "M074915" | |
| }, | |
| { | |
| "snps": 4625, | |
| "cm": 34.7, | |
| "end": 161682338, | |
| "start": 107874368, | |
| "chr": 1, | |
| "name": "A862976" | |
| }, | |
| { | |
| "snps": 3893, | |
| "cm": 31.6, | |
| "end": 158085137, | |
| "start": 103482921, | |
| "chr": 1, | |
| "name": "A037972" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 4, | |
| "value": 56521751, | |
| "end": 161774968, | |
| "start": 105253217, | |
| "chr": 1, | |
| "ix": 34 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4526, | |
| "cm": 37.4, | |
| "end": 78325465, | |
| "start": 34091451, | |
| "chr": 4, | |
| "name": "A154706" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 44234014, | |
| "end": 78325465, | |
| "start": 34091451, | |
| "chr": 4, | |
| "ix": 35 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 5615, | |
| "cm": 35.9, | |
| "end": 123695985, | |
| "start": 77982322, | |
| "chr": 8, | |
| "name": "A775042" | |
| }, | |
| { | |
| "snps": 4966, | |
| "cm": 32.5, | |
| "end": 119539518, | |
| "start": 74798794, | |
| "chr": 8, | |
| "name": "T226956" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 4, | |
| "value": 45713663, | |
| "end": 123695985, | |
| "start": 77982322, | |
| "chr": 8, | |
| "ix": 36 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3577, | |
| "cm": 35.8, | |
| "end": 100608884, | |
| "start": 81632477, | |
| "chr": 14, | |
| "name": "T630148" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 18976407, | |
| "end": 100608884, | |
| "start": 81632477, | |
| "chr": 14, | |
| "ix": 37 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3667, | |
| "cm": 35.6, | |
| "end": 240763170, | |
| "start": 220627629, | |
| "chr": 1, | |
| "name": "A686445" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 20135541, | |
| "end": 240763170, | |
| "start": 220627629, | |
| "chr": 1, | |
| "ix": 38 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4984, | |
| "cm": 35.5, | |
| "end": 49762230, | |
| "start": 12834157, | |
| "chr": 12, | |
| "name": "A671688" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 36928073, | |
| "end": 49762230, | |
| "start": 12834157, | |
| "chr": 12, | |
| "ix": 39 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4448, | |
| "cm": 35, | |
| "end": 167217765, | |
| "start": 115555927, | |
| "chr": 1, | |
| "name": "A872579" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 5, | |
| "value": 51661838, | |
| "end": 167217765, | |
| "start": 115555927, | |
| "chr": 1, | |
| "ix": 40 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4010, | |
| "cm": 34.8, | |
| "end": 50536171, | |
| "start": 27297766, | |
| "chr": 13, | |
| "name": "A711145" | |
| }, | |
| { | |
| "snps": 4184, | |
| "cm": 30.7, | |
| "end": 52829614, | |
| "start": 29667250, | |
| "chr": 13, | |
| "name": "A747354" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 23238405, | |
| "end": 50536171, | |
| "start": 27297766, | |
| "chr": 13, | |
| "ix": 41 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4882, | |
| "cm": 34.7, | |
| "end": 123091221, | |
| "start": 92831231, | |
| "chr": 9, | |
| "name": "T783687" | |
| }, | |
| { | |
| "snps": 4554, | |
| "cm": 32.6, | |
| "end": 121476444, | |
| "start": 93160570, | |
| "chr": 9, | |
| "name": "T465408" | |
| }, | |
| { | |
| "snps": 4384, | |
| "cm": 32.4, | |
| "end": 118211868, | |
| "start": 90870420, | |
| "chr": 9, | |
| "name": "A917445" | |
| }, | |
| { | |
| "snps": 4589, | |
| "cm": 32.3, | |
| "end": 121317472, | |
| "start": 93160570, | |
| "chr": 9, | |
| "name": "T262751" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 30259990, | |
| "end": 123091221, | |
| "start": 92831231, | |
| "chr": 9, | |
| "ix": 42 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4559, | |
| "cm": 34.2, | |
| "end": 58825788, | |
| "start": 28722465, | |
| "chr": 13, | |
| "name": "T793573" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 4, | |
| "value": 30103323, | |
| "end": 58825788, | |
| "start": 28722465, | |
| "chr": 13, | |
| "ix": 43 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 1637, | |
| "cm": 34, | |
| "end": 26498347, | |
| "start": 15434720, | |
| "chr": 22, | |
| "name": "M093354" | |
| }, | |
| { | |
| "snps": 1634, | |
| "cm": 34, | |
| "end": 26498347, | |
| "start": 15434720, | |
| "chr": 22, | |
| "name": "M161945" | |
| }, | |
| { | |
| "snps": 1756, | |
| "cm": 29.5, | |
| "end": 25755790, | |
| "start": 15607461, | |
| "chr": 22, | |
| "name": "A540554" | |
| }, | |
| { | |
| "snps": 2140, | |
| "cm": 29.5, | |
| "end": 26040703, | |
| "start": 15817310, | |
| "chr": 22, | |
| "name": "A053906" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 11063627, | |
| "end": 26498347, | |
| "start": 15434720, | |
| "chr": 22, | |
| "ix": 44 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4413, | |
| "cm": 33.9, | |
| "end": 156174100, | |
| "start": 96652734, | |
| "chr": 1, | |
| "name": "A024716" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 6, | |
| "value": 59521366, | |
| "end": 156174100, | |
| "start": 96652734, | |
| "chr": 1, | |
| "ix": 45 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 5098, | |
| "cm": 33.8, | |
| "end": 63876718, | |
| "start": 21550846, | |
| "chr": 10, | |
| "name": "A452524" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 42325872, | |
| "end": 63876718, | |
| "start": 21550846, | |
| "chr": 10, | |
| "ix": 46 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3049, | |
| "cm": 33.7, | |
| "end": 109426683, | |
| "start": 73590100, | |
| "chr": 5, | |
| "name": "M074135" | |
| }, | |
| { | |
| "snps": 4173, | |
| "cm": 33.7, | |
| "end": 109429310, | |
| "start": 73605019, | |
| "chr": 5, | |
| "name": "A759154" | |
| }, | |
| { | |
| "snps": 3987, | |
| "cm": 32.7, | |
| "end": 108642150, | |
| "start": 73882800, | |
| "chr": 5, | |
| "name": "A429957" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 35836583, | |
| "end": 109426683, | |
| "start": 73590100, | |
| "chr": 5, | |
| "ix": 47 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3732, | |
| "cm": 33.6, | |
| "end": 38990131, | |
| "start": 14084069, | |
| "chr": 11, | |
| "name": "A885074" | |
| }, | |
| { | |
| "snps": 3898, | |
| "cm": 33.4, | |
| "end": 37607825, | |
| "start": 13715365, | |
| "chr": 11, | |
| "name": "M905224" | |
| }, | |
| { | |
| "snps": 3957, | |
| "cm": 32.6, | |
| "end": 37102227, | |
| "start": 13953262, | |
| "chr": 11, | |
| "name": "A148083" | |
| }, | |
| { | |
| "snps": 3615, | |
| "cm": 32.3, | |
| "end": 36831155, | |
| "start": 13715365, | |
| "chr": 11, | |
| "name": "A788586" | |
| }, | |
| { | |
| "snps": 3568, | |
| "cm": 32.2, | |
| "end": 36895349, | |
| "start": 14084069, | |
| "chr": 11, | |
| "name": "A384509" | |
| }, | |
| { | |
| "snps": 3576, | |
| "cm": 32.2, | |
| "end": 36895349, | |
| "start": 14084069, | |
| "chr": 11, | |
| "name": "A150640" | |
| }, | |
| { | |
| "snps": 3594, | |
| "cm": 32.1, | |
| "end": 36668410, | |
| "start": 13715365, | |
| "chr": 11, | |
| "name": "A513677" | |
| }, | |
| { | |
| "snps": 3566, | |
| "cm": 32.1, | |
| "end": 36831155, | |
| "start": 14084069, | |
| "chr": 11, | |
| "name": "A897888" | |
| }, | |
| { | |
| "snps": 3513, | |
| "cm": 31.7, | |
| "end": 36895349, | |
| "start": 14874884, | |
| "chr": 11, | |
| "name": "A328992" | |
| }, | |
| { | |
| "snps": 3504, | |
| "cm": 29.4, | |
| "end": 35341008, | |
| "start": 14084069, | |
| "chr": 11, | |
| "name": "A561274" | |
| } | |
| ], | |
| "color": "#d1a457", | |
| "level": 3, | |
| "value": 24906062, | |
| "end": 38990131, | |
| "start": 14084069, | |
| "chr": 11, | |
| "ix": 48 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3468, | |
| "cm": 32.4, | |
| "end": 37659138, | |
| "start": 21888677, | |
| "chr": 13, | |
| "name": "A826655" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 5, | |
| "value": 15770461, | |
| "end": 37659138, | |
| "start": 21888677, | |
| "chr": 13, | |
| "ix": 49 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 2354, | |
| "cm": 32, | |
| "end": 11179760, | |
| "start": 344857, | |
| "chr": 17, | |
| "name": "A617665" | |
| }, | |
| { | |
| "snps": 2298, | |
| "cm": 31.7, | |
| "end": 10506688, | |
| "start": 13546, | |
| "chr": 17, | |
| "name": "A367249" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 10834903, | |
| "end": 11179760, | |
| "start": 344857, | |
| "chr": 17, | |
| "ix": 50 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 1841, | |
| "cm": 31.5, | |
| "end": 28474643, | |
| "start": 13523286, | |
| "chr": 21, | |
| "name": "M048724" | |
| }, | |
| { | |
| "snps": 2479, | |
| "cm": 29.8, | |
| "end": 27634659, | |
| "start": 13591802, | |
| "chr": 21, | |
| "name": "A622149" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 14951357, | |
| "end": 28474643, | |
| "start": 13523286, | |
| "chr": 21, | |
| "ix": 51 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4327, | |
| "cm": 31.5, | |
| "end": 36043273, | |
| "start": 10966346, | |
| "chr": 3, | |
| "name": "A123662" | |
| }, | |
| { | |
| "snps": 4166, | |
| "cm": 29.8, | |
| "end": 31455118, | |
| "start": 9083056, | |
| "chr": 3, | |
| "name": "A271656" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 25076927, | |
| "end": 36043273, | |
| "start": 10966346, | |
| "chr": 3, | |
| "ix": 52 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3829, | |
| "cm": 31.4, | |
| "end": 57803015, | |
| "start": 31505941, | |
| "chr": 15, | |
| "name": "H170679" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 26297074, | |
| "end": 57803015, | |
| "start": 31505941, | |
| "chr": 15, | |
| "ix": 53 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 2860, | |
| "cm": 31.3, | |
| "end": 156964439, | |
| "start": 133913222, | |
| "chr": 6, | |
| "name": "M856267" | |
| }, | |
| { | |
| "snps": 3846, | |
| "cm": 31.3, | |
| "end": 156964439, | |
| "start": 133913222, | |
| "chr": 6, | |
| "name": "A835594" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 23051217, | |
| "end": 156964439, | |
| "start": 133913222, | |
| "chr": 6, | |
| "ix": 54 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3957, | |
| "cm": 30.9, | |
| "end": 92398290, | |
| "start": 68508737, | |
| "chr": 14, | |
| "name": "A401533" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 23889553, | |
| "end": 92398290, | |
| "start": 68508737, | |
| "chr": 14, | |
| "ix": 55 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3242, | |
| "cm": 30.1, | |
| "end": 132569267, | |
| "start": 118431145, | |
| "chr": 11, | |
| "name": "A619253" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 14138122, | |
| "end": 132569267, | |
| "start": 118431145, | |
| "chr": 11, | |
| "ix": 56 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4848, | |
| "cm": 29.7, | |
| "end": 110008750, | |
| "start": 74836081, | |
| "chr": 11, | |
| "name": "T656931" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 35172669, | |
| "end": 110008750, | |
| "start": 74836081, | |
| "chr": 11, | |
| "ix": 57 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3349, | |
| "cm": 29.6, | |
| "end": 72141987, | |
| "start": 36783818, | |
| "chr": 13, | |
| "name": "M141523" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 5, | |
| "value": 35358169, | |
| "end": 72141987, | |
| "start": 36783818, | |
| "chr": 13, | |
| "ix": 58 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3718, | |
| "cm": 29.5, | |
| "end": 46728094, | |
| "start": 22263601, | |
| "chr": 6, | |
| "name": "M030763" | |
| }, | |
| { | |
| "snps": 4606, | |
| "cm": 29.5, | |
| "end": 46733594, | |
| "start": 22263601, | |
| "chr": 6, | |
| "name": "T827121" | |
| }, | |
| { | |
| "snps": 5420, | |
| "cm": 29.5, | |
| "end": 46733594, | |
| "start": 22263601, | |
| "chr": 6, | |
| "name": "A200225" | |
| }, | |
| { | |
| "snps": 5314, | |
| "cm": 28.8, | |
| "end": 46007801, | |
| "start": 22263601, | |
| "chr": 6, | |
| "name": "A108328" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 24464493, | |
| "end": 46728094, | |
| "start": 22263601, | |
| "chr": 6, | |
| "ix": 59 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 2804, | |
| "cm": 29.4, | |
| "end": 46899964, | |
| "start": 35197309, | |
| "chr": 21, | |
| "name": "A970104" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 11702655, | |
| "end": 46899964, | |
| "start": 35197309, | |
| "chr": 21, | |
| "ix": 60 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 1632, | |
| "cm": 29.3, | |
| "end": 21147042, | |
| "start": 6475543, | |
| "chr": 18, | |
| "name": "M382518" | |
| }, | |
| { | |
| "snps": 2361, | |
| "cm": 29.3, | |
| "end": 21330486, | |
| "start": 6546648, | |
| "chr": 18, | |
| "name": "A119640" | |
| }, | |
| { | |
| "snps": 2357, | |
| "cm": 29.3, | |
| "end": 21141057, | |
| "start": 6486923, | |
| "chr": 18, | |
| "name": "A499417" | |
| }, | |
| { | |
| "snps": 2352, | |
| "cm": 29.2, | |
| "end": 21141057, | |
| "start": 6501191, | |
| "chr": 18, | |
| "name": "A502414" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 14671499, | |
| "end": 21147042, | |
| "start": 6475543, | |
| "chr": 18, | |
| "ix": 61 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3591, | |
| "cm": 28.8, | |
| "end": 68384366, | |
| "start": 33786709, | |
| "chr": 4, | |
| "name": "A522385" | |
| }, | |
| { | |
| "snps": 3591, | |
| "cm": 28.8, | |
| "end": 68384366, | |
| "start": 33786709, | |
| "chr": 4, | |
| "name": "A338164" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 34597657, | |
| "end": 68384366, | |
| "start": 33786709, | |
| "chr": 4, | |
| "ix": 62 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3592, | |
| "cm": 28.8, | |
| "end": 145351331, | |
| "start": 115746236, | |
| "chr": 2, | |
| "name": "A678626" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 29605095, | |
| "end": 145351331, | |
| "start": 115746236, | |
| "chr": 2, | |
| "ix": 63 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 2783, | |
| "cm": 28.4, | |
| "end": 19732926, | |
| "start": 4253297, | |
| "chr": 12, | |
| "name": "A814067" | |
| }, | |
| { | |
| "snps": 2783, | |
| "cm": 28.4, | |
| "end": 19732926, | |
| "start": 4253297, | |
| "chr": 12, | |
| "name": "A391881" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 15479629, | |
| "end": 19732926, | |
| "start": 4253297, | |
| "chr": 12, | |
| "ix": 64 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3394, | |
| "cm": 28.4, | |
| "end": 161228342, | |
| "start": 111855889, | |
| "chr": 1, | |
| "name": "T609717" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 7, | |
| "value": 49372453, | |
| "end": 161228342, | |
| "start": 111855889, | |
| "chr": 1, | |
| "ix": 65 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 4282, | |
| "cm": 28.4, | |
| "end": 205492073, | |
| "start": 169853519, | |
| "chr": 2, | |
| "name": "A421726" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 35638554, | |
| "end": 205492073, | |
| "start": 169853519, | |
| "chr": 2, | |
| "ix": 66 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 2799, | |
| "cm": 28.4, | |
| "end": 69936115, | |
| "start": 52036041, | |
| "chr": 17, | |
| "name": "A380937" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 3, | |
| "value": 17900074, | |
| "end": 69936115, | |
| "start": 52036041, | |
| "chr": 17, | |
| "ix": 67 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 2126, | |
| "cm": 28.3, | |
| "end": 158737504, | |
| "start": 147516467, | |
| "chr": 7, | |
| "name": "M872239" | |
| }, | |
| { | |
| "snps": 2109, | |
| "cm": 28.2, | |
| "end": 158737504, | |
| "start": 147562262, | |
| "chr": 7, | |
| "name": "T282740" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 2, | |
| "value": 11221037, | |
| "end": 158737504, | |
| "start": 147516467, | |
| "chr": 7, | |
| "ix": 68 | |
| }, | |
| { | |
| "items": [ | |
| { | |
| "snps": 3627, | |
| "cm": 28.2, | |
| "end": 125843145, | |
| "start": 97396405, | |
| "chr": 8, | |
| "name": "A255440" | |
| } | |
| ], | |
| "color": "#eeeeee", | |
| "level": 5, | |
| "value": 28446740, | |
| "end": 125843145, | |
| "start": 97396405, | |
| "chr": 8, | |
| "ix": 69 | |
| } | |
| ] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html> | |
| <meta charset="utf-8"> | |
| <title>Sankey Diagram</title> | |
| <style> | |
| @import url(http://bost.ocks.org/mike/style.css?20120521); | |
| #chart { | |
| height: 500px; | |
| } | |
| .node rect { | |
| cursor: move; | |
| fill-opacity: .9; | |
| shape-rendering: crispEdges; | |
| } | |
| .node text { | |
| pointer-events: none; | |
| text-shadow: 0 1px 0 #fff; | |
| } | |
| .link { | |
| fill: none; | |
| stroke: #000; | |
| stroke-opacity: .2; | |
| } | |
| .link:hover { | |
| stroke-opacity: .5; | |
| } | |
| </style> | |
| <body> | |
| <h1><a href="http://bost.ocks.org/mike/sankey/">Original</a></h1> | |
| <p id="chart1"> | |
| <h1>Overlapping Links at Targets</h1> | |
| <p id="chart2"> | |
| <h1>Overlapping Links at Sources</h1> | |
| <p id="chart3"> | |
| <h1>Overlapping at Sources and Targets</h1> | |
| <p id="chart4"> | |
| <script src="http://d3js.org/d3.v2.js"></script> | |
| <script src="sankey.js"></script> | |
| <script> | |
| var margin = {top: 1, right: 1, bottom: 6, left: 1}, | |
| width = 960 - margin.left - margin.right, | |
| height = 500 - margin.top - margin.bottom; | |
| var formatNumber = d3.format(",.0f"), | |
| format = function(d) { return formatNumber(d) + " TWh"; }, | |
| color = d3.scale.category20(); | |
| function addSankey(overlapSources,overlapTargets,parent) { | |
| var svg = d3.select("#"+parent).append("svg") | |
| .attr("width", width + margin.left + margin.right) | |
| .attr("height", height + margin.top + margin.bottom) | |
| .append("g") | |
| .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
| var sankey = d3.sankey() | |
| .nodeWidth(15) | |
| .nodePadding(10) | |
| .size([width, height]) | |
| .overlapLinksAtSources(overlapSources) | |
| .overlapLinksAtTargets(overlapTargets); | |
| var path = sankey.link(); | |
| d3.json("energy.json", function(energy) { | |
| sankey | |
| .nodes(energy.nodes) | |
| .links(energy.links) | |
| .layout(32); | |
| var link = svg.append("g").selectAll(".link") | |
| .data(energy.links) | |
| .enter().append("path") | |
| .attr("class", "link") | |
| .attr("d", path) | |
| .style("stroke-width", function(d) { return Math.max(1, d.dy); }) | |
| .sort(function(a, b) { return b.dy - a.dy; }); | |
| link.append("title") | |
| .text(function(d) { return d.source.name + " → " + d.target.name + "\n" + format(d.value); }); | |
| var node = svg.append("g").selectAll(".node") | |
| .data(energy.nodes) | |
| .enter().append("g") | |
| .attr("class", "node") | |
| .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }) | |
| .call(d3.behavior.drag() | |
| .origin(function(d) { return d; }) | |
| .on("dragstart", function() { this.parentNode.appendChild(this); }) | |
| .on("drag", dragmove)); | |
| node.append("rect") | |
| .attr("height", function(d) { return d.dy; }) | |
| .attr("width", sankey.nodeWidth()) | |
| .style("fill", function(d) { return d.color = color(d.name.replace(/ .*/, "")); }) | |
| .style("stroke", function(d) { return d3.rgb(d.color).darker(2); }) | |
| .append("title") | |
| .text(function(d) { return d.name + "\n" + format(d.value); }); | |
| node.append("text") | |
| .attr("x", -6) | |
| .attr("y", function(d) { return d.dy / 2; }) | |
| .attr("dy", ".35em") | |
| .attr("text-anchor", "end") | |
| .attr("transform", null) | |
| .text(function(d) { return d.name; }) | |
| .filter(function(d) { return d.x < width / 2; }) | |
| .attr("x", 6 + sankey.nodeWidth()) | |
| .attr("text-anchor", "start"); | |
| function dragmove(d) { | |
| d3.select(this).attr("transform", "translate(" + d.x + "," + (d.y = Math.max(0, Math.min(height - d.dy, d3.event.y))) + ")"); | |
| sankey.relayout(); | |
| link.attr("d", path); | |
| } | |
| }); | |
| } | |
| addSankey(false,false,"chart1"); | |
| addSankey(false,true,"chart2"); | |
| addSankey(true,false,"chart3"); | |
| addSankey(true,true,"chart4"); | |
| </script> | |
| </html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| d3.sankey = function() { | |
| var sankey = {}, | |
| nodeWidth = 24, | |
| nodePadding = 8, | |
| size = [1, 1], | |
| nodes = [], | |
| links = [], | |
| overlapLinksAtSources = false, | |
| overlapLinksAtTargets = false, | |
| minValue = 1; | |
| sankey.nodeWidth = function(_) { | |
| if (!arguments.length) return nodeWidth; | |
| nodeWidth = +_; | |
| return sankey; | |
| }; | |
| sankey.nodePadding = function(_) { | |
| if (!arguments.length) return nodePadding; | |
| nodePadding = +_; | |
| return sankey; | |
| }; | |
| sankey.nodes = function(_) { | |
| if (!arguments.length) return nodes; | |
| nodes = _; | |
| return sankey; | |
| }; | |
| sankey.links = function(_) { | |
| if (!arguments.length) return links; | |
| links = _; | |
| return sankey; | |
| }; | |
| sankey.size = function(_) { | |
| if (!arguments.length) return size; | |
| size = _; | |
| return sankey; | |
| }; | |
| sankey.overlapLinksAtSources = function(_) { | |
| if (!arguments.length) return overlapLinksAtSources; | |
| overlapLinksAtSources = _; | |
| return sankey; | |
| }; | |
| sankey.overlapLinksAtTargets = function(_) { | |
| if (!arguments.length) return overlapLinksAtTargets; | |
| overlapLinksAtTargets = _; | |
| return sankey; | |
| }; | |
| sankey.minValue = function(_) { | |
| if (!arguments.length) return minValue; | |
| minValue = _; | |
| return sankey; | |
| }; | |
| sankey.layout = function(iterations) { | |
| computeNodeLinks(); | |
| computeNodeValues(); | |
| computeNodeBreadths(); | |
| computeNodeDepths(iterations); | |
| computeLinkDepths(); | |
| return sankey; | |
| }; | |
| sankey.relayout = function() { | |
| computeLinkDepths(); | |
| return sankey; | |
| }; | |
| sankey.link = function() { | |
| var curvature = .5; | |
| function link(d) { | |
| var x0 = d.source.x + d.source.dx, | |
| x1 = d.target.x, | |
| xi = d3.interpolateNumber(x0, x1), | |
| x2 = xi(curvature), | |
| x3 = xi(1 - curvature), | |
| y0 = d.source.y + (overlapLinksAtSources ? 0 : d.sy) + d.dy / 2, | |
| y1 = d.target.y + (overlapLinksAtTargets ? 0 : d.ty) + d.dy / 2; | |
| return "M" + x0 + "," + y0 | |
| + "C" + x2 + "," + y0 | |
| + " " + x3 + "," + y1 | |
| + " " + x1 + "," + y1; | |
| } | |
| link.curvature = function(_) { | |
| if (!arguments.length) return curvature; | |
| curvature = +_; | |
| return link; | |
| }; | |
| return link; | |
| }; | |
| // Populate the sourceLinks and targetLinks for each node. | |
| // Also, if the source and target are not objects, assume they are indices. | |
| function computeNodeLinks() { | |
| nodes.forEach(function(node) { | |
| node.sourceLinks = []; | |
| node.targetLinks = []; | |
| }); | |
| links.forEach(function(link) { | |
| var source = link.source, | |
| target = link.target; | |
| if (typeof source === "number") source = link.source = nodes[link.source]; | |
| if (typeof target === "number") target = link.target = nodes[link.target]; | |
| source.sourceLinks.push(link); | |
| target.targetLinks.push(link); | |
| if ("value" in link) | |
| link.value = Math.max(link.value, minValue); | |
| else | |
| link.value = minValue; | |
| }); | |
| } | |
| // Compute the value (size) of each node by summing the associated links. | |
| function computeNodeValues() { | |
| nodes.forEach(function(node) { | |
| if ("value" in node) | |
| node.value = Math.max(node.value, minValue); | |
| else | |
| node.value = minValue; | |
| if (node.sourceLinks.length > 0) { | |
| if (overlapLinksAtSources) | |
| node.value = Math.max(node.value, d3.max(node.sourceLinks, value)); | |
| else | |
| node.value = Math.max(node.value, d3.sum(node.sourceLinks, value)); | |
| } | |
| if (node.targetLinks.length > 0) { | |
| if (overlapLinksAtTargets) | |
| node.value = Math.max(node.value, d3.max(node.targetLinks, value)); | |
| else | |
| node.value = Math.max(node.value, d3.sum(node.targetLinks, value)); | |
| } | |
| }); | |
| } | |
| // Iteratively assign the breadth (x-position) for each node. | |
| // Nodes are assigned the maximum breadth of incoming neighbors plus one; | |
| // nodes with no incoming links are assigned breadth zero, while | |
| // nodes with no outgoing links are assigned the maximum breadth. | |
| function computeNodeBreadths() { | |
| var remainingNodes = nodes, | |
| nextNodes, | |
| x = 0; | |
| while (remainingNodes.length) { | |
| nextNodes = []; | |
| remainingNodes.forEach(function(node) { | |
| node.x = x; | |
| node.dx = nodeWidth; | |
| node.sourceLinks.forEach(function(link) { | |
| nextNodes.push(link.target); | |
| }); | |
| }); | |
| remainingNodes = nextNodes; | |
| ++x; | |
| } | |
| // | |
| moveSinksRight(x); | |
| scaleNodeBreadths((size[0] - nodeWidth) / (x - 1)); | |
| } | |
| function moveSourcesRight() { | |
| nodes.forEach(function(node) { | |
| if (!node.targetLinks.length) { | |
| node.x = d3.min(node.sourceLinks, function(d) { return d.target.x; }) - 1; | |
| } | |
| }); | |
| } | |
| function moveSinksRight(x) { | |
| nodes.forEach(function(node) { | |
| if (!node.sourceLinks.length) { | |
| node.x = x - 1; | |
| } | |
| }); | |
| } | |
| function scaleNodeBreadths(kx) { | |
| nodes.forEach(function(node) { | |
| node.x *= kx; | |
| }); | |
| } | |
| function computeNodeDepths(iterations) { | |
| var nodesByBreadth = d3.nest() | |
| .key(function(d) { return d.x; }) | |
| .sortKeys(d3.ascending) | |
| .entries(nodes) | |
| .map(function(d) { return d.values; }); | |
| // | |
| initializeNodeDepth(); | |
| resolveCollisions(); | |
| for (var alpha = 1; iterations > 0; --iterations) { | |
| relaxRightToLeft(alpha *= .99); | |
| resolveCollisions(); | |
| relaxLeftToRight(alpha); | |
| resolveCollisions(); | |
| } | |
| function initializeNodeDepth() { | |
| var ky = d3.min(nodesByBreadth, function(nodes) { | |
| return (size[1] - (nodes.length - 1) * nodePadding) / d3.sum(nodes, value); | |
| }); | |
| nodesByBreadth.forEach(function(nodes) { | |
| nodes.forEach(function(node, i) { | |
| node.y = i; | |
| node.dy = node.value * ky; | |
| }); | |
| }); | |
| links.forEach(function(link) { | |
| link.dy = link.value * ky; | |
| }); | |
| } | |
| function relaxLeftToRight(alpha) { | |
| nodesByBreadth.forEach(function(nodes, breadth) { | |
| nodes.forEach(function(node) { | |
| if (node.targetLinks.length) { | |
| var y = d3.sum(node.targetLinks, weightedSource) / d3.sum(node.targetLinks, value); | |
| node.y += (y - center(node)) * alpha; | |
| } | |
| }); | |
| }); | |
| function weightedSource(link) { | |
| return center(link.source) * link.value; | |
| } | |
| } | |
| function relaxRightToLeft(alpha) { | |
| nodesByBreadth.slice().reverse().forEach(function(nodes) { | |
| nodes.forEach(function(node) { | |
| if (node.sourceLinks.length) { | |
| var y = d3.sum(node.sourceLinks, weightedTarget) / d3.sum(node.sourceLinks, value); | |
| node.y += (y - center(node)) * alpha; | |
| } | |
| }); | |
| }); | |
| function weightedTarget(link) { | |
| return center(link.target) * link.value; | |
| } | |
| } | |
| function resolveCollisions() { | |
| nodesByBreadth.forEach(function(nodes) { | |
| var node, | |
| dy, | |
| y0 = 0, | |
| n = nodes.length, | |
| i; | |
| // Push any overlapping nodes down. | |
| nodes.sort(ascendingDepth); | |
| for (i = 0; i < n; ++i) { | |
| node = nodes[i]; | |
| dy = y0 - node.y; | |
| if (dy > 0) node.y += dy; | |
| y0 = node.y + node.dy + nodePadding; | |
| } | |
| // If the bottommost node goes outside the bounds, push it back up. | |
| dy = y0 - nodePadding - size[1]; | |
| if (dy > 0) { | |
| y0 = node.y -= dy; | |
| // Push any overlapping nodes back up. | |
| for (i = n - 2; i >= 0; --i) { | |
| node = nodes[i]; | |
| dy = node.y + node.dy + nodePadding - y0; | |
| if (dy > 0) node.y -= dy; | |
| y0 = node.y; | |
| } | |
| } | |
| }); | |
| } | |
| function ascendingDepth(a, b) { | |
| return a.y - b.y; | |
| } | |
| } | |
| function computeLinkDepths() { | |
| nodes.forEach(function(node) { | |
| node.sourceLinks.sort(ascendingTargetDepth); | |
| node.targetLinks.sort(ascendingSourceDepth); | |
| }); | |
| nodes.forEach(function(node) { | |
| var sy = 0, ty = 0; | |
| node.sourceLinks.forEach(function(link) { | |
| link.sy = sy; | |
| sy += link.dy; | |
| }); | |
| node.targetLinks.forEach(function(link) { | |
| link.ty = ty; | |
| ty += link.dy; | |
| }); | |
| }); | |
| function ascendingSourceDepth(a, b) { | |
| return a.source.y - b.source.y; | |
| } | |
| function ascendingTargetDepth(a, b) { | |
| return a.target.y - b.target.y; | |
| } | |
| } | |
| function center(node) { | |
| return node.y + node.dy / 2; | |
| } | |
| function value(link) { | |
| return link.value; | |
| } | |
| return sankey; | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment