seekia/resources/geneticReferences/traits/hairColor.go

72 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{},
NumericValueFormatter: nil,
ReferencesMap: referencesMap,
}
return hairColorObject
}