2024-04-11 15:51:56 +02:00
package traits
2024-07-19 19:16:28 +02:00
import "seekia/internal/helpers"
import "maps"
2024-04-11 15:51:56 +02:00
func getFacialStructureTraitObject ( ) 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"
referencesMap_List1 [ "A Genome-Wide Association Study Identifies Five Loci Influencing Facial Morphology in Europeans" ] = "https://journals.plos.org/plosgenetics/article?id=10.1371/journal.pgen.1002932"
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
4648477 ,
4648478 ,
7516150 ,
7552331 ,
1572037 ,
1999527 ,
4648379 ,
1005999 ,
2422239 ,
2422241 ,
6749293 ,
16863422 ,
12694574 ,
2894450 ,
974448 ,
1978859 ,
2034127 ,
2034128 ,
2034129 ,
7628370 ,
7617069 ,
717463 ,
894883 ,
7640340 ,
875143 ,
6795519 ,
2168809 ,
9858909 ,
4552364 ,
4353811 ,
13098099 ,
13097965 ,
17447439 ,
6555969 ,
2342494 ,
10237319 ,
10265937 ,
10266101 ,
10237838 ,
10237488 ,
10278187 ,
10234405 ,
6950754 ,
6462544 ,
7803030 ,
12155314 ,
9692219 ,
1562006 ,
1562005 ,
7779616 ,
7799331 ,
7781059 ,
7807181 ,
6462562 ,
10485860 ,
2108166 ,
1158810 ,
6478394 ,
805722 ,
11191909 ,
1747677 ,
805693 ,
805694 ,
9971100 ,
2274107 ,
12358982 ,
11604811 ,
11237982 ,
1939697 ,
1939707 ,
10843104 ,
17252053 ,
4433629 ,
7966317 ,
1887276 ,
7965082 ,
12437560 ,
16977002 ,
16977008 ,
16977009 ,
4793389 ,
8079498 ,
7214306 ,
1019212 ,
1008591 ,
2327101 ,
6056066 ,
1015092 ,
975633 ,
6039266 ,
2327089 ,
4633993 ,
4053148 ,
6039272 ,
6056119 ,
6056126 ,
911020 ,
6020940 ,
6020957 ,
911015 ,
2832438 ,
397723 ,
}
2024-07-19 19:16:28 +02:00
for _ , rsID := range lociList_1 {
locusReferencesMap [ rsID ] = maps . Clone ( referencesMap_List1 )
}
facialStructureLociList := helpers . GetListOfMapKeys ( locusReferencesMap )
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 [ "A Genome-Wide Association Study Identifies Five Loci Influencing Facial Morphology in Europeans" ] = "https://journals.plos.org/plosgenetics/article?id=10.1371/journal.pgen.1002932"
facialStructureObject := Trait {
TraitName : "Facial Structure" ,
TraitDescription : "The structure of a person's face." ,
2024-07-19 19:16:28 +02:00
DiscreteOrNumeric : "Discrete" ,
LocusReferencesMap : locusReferencesMap ,
2024-04-11 15:51:56 +02:00
LociList : facialStructureLociList ,
2024-07-19 19:16:28 +02:00
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 facialStructureObject
}