151 lines
2.7 KiB
Go
151 lines
2.7 KiB
Go
package traits
|
|
|
|
import "seekia/internal/helpers"
|
|
|
|
import "maps"
|
|
|
|
func getFacialStructureTraitObject()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["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{
|
|
|
|
//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,
|
|
}
|
|
|
|
for _, rsID := range lociList_1{
|
|
|
|
locusReferencesMap[rsID] = maps.Clone(referencesMap_List1)
|
|
}
|
|
|
|
facialStructureLociList := helpers.GetListOfMapKeys(locusReferencesMap)
|
|
|
|
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.",
|
|
DiscreteOrNumeric: "Discrete",
|
|
LocusReferencesMap: locusReferencesMap,
|
|
LociList: facialStructureLociList,
|
|
LociList_Rules: []int64{},
|
|
RulesList: []TraitRule{},
|
|
OutcomesList: []string{},
|
|
ReferencesMap: referencesMap,
|
|
}
|
|
|
|
return facialStructureObject
|
|
}
|
|
|
|
|