seekia/resources/geneticReferences/traits/skinColor.go

90 lines
2.5 KiB
Go

package traits
import "seekia/internal/helpers"
import "maps"
func getSkinColorTraitObject()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"
lociList_1 := []int64{
//TODO: Add more SNPs.
// These SNPs are from https://www.snpedia.com/index.php/Appearance
1800422,
1126809,
26722,
1426654,
642742,
}
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/"
lociList_2 := []int64{
// These SNPs are from https://pubmed.ncbi.nlm.nih.gov/20546537/
16891982,
12203592,
1042602,
1834640,
}
for _, rsID := range lociList_2{
locusReferencesMap[rsID] = maps.Clone(referencesMap_List2)
}
referencesMap_List3 := make(map[string]string)
referencesMap_List3["Meta-analysis and prioritization of human skin pigmentation-associated GWAS-SNPs using ENCODE data-based web-tools"] = "https://link.springer.com/article/10.1007/s00403-019-01891-3"
lociList_3 := []int64{
// These SNPs are from https://link.springer.com/article/10.1007/s00403-019-01891-3
7182710,
784416,
7176696,
937171,
2762462,
10424065,
142317543,
3212369,
3212368,
}
for _, rsID := range lociList_3{
locusReferencesMap[rsID] = maps.Clone(referencesMap_List3)
}
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/"
referencesMap["Meta-analysis and prioritization of human skin pigmentation-associated GWAS-SNPs using ENCODE data-based web-tools"] = "https://link.springer.com/article/10.1007/s00403-019-01891-3"
lociList := helpers.GetListOfMapKeys(locusReferencesMap)
skinColorObject := Trait{
TraitName: "Skin Color",
TraitDescription: "The color of a person's skin.",
DiscreteOrNumeric: "Discrete",
LocusReferencesMap: locusReferencesMap,
LociList: lociList,
LociList_Rules: []int64{},
RulesList: []TraitRule{},
OutcomesList: []string{},
ReferencesMap: referencesMap,
}
return skinColorObject
}