71 lines
1.7 KiB
Go
71 lines
1.7 KiB
Go
package traits
|
|
|
|
// Hair color is influenced by thousands of genes
|
|
// We only have a few listed here
|
|
|
|
import "seekia/internal/helpers"
|
|
|
|
import "maps"
|
|
|
|
func getHairColorTraitObject()Trait{
|
|
|
|
// Map Structure: rsID -> References Map
|
|
locusReferencesMap := make(map[int64]map[string]string)
|
|
|
|
referencesMap_List1 := make(map[string]string)
|
|
referencesMap_List1["SNPedia.com - Appearance"] = "https://www.snpedia.com/index.php/Appearance"
|
|
referencesMap_List1["Genome-wide association studies of pigmentation and skin cancer: a review and meta-analysis"] = "https://pubmed.ncbi.nlm.nih.gov/20546537/"
|
|
|
|
lociList_1 := []int64{
|
|
|
|
//These loci were taken from https://pubmed.ncbi.nlm.nih.gov/20546537/
|
|
|
|
28777,
|
|
12203592,
|
|
1540771,
|
|
6918152,
|
|
35264875,
|
|
3829241,
|
|
12821256,
|
|
12896399,
|
|
7495174,
|
|
4778211,
|
|
7174027,
|
|
11855019,
|
|
1667394,
|
|
12913832,
|
|
7183877,
|
|
11636232,
|
|
8028689,
|
|
8039195,
|
|
1805007,
|
|
1805008,
|
|
}
|
|
|
|
for _, rsID := range lociList_1{
|
|
|
|
locusReferencesMap[rsID] = maps.Clone(referencesMap_List1)
|
|
}
|
|
|
|
hairColorLociList := helpers.GetListOfMapKeys(locusReferencesMap)
|
|
|
|
referencesMap := make(map[string]string)
|
|
referencesMap["SNPedia.com - Appearance"] = "https://www.snpedia.com/index.php/Appearance"
|
|
referencesMap["Genome-wide association studies of pigmentation and skin cancer: a review and meta-analysis"] = "https://pubmed.ncbi.nlm.nih.gov/20546537/"
|
|
|
|
hairColorObject := Trait{
|
|
TraitName: "Hair Color",
|
|
TraitDescription: "The color of a person's hair.",
|
|
DiscreteOrNumeric: "Discrete",
|
|
LocusReferencesMap: locusReferencesMap,
|
|
LociList: hairColorLociList,
|
|
LociList_Rules: []int64{},
|
|
RulesList: []TraitRule{},
|
|
OutcomesList: []string{},
|
|
ReferencesMap: referencesMap,
|
|
}
|
|
|
|
return hairColorObject
|
|
}
|
|
|
|
|