2024-04-11 15:51:56 +02:00
package traits
2024-07-19 19:16:28 +02:00
import "seekia/internal/helpers"
2024-04-11 15:51:56 +02:00
2024-07-19 19:16:28 +02:00
import "maps"
2024-04-11 15:51:56 +02:00
func getSkinColorTraitObject ( ) Trait {
2024-07-19 19:16:28 +02:00
// 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 {
2024-04-11 15:51:56 +02:00
//TODO: Add more SNPs.
// These SNPs are from https://www.snpedia.com/index.php/Appearance
1800422 ,
1126809 ,
26722 ,
1426654 ,
642742 ,
2024-07-19 19:16:28 +02:00
}
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 {
2024-04-11 15:51:56 +02:00
// These SNPs are from https://pubmed.ncbi.nlm.nih.gov/20546537/
16891982 ,
12203592 ,
1042602 ,
1834640 ,
2024-07-19 19:16:28 +02:00
}
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 {
2024-04-11 15:51:56 +02:00
// These SNPs are from https://link.springer.com/article/10.1007/s00403-019-01891-3
7182710 ,
784416 ,
7176696 ,
937171 ,
2762462 ,
10424065 ,
142317543 ,
3212369 ,
3212368 ,
}
2024-07-19 19:16:28 +02:00
for _ , rsID := range lociList_3 {
locusReferencesMap [ rsID ] = maps . Clone ( referencesMap_List3 )
}
2024-04-11 15:51:56 +02:00
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"
2024-07-19 19:16:28 +02:00
lociList := helpers . GetListOfMapKeys ( locusReferencesMap )
2024-04-11 15:51:56 +02:00
skinColorObject := Trait {
TraitName : "Skin Color" ,
TraitDescription : "The color of a person's skin." ,
2024-07-19 19:16:28 +02:00
DiscreteOrNumeric : "Discrete" ,
LocusReferencesMap : locusReferencesMap ,
LociList : lociList ,
LociList_Rules : [ ] int64 { } ,
2024-04-11 15:51:56 +02:00
RulesList : [ ] TraitRule { } ,
OutcomesList : [ ] string { } ,
2024-07-19 19:16:28 +02:00
ReferencesMap : referencesMap ,
2024-04-11 15:51:56 +02:00
}
return skinColorObject
}