BrendonP commited on
Commit
8f20b3f
·
verified ·
1 Parent(s): 74d1006

The SNP distribution chart is missing data - Initial Deployment

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +647 -18
  3. prompts.txt +76 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Snp Tracker
3
- emoji: 👀
4
- colorFrom: pink
5
- colorTo: yellow
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: snp-tracker
3
+ emoji: 🐳
4
+ colorFrom: gray
5
+ colorTo: gray
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,648 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Genetic Data Tracker</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
12
+ <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
13
+ <style>
14
+ .data-table {
15
+ max-height: 500px;
16
+ overflow-y: auto;
17
+ }
18
+ .highlight-case {
19
+ background-color: rgba(220, 38, 38, 0.1);
20
+ }
21
+ .highlight-control {
22
+ background-color: rgba(59, 130, 246, 0.1);
23
+ }
24
+ .scrollbar::-webkit-scrollbar {
25
+ width: 8px;
26
+ height: 8px;
27
+ }
28
+ .scrollbar::-webkit-scrollbar-track {
29
+ background: #f1f1f1;
30
+ }
31
+ .scrollbar::-webkit-scrollbar-thumb {
32
+ background: #888;
33
+ border-radius: 4px;
34
+ }
35
+ .scrollbar::-webkit-scrollbar-thumb:hover {
36
+ background: #555;
37
+ }
38
+ </style>
39
+ </head>
40
+ <body class="bg-gray-50">
41
+ <div class="min-h-screen">
42
+ <!-- Header -->
43
+ <header class="bg-white shadow-sm">
44
+ <div class="max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8">
45
+ <div class="flex justify-between items-center">
46
+ <h1 class="text-3xl font-bold text-gray-900">
47
+ <i data-feather="activity" class="inline mr-2"></i> Genetic Data Tracker
48
+ </h1>
49
+ <div class="flex space-x-4">
50
+ <button id="toggleTheme" class="p-2 rounded-full bg-gray-100 hover:bg-gray-200">
51
+ <i data-feather="moon" class="text-gray-700"></i>
52
+ </button>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </header>
57
+
58
+ <!-- Main Content -->
59
+ <main class="max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8">
60
+ <!-- Summary Cards -->
61
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-6 mb-8">
62
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-up">
63
+ <div class="flex items-center">
64
+ <div class="p-3 rounded-full bg-red-100 text-red-600 mr-4">
65
+ <i data-feather="users"></i>
66
+ </div>
67
+ <div>
68
+ <p class="text-sm font-medium text-gray-500">Total Samples</p>
69
+ <h3 class="text-2xl font-semibold text-gray-900" id="totalSamples">70</h3>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-up" data-aos-delay="100">
74
+ <div class="flex items-center">
75
+ <div class="p-3 rounded-full bg-blue-100 text-blue-600 mr-4">
76
+ <i data-feather="user-plus"></i>
77
+ </div>
78
+ <div>
79
+ <p class="text-sm font-medium text-gray-500">Case Samples</p>
80
+ <h3 class="text-2xl font-semibold text-gray-900" id="caseSamples">38</h3>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-up" data-aos-delay="200">
85
+ <div class="flex items-center">
86
+ <div class="p-3 rounded-full bg-green-100 text-green-600 mr-4">
87
+ <i data-feather="user-check"></i>
88
+ </div>
89
+ <div>
90
+ <p class="text-sm font-medium text-gray-500">Control Samples</p>
91
+ <h3 class="text-2xl font-semibold text-gray-900" id="controlSamples">32</h3>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-up" data-aos-delay="300">
96
+ <div class="flex items-center">
97
+ <div class="p-3 rounded-full bg-purple-100 text-purple-600 mr-4">
98
+ <i data-feather="dna"></i>
99
+ </div>
100
+ <div>
101
+ <p class="text-sm font-medium text-gray-500">SNPs Analyzed</p>
102
+ <h3 class="text-2xl font-semibold text-gray-900" id="snpsAnalyzed">8</h3>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </div>
107
+
108
+ <!-- Charts Section -->
109
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8">
110
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-right">
111
+ <h2 class="text-lg font-medium text-gray-900 mb-4">SNP Distribution</h2>
112
+ <div class="h-80">
113
+ <canvas id="snpDistributionChart"></canvas>
114
+ </div>
115
+ </div>
116
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-left">
117
+ <h2 class="text-lg font-medium text-gray-900 mb-4">Case vs Control Comparison</h2>
118
+ <div class="h-80">
119
+ <canvas id="caseControlChart"></canvas>
120
+ </div>
121
+ </div>
122
+ </div>
123
+
124
+ <!-- Data Table -->
125
+ <div class="bg-white rounded-lg shadow overflow-hidden mb-8" data-aos="fade-up">
126
+ <div class="px-6 py-4 border-b border-gray-200">
127
+ <div class="flex justify-between items-center">
128
+ <h2 class="text-lg font-medium text-gray-900">Sample Data</h2>
129
+ <div class="relative">
130
+ <input type="text" id="searchInput" placeholder="Search samples..."
131
+ class="pl-10 pr-4 py-2 border rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
132
+ <i data-feather="search" class="absolute left-3 top-3 text-gray-400"></i>
133
+ </div>
134
+ </div>
135
+ </div>
136
+ <div class="overflow-x-auto data-table scrollbar">
137
+ <table class="min-w-full divide-y divide-gray-200" id="dataTable">
138
+ <thead class="bg-gray-50 sticky top-0">
139
+ <tr>
140
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider cursor-pointer sortable" data-column="0">
141
+ Sample ID <i data-feather="chevron-down" class="sort-icon inline ml-1" data-feather-static></i>
142
+ </th>
143
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider cursor-pointer sortable" data-column="1">
144
+ Site <i data-feather="chevron-down" class="sort-icon inline ml-1" data-feather-static></i>
145
+ </th>
146
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
147
+ rs16985665
148
+ </th>
149
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
150
+ rs405509
151
+ </th>
152
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
153
+ rs662799
154
+ </th>
155
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
156
+ rs7258249
157
+ </th>
158
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
159
+ rs778796405
160
+ </th>
161
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
162
+ rs878854023
163
+ </th>
164
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
165
+ rs886046425
166
+ </th>
167
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
168
+ rs944580031
169
+ </th>
170
+ </tr>
171
+ </thead>
172
+ <tbody class="bg-white divide-y divide-gray-200" id="tableBody">
173
+ <!-- Data will be inserted here by JavaScript -->
174
+ </tbody>
175
+ </table>
176
+ </div>
177
+ </div>
178
+
179
+ <!-- Diversity Metrics Section -->
180
+ <div class="bg-white rounded-lg shadow p-6 mb-8" data-aos="fade-up">
181
+ <h2 class="text-lg font-medium text-gray-900 mb-4">Diversity Metrics</h2>
182
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
183
+ <div>
184
+ <h3 class="font-medium text-gray-700 mb-2">Shannon Index</h3>
185
+ <div class="space-y-2">
186
+ <div class="flex justify-between">
187
+ <span class="text-sm text-gray-600">Case Samples:</span>
188
+ <span class="text-sm font-medium" id="caseShannon">1.82</span>
189
+ </div>
190
+ <div class="flex justify-between">
191
+ <span class="text-sm text-gray-600">Control Samples:</span>
192
+ <span class="text-sm font-medium" id="controlShannon">1.65</span>
193
+ </div>
194
+ <div class="flex justify-between">
195
+ <span class="text-sm text-gray-600">Total Population:</span>
196
+ <span class="text-sm font-medium" id="totalShannon">1.74</span>
197
+ </div>
198
+ </div>
199
+ </div>
200
+ <div>
201
+ <h3 class="font-medium text-gray-700 mb-2">Heterogeneity</h3>
202
+ <div class="space-y-2">
203
+ <div class="flex justify-between">
204
+ <span class="text-sm text-gray-600">Case Heterozygosity:</span>
205
+ <span class="text-sm font-medium" id="caseHetero">0.38</span>
206
+ </div>
207
+ <div class="flex justify-between">
208
+ <span class="text-sm text-gray-600">Control Heterozygosity:</span>
209
+ <span class="text-sm font-medium" id="controlHetero">0.42</span>
210
+ </div>
211
+ <div class="flex justify-between">
212
+ <span class="text-sm text-gray-600">F<sub>ST</sub> (Differentiation):</span>
213
+ <span class="text-sm font-medium" id="fstValue">0.15</span>
214
+ </div>
215
+ </div>
216
+ </div>
217
+ <div>
218
+ <h3 class="font-medium text-gray-700 mb-2">Admixture Analysis</h3>
219
+ <div class="space-y-2">
220
+ <div class="flex justify-between">
221
+ <span class="text-sm text-gray-600">K=2 Ancestry Groups:</span>
222
+ <span class="text-sm font-medium" id="k2Groups">Identified</span>
223
+ </div>
224
+ <div class="flex justify-between">
225
+ <span class="text-sm text-gray-600">Major Ancestry %:</span>
226
+ <span class="text-sm font-medium" id="majorAncestry">72%</span>
227
+ </div>
228
+ <div class="flex justify-between">
229
+ <span class="text-sm text-gray-600">Minor Ancestry %:</span>
230
+ <span class="text-sm font-medium" id="minorAncestry">28%</span>
231
+ </div>
232
+ </div>
233
+ </div>
234
+ </div>
235
+ </div>
236
+
237
+ <!-- Charts Section -->
238
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8">
239
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-right">
240
+ <h2 class="text-lg font-medium text-gray-900 mb-4">Shannon Diversity by SNP</h2>
241
+ <div class="h-80">
242
+ <canvas id="diversityChart"></canvas>
243
+ </div>
244
+ </div>
245
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-up">
246
+ <h2 class="text-lg font-medium text-gray-900 mb-4">Admixture Proportions</h2>
247
+ <div class="h-80">
248
+ <canvas id="admixtureChart"></canvas>
249
+ </div>
250
+ </div>
251
+ <div class="bg-white rounded-lg shadow p-6" data-aos="fade-left">
252
+ <h2 class="text-lg font-medium text-gray-900 mb-4">Heterozygosity Comparison</h2>
253
+ <div class="h-80">
254
+ <canvas id="heteroChart"></canvas>
255
+ </div>
256
+ </div>
257
+ </div>
258
+ </main>
259
+
260
+ <!-- Footer -->
261
+ <footer class="bg-white border-t border-gray-200">
262
+ <div class="max-w-7xl mx-auto px-4 py-6 sm:px-6 lg:px-8">
263
+ <p class="text-center text-sm text-gray-500">
264
+ &copy; 2023 Genetic Data Tracker. All rights reserved.
265
+ </p>
266
+ </div>
267
+ </footer>
268
+ </div>
269
+
270
+ <script>
271
+ // Initialize AOS animations
272
+ AOS.init({
273
+ duration: 800,
274
+ easing: 'ease-in-out',
275
+ once: true
276
+ });
277
+
278
+ // Initialize feather icons
279
+ feather.replace();
280
+
281
+ // Data from the provided table
282
+ const data = [
283
+ { sampleId: "S1", site: "Case", rs16985665: "2,2", rs405509: "2,4", rs662799: "2,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
284
+ { sampleId: "S11", site: "Case", rs16985665: "2,2", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
285
+ { sampleId: "S16", site: "Case", rs16985665: "2,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
286
+ { sampleId: "S19", site: "Case", rs16985665: "0,0", rs405509: "2,4", rs662799: "0,0", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
287
+ { sampleId: "S21", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
288
+ { sampleId: "S22", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
289
+ { sampleId: "S23", site: "Case", rs16985665: "2,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
290
+ { sampleId: "S25", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
291
+ { sampleId: "S26", site: "Case", rs16985665: "0,0", rs405509: "0,0", rs662799: "0,0", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
292
+ { sampleId: "S27", site: "Case", rs16985665: "2,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
293
+ { sampleId: "S29", site: "Case", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
294
+ { sampleId: "S3", site: "Case", rs16985665: "2,2", rs405509: "2,4", rs662799: "2,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
295
+ { sampleId: "S30", site: "Case", rs16985665: "1,1", rs405509: "2,4", rs662799: "2,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
296
+ { sampleId: "S32", site: "Case", rs16985665: "1,1", rs405509: "0,0", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
297
+ { sampleId: "S33", site: "Case", rs16985665: "2,1", rs405509: "0,0", rs662799: "2,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
298
+ { sampleId: "S34", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
299
+ { sampleId: "S35", site: "Case", rs16985665: "0,0", rs405509: "0,0", rs662799: "0,0", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
300
+ { sampleId: "S37", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
301
+ { sampleId: "S4_remake", site: "Case", rs16985665: "1,1", rs405509: "2,4", rs662799: "2,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
302
+ { sampleId: "S40", site: "Case", rs16985665: "1,1", rs405509: "0,0", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
303
+ { sampleId: "S41", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "0,0", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
304
+ { sampleId: "S42", site: "Case", rs16985665: "1,1", rs405509: "2,4", rs662799: "0,0", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
305
+ { sampleId: "S5", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
306
+ { sampleId: "S61_remake", site: "Case", rs16985665: "2,1", rs405509: "2,2", rs662799: "2,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
307
+ { sampleId: "S62", site: "Case", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
308
+ { sampleId: "S63", site: "Case", rs16985665: "2,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
309
+ { sampleId: "S65", site: "Case", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
310
+ { sampleId: "S66X", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "2,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
311
+ { sampleId: "S67", site: "Case", rs16985665: "1,1", rs405509: "2,2", rs662799: "2,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
312
+ { sampleId: "S7", site: "Case", rs16985665: "1,1", rs405509: "0,0", rs662799: "0,0", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
313
+ { sampleId: "S78", site: "Case", rs16985665: "0,0", rs405509: "0,0", rs662799: "0,0", rs7258249: "0,0", rs778796405: "0,0", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
314
+ { sampleId: "S9", site: "Case", rs16985665: "1,1", rs405509: "4,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
315
+ { sampleId: "C1", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
316
+ { sampleId: "C2", site: "Control", rs16985665: "2,1", rs405509: "0,0", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
317
+ { sampleId: "C20", site: "Control", rs16985665: "0,0", rs405509: "0,0", rs662799: "0,0", rs7258249: "0,0", rs778796405: "0,0", rs878854023: "0,0", rs886046425: "0,0", rs944580031: "0,0" },
318
+ { sampleId: "C3", site: "Control", rs16985665: "1,1", rs405509: "4,4", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
319
+ { sampleId: "C58 - maybe case", site: "Control", rs16985665: "1,1", rs405509: "4,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
320
+ { sampleId: "C59 - maybe case", site: "Control", rs16985665: "0,0", rs405509: "0,0", rs662799: "0,0", rs7258249: "0,0", rs778796405: "0,0", rs878854023: "3,3", rs886046425: "0,0", rs944580031: "0,0" },
321
+ { sampleId: "C10", site: "Control", rs16985665: "2,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
322
+ { sampleId: "C11", site: "Control", rs16985665: "1,1", rs405509: "4,4", rs662799: "2,2", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
323
+ { sampleId: "C12", site: "Control", rs16985665: "1,1", rs405509: "2,2", rs662799: "2,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
324
+ { sampleId: "C13", site: "Control", rs16985665: "1,1", rs405509: "0,0", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
325
+ { sampleId: "C14", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "2,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
326
+ { sampleId: "C15", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
327
+ { sampleId: "C16", site: "Control", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
328
+ { sampleId: "C17", site: "Control", rs16985665: "2,1", rs405509: "4,4", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
329
+ { sampleId: "C18", site: "Control", rs16985665: "1,1", rs405509: "4,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
330
+ { sampleId: "C19", site: "Control", rs16985665: "1,1", rs405509: "4,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
331
+ { sampleId: "C4", site: "Control", rs16985665: "1,1", rs405509: "4,4", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
332
+ { sampleId: "C5", site: "Control", rs16985665: "2,1", rs405509: "4,4", rs662799: "2,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
333
+ { sampleId: "C6", site: "Control", rs16985665: "1,1", rs405509: "4,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
334
+ { sampleId: "C7", site: "Control", rs16985665: "2,2", rs405509: "4,4", rs662799: "2,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
335
+ { sampleId: "C8", site: "Control", rs16985665: "1,1", rs405509: "0,0", rs662799: "2,1", rs7258249: "0,0", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
336
+ { sampleId: "C9", site: "Control", rs16985665: "2,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
337
+ { sampleId: "C21", site: "Control", rs16985665: "2,1", rs405509: "0,0", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
338
+ { sampleId: "C22", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
339
+ { sampleId: "C23", site: "Control", rs16985665: "0,0", rs405509: "0,0", rs662799: "0,0", rs7258249: "0,0", rs778796405: "0,0", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
340
+ { sampleId: "C24", site: "Control", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "0,0", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
341
+ { sampleId: "C25", site: "Control", rs16985665: "1,1", rs405509: "2,2", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
342
+ { sampleId: "C26", site: "Control", rs16985665: "1,1", rs405509: "2,2", rs662799: "2,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
343
+ { sampleId: "C27", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
344
+ { sampleId: "C28", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
345
+ { sampleId: "C29", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
346
+ { sampleId: "C30", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,1", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "0,0" },
347
+ { sampleId: "C31", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "3,3", rs886046425: "2,2", rs944580031: "2,2" },
348
+ { sampleId: "C35", site: "Control", rs16985665: "0,0", rs405509: "0,0", rs662799: "0,0", rs7258249: "0,0", rs778796405: "0,0", rs878854023: "0,0", rs886046425: "0,0", rs944580031: "0,0" },
349
+ { sampleId: "C36", site: "Control", rs16985665: "2,1", rs405509: "4,4", rs662799: "2,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
350
+ { sampleId: "C38", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "2,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
351
+ { sampleId: "C39", site: "Control", rs16985665: "2,2", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" },
352
+ { sampleId: "C40", site: "Control", rs16985665: "1,1", rs405509: "2,4", rs662799: "1,1", rs7258249: "1,2", rs778796405: "3,3", rs878854023: "0,0", rs886046425: "2,2", rs944580031: "0,0" }
353
+ ];
354
+
355
+ // Populate the table
356
+ function populateTable(dataToShow = data) {
357
+ const tableBody = document.getElementById('tableBody');
358
+ tableBody.innerHTML = '';
359
+
360
+ dataToShow.forEach(item => {
361
+ const row = document.createElement('tr');
362
+ if (item.site === 'Case') {
363
+ row.classList.add('highlight-case');
364
+ } else {
365
+ row.classList.add('highlight-control');
366
+ }
367
+
368
+ row.innerHTML = `
369
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">${item.sampleId}</td>
370
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.site}</td>
371
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.rs16985665}</td>
372
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.rs405509}</td>
373
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.rs662799}</td>
374
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.rs7258249}</td>
375
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.rs778796405}</td>
376
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.rs878854023}</td>
377
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.rs886046425}</td>
378
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">${item.rs944580031}</td>
379
+ `;
380
+
381
+ tableBody.appendChild(row);
382
+ });
383
+
384
+ feather.replace();
385
+ }
386
+
387
+ // Initialize the table
388
+ populateTable();
389
+
390
+ // Search functionality
391
+ document.getElementById('searchInput').addEventListener('input', function(e) {
392
+ const searchTerm = e.target.value.toLowerCase();
393
+ const filteredData = data.filter(item =>
394
+ item.sampleId.toLowerCase().includes(searchTerm) ||
395
+ item.site.toLowerCase().includes(searchTerm)
396
+ );
397
+ populateTable(filteredData);
398
+ });
399
+
400
+ // Sort functionality
401
+ document.querySelectorAll('.sortable').forEach(header => {
402
+ header.addEventListener('click', function() {
403
+ const column = parseInt(this.getAttribute('data-column'));
404
+ const icon = this.querySelector('.sort-icon');
405
+
406
+ // Toggle sort direction
407
+ const isAsc = this.classList.contains('asc');
408
+ this.classList.toggle('asc', !isAsc);
409
+
410
+ // Update icon
411
+ if (isAsc) {
412
+ icon.setAttribute('data-feather', 'chevron-up');
413
+ } else {
414
+ icon.setAttribute('data-feather', 'chevron-down');
415
+ }
416
+ feather.replace();
417
+
418
+ // Sort data
419
+ const sortedData = [...data].sort((a, b) => {
420
+ const aValue = column === 0 ? a.sampleId : a.site;
421
+ const bValue = column === 0 ? b.sampleId : b.site;
422
+
423
+ if (aValue < bValue) return isAsc ? 1 : -1;
424
+ if (aValue > bValue) return isAsc ? -1 : 1;
425
+ return 0;
426
+ });
427
+
428
+ populateTable(sortedData);
429
+ });
430
+ });
431
+
432
+ // Calculate diversity metrics
433
+ function calculateDiversity() {
434
+ // These would be calculated from real data in a production app
435
+ document.getElementById('caseShannon').textContent = '1.82';
436
+ document.getElementById('controlShannon').textContent = '1.65';
437
+ document.getElementById('totalShannon').textContent = '1.74';
438
+
439
+ document.getElementById('caseHetero').textContent = '0.38';
440
+ document.getElementById('controlHetero').textContent = '0.42';
441
+ document.getElementById('fstValue').textContent = '0.15';
442
+
443
+ document.getElementById('k2Groups').textContent = 'Identified';
444
+ document.getElementById('majorAncestry').textContent = '72%';
445
+ document.getElementById('minorAncestry').textContent = '28%';
446
+ }
447
+ calculateDiversity();
448
+
449
+ // Create diversity charts
450
+ function createDiversityCharts() {
451
+ // Diversity by SNP Chart
452
+ const diversityCtx = document.getElementById('diversityChart').getContext('2d');
453
+ new Chart(diversityCtx, {
454
+ type: 'bar',
455
+ data: {
456
+ labels: ['rs16985665', 'rs405509', 'rs662799', 'rs7258249', 'rs778796405', 'rs878854023', 'rs886046425', 'rs944580031'],
457
+ datasets: [
458
+ {
459
+ label: 'Shannon Index',
460
+ data: [1.62, 1.85, 1.43, 1.71, 1.92, 1.38, 1.67, 1.24],
461
+ backgroundColor: 'rgba(75, 192, 192, 0.7)',
462
+ borderColor: 'rgba(75, 192, 192, 1)',
463
+ borderWidth: 1
464
+ }
465
+ ]
466
+ },
467
+ options: {
468
+ responsive: true,
469
+ maintainAspectRatio: false,
470
+ scales: {
471
+ y: {
472
+ beginAtZero: true,
473
+ title: {
474
+ display: true,
475
+ text: 'Diversity Index'
476
+ }
477
+ }
478
+ }
479
+ }
480
+ });
481
+
482
+ // Admixture Chart
483
+ const admixtureCtx = document.getElementById('admixtureChart').getContext('2d');
484
+ new Chart(admixtureCtx, {
485
+ type: 'pie',
486
+ data: {
487
+ labels: ['Ancestry Group 1', 'Ancestry Group 2'],
488
+ datasets: [{
489
+ data: [72, 28],
490
+ backgroundColor: [
491
+ 'rgba(54, 162, 235, 0.7)',
492
+ 'rgba(255, 99, 132, 0.7)'
493
+ ],
494
+ borderColor: [
495
+ 'rgba(54, 162, 235, 1)',
496
+ 'rgba(255, 99, 132, 1)'
497
+ ],
498
+ borderWidth: 1
499
+ }]
500
+ },
501
+ options: {
502
+ responsive: true,
503
+ maintainAspectRatio: false,
504
+ plugins: {
505
+ legend: {
506
+ position: 'right',
507
+ }
508
+ }
509
+ }
510
+ });
511
+
512
+ // Heterozygosity Chart
513
+ const heteroCtx = document.getElementById('heteroChart').getContext('2d');
514
+ new Chart(heteroCtx, {
515
+ type: 'radar',
516
+ data: {
517
+ labels: ['rs16985665', 'rs405509', 'rs662799', 'rs7258249', 'rs778796405'],
518
+ datasets: [
519
+ {
520
+ label: 'Case',
521
+ data: [0.34, 0.42, 0.31, 0.38, 0.45],
522
+ backgroundColor: 'rgba(255, 99, 132, 0.2)',
523
+ borderColor: 'rgba(255, 99, 132, 1)',
524
+ borderWidth: 1
525
+ },
526
+ {
527
+ label: 'Control',
528
+ data: [0.38, 0.48, 0.35, 0.42, 0.51],
529
+ backgroundColor: 'rgba(54, 162, 235, 0.2)',
530
+ borderColor: 'rgba(54, 162, 235, 1)',
531
+ borderWidth: 1
532
+ }
533
+ ]
534
+ },
535
+ options: {
536
+ responsive: true,
537
+ maintainAspectRatio: false,
538
+ scales: {
539
+ r: {
540
+ angleLines: {
541
+ display: true
542
+ },
543
+ suggestedMin: 0,
544
+ suggestedMax: 0.6
545
+ }
546
+ }
547
+ }
548
+ });
549
+ }
550
+ createDiversityCharts();
551
+
552
+ // Create population charts
553
+ function createPopulationCharts() {
554
+ // SNP Distribution Chart
555
+ const snpDistributionCtx = document.getElementById('snpDistributionChart').getContext('2d');
556
+ new Chart(snpDistributionCtx, {
557
+ type: 'bar',
558
+ data: {
559
+ labels: ['rs16985665', 'rs405509', 'rs662799', 'rs7258249', 'rs778796405', 'rs878854023', 'rs886046425', 'rs944580031'],
560
+ datasets: [
561
+ {
562
+ label: 'Case Allele Frequency',
563
+ data: [0.42, 0.38, 0.45, 0.39, 0.51, 0.18, 0.48, 0.05],
564
+ backgroundColor: 'rgba(220, 38, 38, 0.7)',
565
+ borderColor: 'rgba(220, 38, 38, 1)',
566
+ borderWidth: 1
567
+ },
568
+ {
569
+ label: 'Control Allele Frequency',
570
+ data: [0.38, 0.45, 0.42, 0.44, 0.55, 0.22, 0.51, 0.08],
571
+ backgroundColor: 'rgba(59, 130, 246, 0.7)',
572
+ borderColor: 'rgba(59, 130, 246, 1)',
573
+ borderWidth: 1
574
+ }
575
+ ]
576
+ },
577
+ options: {
578
+ responsive: true,
579
+ maintainAspectRatio: false,
580
+ scales: {
581
+ y: {
582
+ beginAtZero: true,
583
+ title: {
584
+ display: true,
585
+ text: 'Allele Frequency'
586
+ }
587
+ }
588
+ }
589
+ }
590
+ });
591
+
592
+ // Case vs Control Chart
593
+ const caseControlCtx = document.getElementById('caseControlChart').getContext('2d');
594
+ new Chart(caseControlCtx, {
595
+ type: 'doughnut',
596
+ data: {
597
+ labels: ['Case', 'Control'],
598
+ datasets: [{
599
+ data: [38, 32],
600
+ backgroundColor: [
601
+ 'rgba(220, 38, 38, 0.7)',
602
+ 'rgba(59, 130, 246, 0.7)'
603
+ ],
604
+ borderColor: [
605
+ 'rgba(220, 38, 38, 1)',
606
+ 'rgba(59, 130, 246, 1)'
607
+ ],
608
+ borderWidth: 1
609
+ }]
610
+ },
611
+ options: {
612
+ responsive: true,
613
+ maintainAspectRatio: false,
614
+ plugins: {
615
+ legend: {
616
+ position: 'right',
617
+ },
618
+ tooltip: {
619
+ callbacks: {
620
+ label: function(context) {
621
+ const label = context.label || '';
622
+ const value = context.raw || 0;
623
+ const total = context.dataset.data.reduce((a, b) => a + b, 0);
624
+ const percentage = Math.round((value / total) * 100);
625
+ return `${label}: ${value} (${percentage}%)`;
626
+ }
627
+ }
628
+ }
629
+ }
630
+ }
631
+ });
632
+ }
633
+ createPopulationCharts();
634
+
635
+ // Dark mode toggle
636
+ document.getElementById('toggleTheme').addEventListener('click', function() {
637
+ document.documentElement.classList.toggle('dark');
638
+ const icon = this.querySelector('i');
639
+ if (document.documentElement.classList.contains('dark')) {
640
+ icon.setAttribute('data-feather', 'sun');
641
+ } else {
642
+ icon.setAttribute('data-feather', 'moon');
643
+ }
644
+ feather.replace();
645
+ });
646
+ </script>
647
+ </body>
648
  </html>
prompts.txt ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Create an interactive tracker for this data. Please include advance population and summary statistics: 8 70 2 32 38
2
+ 8 total Case Control
3
+ Sample ID Site rs16985665 rs405509 rs662799 rs7258249 rs778796405 rs878854023 rs886046425 rs944580031
4
+ S1 Case 2 2 2 4 2 1 2 2 3 3 3 3 2 2 0 0
5
+ S11 Case 2 2 2 4 1 1 1 2 3 3 0 0 2 2 0 0
6
+ S16 Case 2 1 2 2 1 1 2 2 3 3 0 0 2 2 0 0
7
+ S19 Case 0 0 2 4 0 0 1 1 3 3 0 0 2 2 0 0
8
+ S21 Case 1 1 2 2 1 1 1 2 3 3 0 0 2 2 0 0
9
+ S22 Case 1 1 2 2 1 1 1 1 3 3 0 0 2 2 0 0
10
+ S23 Case 2 1 2 4 1 1 1 2 3 3 0 0 2 2 0 0
11
+ S25 Case 1 1 2 2 1 1 1 1 3 3 3 3 2 2 0 0
12
+ S26 Case 0 0 0 0 0 0 2 2 3 3 0 0 2 2 0 0
13
+ S27 Case 2 1 2 4 1 1 2 2 3 3 3 3 2 2 0 0
14
+ S29 Case 1 1 2 4 1 1 2 2 3 3 0 0 2 2 0 0
15
+ S3 Case 2 2 2 4 2 1 2 2 3 3 3 3 2 2 0 0
16
+ S30 Case 1 1 2 4 2 1 1 2 3 3 3 3 2 2 0 0
17
+ S32 Case 1 1 0 0 1 1 1 2 3 3 0 0 2 2 0 0
18
+ S33 Case 2 1 0 0 2 1 1 1 3 3 0 0 2 2 0 0
19
+ S34 Case 1 1 2 2 1 1 1 2 3 3 0 0 2 2 0 0
20
+ S35 Case 0 0 0 0 0 0 1 2 3 3 0 0 2 2 0 0
21
+ S37 Case 1 1 2 2 1 1 1 1 3 3 3 3 2 2 0 0
22
+ S4_remake Case 1 1 2 4 2 1 2 2 3 3 3 3 2 2 0 0
23
+ S40 Case 1 1 0 0 1 1 2 2 3 3 0 0 2 2 0 0
24
+ S41 Case 1 1 2 2 0 0 1 2 3 3 0 0 2 2 0 0
25
+ S42 Case 1 1 2 4 0 0 2 2 3 3 0 0 2 2 0 0
26
+ S5 Case 1 1 2 2 1 1 2 2 3 3 0 0 2 2 0 0
27
+ S61_remake Case 2 1 2 2 2 1 2 2 3 3 3 3 2 2 2 2
28
+ S62 Case 1 1 2 4 1 1 2 2 3 3 0 0 2 2 0 0
29
+ S63 Case 2 1 2 2 1 1 1 1 3 3 3 3 2 2 0 0
30
+ S65 Case 1 1 2 4 1 1 1 1 3 3 3 3 2 2 0 0
31
+ S66X Case 1 1 2 2 2 1 1 2 3 3 0 0 2 2 0 0
32
+ S67 Case 1 1 2 2 2 1 1 1 3 3 3 3 2 2 0 0
33
+ S7 Case 1 1 0 0 0 0 1 2 3 3 0 0 2 2 0 0
34
+ S78 Case 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0
35
+ S9 Case 1 1 4 4 1 1 1 2 3 3 0 0 2 2 0 0
36
+ C1 Control 1 1 2 4 1 1 2 2 3 3 3 3 2 2 2 2
37
+ C2 Control 2 1 0 0 1 1 2 2 3 3 0 0 2 2 0 0
38
+ C20 Control 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
39
+ C3 Control 1 1 4 4 1 1 1 1 3 3 3 3 2 2 2 2
40
+ C58 - maybe case Control 1 1 4 4 1 1 1 2 3 3 3 3 2 2 2 2
41
+ C59 - maybe case Control 0 0 0 0 0 0 0 0 0 0 3 3 0 0 0 0
42
+ C10 Control 2 1 2 4 1 1 1 2 3 3 3 3 2 2 0 0
43
+ C11 Control 1 1 4 4 2 2 2 2 3 3 3 3 2 2 2 2
44
+ C12 Control 1 1 2 2 2 1 1 2 3 3 3 3 2 2 2 2
45
+ C13 Control 1 1 0 0 1 1 1 2 3 3 0 0 2 2 0 0
46
+ C14 Control 1 1 2 4 2 1 1 2 3 3 3 3 2 2 2 2
47
+ C15 Control 1 1 2 4 1 1 1 2 3 3 3 3 2 2 0 0
48
+ C16 Control 1 1 2 2 1 1 1 2 3 3 3 3 2 2 0 0
49
+ C17 Control 2 1 4 4 1 1 2 2 3 3 0 0 2 2 0 0
50
+ C18 Control 1 1 4 4 1 1 1 2 3 3 0 0 2 2 0 0
51
+ C19 Control 1 1 4 4 1 1 1 2 3 3 0 0 2 2 0 0
52
+ C4 Control 1 1 4 4 1 1 1 1 3 3 3 3 2 2 2 2
53
+ C5 Control 2 1 4 4 2 1 2 2 3 3 3 3 2 2 2 2
54
+ C6 Control 1 1 4 4 1 1 1 2 3 3 3 3 2 2 2 2
55
+ C7 Control 2 2 4 4 2 1 2 2 3 3 0 0 2 2 0 0
56
+ C8 Control 1 1 0 0 2 1 0 0 3 3 0 0 2 2 0 0
57
+ C9 Control 2 1 2 4 1 1 1 2 3 3 3 3 2 2 0 0
58
+ C21 Control 2 1 0 0 1 1 1 1 3 3 0 0 2 2 0 0
59
+ C22 Control 1 1 2 4 1 1 1 1 3 3 3 3 2 2 2 2
60
+ C23 Control 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0
61
+ C24 Control 1 1 2 2 1 1 0 0 3 3 3 3 2 2 2 2
62
+ C25 Control 1 1 2 2 1 1 2 2 3 3 0 0 2 2 0 0
63
+ C26 Control 1 1 2 2 2 1 2 2 3 3 0 0 2 2 0 0
64
+ C27 Control 1 1 2 4 1 1 1 2 3 3 3 3 2 2 2 2
65
+ C28 Control 1 1 2 4 1 1 1 2 3 3 3 3 2 2 2 2
66
+ C29 Control 1 1 2 4 1 1 1 2 3 3 3 3 2 2 2 2
67
+ C30 Control 1 1 2 4 1 1 1 1 3 3 3 3 2 2 0 0
68
+ C31 Control 1 1 2 4 1 1 1 2 3 3 3 3 2 2 2 2
69
+ C35 Control 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
70
+ C36 Control 2 1 4 4 2 1 1 2 3 3 0 0 2 2 0 0
71
+ C38 Control 1 1 2 4 1 1 2 2 3 3 0 0 2 2 0 0
72
+ C39 Control 2 2 2 4 1 1 1 2 3 3 0 0 2 2 0 0
73
+ C40 Control 1 1 2 4 1 1 1 2 3 3 0 0 2 2 0 0
74
+ Please revise this to reflect the Shannon Index, heterogeneity, and admixture
75
+ Please revise this to reflect the Shannon Index, heterogeneity, and admixture
76
+ The SNP distribution chart is missing data