173 lines
3.6 KiB
Go
173 lines
3.6 KiB
Go
package traits
|
|
|
|
import "seekia/internal/helpers"
|
|
|
|
import "maps"
|
|
|
|
func getEyeColorTraitObject()Trait{
|
|
|
|
// Map Structure: rsID -> References Map
|
|
locusReferencesMap := make(map[int64]map[string]string)
|
|
|
|
referencesMap_List1 := make(map[string]string)
|
|
referencesMap_List1["SNPedia.com - Eye Color"] = "https://www.snpedia.com/index.php/Eye_color"
|
|
|
|
// These SNPs are taken from https://www.snpedia.com/index.php/Eye_color
|
|
|
|
lociList_1 := []int64{
|
|
2733832,
|
|
1800401,
|
|
1800407,
|
|
1800414,
|
|
12913823,
|
|
4911442,
|
|
6058017,
|
|
4911414,
|
|
4778241,
|
|
12593929,
|
|
7183877,
|
|
3935591,
|
|
7170852,
|
|
2238289,
|
|
3940272,
|
|
8028689,
|
|
2240203,
|
|
11631797,
|
|
916977,
|
|
3768056,
|
|
728405,
|
|
2835621,
|
|
892839,
|
|
9782955,
|
|
12452184,
|
|
10209564,
|
|
1325127,
|
|
7277820,
|
|
1105879,
|
|
7219915,
|
|
12913832,
|
|
2070959,
|
|
2835630,
|
|
9894429,
|
|
1393350,
|
|
2252893,
|
|
1003719,
|
|
3794604,
|
|
7174027,
|
|
989869,
|
|
4778138,
|
|
12906280,
|
|
}
|
|
|
|
for _, rsID := range lociList_1{
|
|
|
|
locusReferencesMap[rsID] = maps.Clone(referencesMap_List1)
|
|
}
|
|
|
|
referencesMap_List2 := make(map[string]string)
|
|
referencesMap_List2["Genome-wide association studies of pigmentation and skin cancer: a review and meta-analysis"] = "https://pubmed.ncbi.nlm.nih.gov/20546537/"
|
|
|
|
// These SNPs are taken from https://pubmed.ncbi.nlm.nih.gov/20546537/
|
|
|
|
lociList_2 := []int64{
|
|
12203592,
|
|
1408799,
|
|
1126809,
|
|
12896399,
|
|
7495174,
|
|
1667394,
|
|
}
|
|
|
|
for _, rsID := range lociList_2{
|
|
|
|
locusReferencesMap[rsID] = maps.Clone(referencesMap_List2)
|
|
}
|
|
|
|
|
|
referencesMap_List3 := make(map[string]string)
|
|
referencesMap_List3["Genome-wide association study in almost 195,000 individuals identifies 50 previously unidentified genetic loci for eye color."] = "https://pubmed.ncbi.nlm.nih.gov/33692100/"
|
|
|
|
// These SNPs are taken from https://pubmed.ncbi.nlm.nih.gov/33692100/
|
|
|
|
lociList_3 := []int64{
|
|
6693258,
|
|
351385,
|
|
2385028,
|
|
13016869,
|
|
112747614,
|
|
121908120,
|
|
12614022,
|
|
74409360,
|
|
3912104,
|
|
116359091,
|
|
4521336,
|
|
141318671,
|
|
6828137,
|
|
62330021,
|
|
16891982,
|
|
348613,
|
|
72777200,
|
|
11957757,
|
|
//12203592, (is a duplicate, was also found in the other study)
|
|
6910861,
|
|
341147,
|
|
2854746,
|
|
6944702,
|
|
6997494,
|
|
12543326,
|
|
147068120,
|
|
13297008,
|
|
12552712,
|
|
12335410,
|
|
72928978,
|
|
//1126809, (is a duplicate, was also found in the other study)
|
|
9971729,
|
|
790464,
|
|
2095645,
|
|
9301973,
|
|
138777265,
|
|
17184180,
|
|
4778218,
|
|
1129038,
|
|
1426654,
|
|
4790309,
|
|
3809761,
|
|
6420484,
|
|
73488486,
|
|
2748901,
|
|
2835660,
|
|
622330,
|
|
35051352,
|
|
|
|
// TODO: Add these loci once we can handle X Chromosome loci.
|
|
// 78542430,
|
|
// 5957354,
|
|
}
|
|
|
|
for _, rsID := range lociList_3{
|
|
locusReferencesMap[rsID] = maps.Clone(referencesMap_List3)
|
|
}
|
|
|
|
eyeColorLociList := helpers.GetListOfMapKeys(locusReferencesMap)
|
|
|
|
referencesMap := make(map[string]string)
|
|
referencesMap["SNPedia.com - Eye Color"] = "https://www.snpedia.com/index.php/Eye_color"
|
|
referencesMap["Genome-wide association studies of pigmentation and skin cancer: a review and meta-analysis"] = "https://pubmed.ncbi.nlm.nih.gov/20546537/"
|
|
referencesMap["Genome-wide association study in almost 195,000 individuals identifies 50 previously unidentified genetic loci for eye color."] = "https://pubmed.ncbi.nlm.nih.gov/33692100/"
|
|
|
|
eyeColorObject := Trait{
|
|
TraitName: "Eye Color",
|
|
TraitDescription: "The color of a person's eyes.",
|
|
DiscreteOrNumeric: "Discrete",
|
|
LocusReferencesMap: locusReferencesMap,
|
|
LociList: eyeColorLociList,
|
|
LociList_Rules: []int64{},
|
|
RulesList: []TraitRule{},
|
|
OutcomesList: []string{"Blue", "Green", "Hazel", "Brown"},
|
|
NumericValueFormatter: nil,
|
|
ReferencesMap: referencesMap,
|
|
}
|
|
|
|
return eyeColorObject
|
|
}
|
|
|