-
Notifications
You must be signed in to change notification settings - Fork 8
/
genetics-research.html
503 lines (487 loc) · 36.2 KB
/
genetics-research.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
---
layout: page
permalink: /genetics-research/
---
<!-- START: hero-type-2 -->
<div class="hero hero--type-2">
<div class="container">
<div class="row">
<div class="col-md-8 col-lg-6">
<!-- NOTE: H1 here not H2 -->
<h1 class="hero__heading">
The tskit ecosystem for your research
</h1>
<div class="hero__content wysiwyg">
<p>
Tskit enables rapid and principled genomic analysis. The tree
sequence file format provides an optimised, scalable way to
store genetic variation data, and underlies modern whole-genome
simulation software such as
<a href="software/msprime.html">msprime</a>. This is achieved
by focussing on the evolutionary trees that underlie DNA
sequence data, and providing efficent methods to analyse them.
Tskit therefore provides a common software framework that can be
used across the
fields of <a href="#popgen">population genetics</a>,
<a href="#statgen">statistical genetics</a>, and
<a href="#phylogen">phylogenetics</a>.
</p>
<p>
Below we summarise the application and advantages of the tskit
ecosystem in four key areas:
</p>
</div>
</div>
</div>
</div>
</div>
<!-- END: hero-type-2 -->
<!-- START: panels-section -->
<section class="section section--panels">
<div class="container">
<!-- START: panel -->
<div class="row">
<div class="col-lg-10 offset-lg-1">
<div class="section__content">
<div class="row">
<!-- NOTE: Order is swapped on these two cols below lg breakpoint -->
<div class="col-10 col-lg-6 offset-1 order-1 order-lg-0">
<h2 class="section__heading" id="popgen">
Population genetics
</h2>
<div class="wysiwyg">
<p>
The tskit file format can store
DNA sequence data from millions of individuals
in a fraction of the space required by conventional
matrix-based methods.
Genetic variation data in tree sequence form
can be generated using a number of
simulation tools or inferred from existing data.
</p>
<p>
Once in tree sequence form, the tskit library
can be used for rapid analysis: there are
built-in functions that efficiently calculate many
standard population genetic statistics. Because
tree sequences capture the full genetic relationships
between a set of genomes (and can encode the full
ancestral recombination graph, or ARG), they also
enable novel genealogy-based approaches to
population genetic analysis.
</p>
</div>
<a href="{{ '/tutorials/popgen.html' | relative_url }}" class="link link--type-1 link--type-1--size-1">
<span class="link__text">
Tutorial: tskit for population genetics
</span>
</a>
</div>
<div class="col-10 offset-1 col-lg-4 offset-lg-0 d-lg-flex align-items-lg-center justify-content-lg-center">
<!-- START: icon-population-genetics-research -->
<svg class="icon icon--population-genetics-research"
xmlns="http://www.w3.org/2000/svg" x="0" y="0"
viewBox="0 0 240 240">
<style>
.gr-st0 {
fill: #0d8b81
}
.gr-st1 {
fill: #0a6e74
}
.gr-st2 {
fill: #0fa88e
}
.gr-st3 {
fill: #14e2a8;
filter: drop-shadow(0 20px 36px rgba(29, 29, 27, 0.4));
}
</style>
<path class="gr-st0"
d="M152.7 58h-22.3c2 3.7 3 7.8 3 12v79.4c0 7.3-5.9 13.2-13.2 13.2h-6.5v52.2c0 2 1.6 3.7 3.7 3.7h28.2c2 0 3.7-1.6 3.7-3.7V145h14c2 0 3.7-1.6 3.7-3.7V72.1c-.1-7.8-6.4-14.1-14.3-14.1"></path>
<path class="gr-st0"
d="M131.5 49.6c10.1 0 18.3-8.2 18.3-18.3S141.6 13 131.5 13c-10.1 0-18.3 8.2-18.3 18.3 0 10.1 8.2 18.3 18.3 18.3"></path>
<path class="gr-st1"
d="M47.3 162.5c-7.3 0-13.2-5.9-13.2-13.2V69.9c0-4.3 1.1-8.5 3.2-12.3H14.8C7 57.7.6 64 .6 71.9V141c0 2 1.6 3.7 3.7 3.7h14v69.8c0 2 1.6 3.7 3.7 3.7h28.2c2 0 3.7-1.6 3.7-3.7v-51.9h-6.6z"></path>
<path class="gr-st1"
d="M54.4 31c0-10.1-8.2-18.3-18.3-18.3S17.8 20.9 17.8 31c0 10.1 8.2 18.3 18.3 18.3 10.1 0 18.3-8.2 18.3-18.3"></path>
<path class="gr-st2"
d="M120.3 154.2c2.7 0 4.8-2.2 4.8-4.8V69.9c0-9.3-7.6-16.9-16.9-16.9H59.3c-9.3 0-16.9 7.6-16.9 16.9v79.4c0 2.7 2.2 4.8 4.8 4.8h15.5v79.6c0 2.7 2.2 4.8 4.8 4.8h32.3c2.7 0 4.8-2.2 4.8-4.8v-79.6h15.7z"></path>
<path class="gr-st2"
d="M62.1 23c0 12 9.7 21.7 21.7 21.7S105.4 35 105.4 23 95.7 1.4 83.8 1.4c-12 0-21.7 9.7-21.7 21.6"></path>
<path class="gr-st3"
d="M222.7 238.6h16.7c0-25.8-14.7-41.8-31.8-54.6-4.3 3-8.6 5.9-12.7 8.6-.7.4-1.3.9-2 1.3 8.1 5.7 15.3 11.4 20.6 18.2 3.9 4.9 6.7 10.6 8.1 16.7.7 3.2 1.1 6.5 1.1 9.8"></path>
<path class="gr-st3"
d="M192.9 46.2c-2.2 1.5-4.5 3.1-6.8 4.6-1.5 1-3 2-4.6 3-3.4 2.3-6.9 4.6-10.4 7-2.2 1.5-4.4 3.1-6.5 4.7-17 12.8-31.8 28.8-31.8 54.6s14.7 41.8 31.8 54.6c4.3-3 8.6-5.9 12.7-8.6.7-.4 1.3-.9 2-1.3-16.9-11.8-29.8-24-29.8-44.7 0-2.1.1-4.1.4-6.2.8-5.9 2.9-11.6 6.2-16.7 5.4-8.4 13.7-15.2 23.2-21.8 2.2-1.5 4.5-3.1 6.8-4.6 1.5-1 3-2 4.6-3 3.4-2.3 6.9-4.6 10.4-7 2.2-1.5 4.4-3.1 6.5-4.7 17-12.8 31.8-28.8 31.8-54.6h-16.7c0 3.3-.4 6.6-1.1 9.9-1.4 6.1-4.2 11.8-8.1 16.7-5.3 6.7-12.5 12.4-20.6 18.1"></path>
<path class="gr-st3"
d="M149.6 1.5h-16.7c0 25.8 14.7 41.8 31.8 54.6 4.3-3 8.6-5.9 12.7-8.6.7-.5 1.3-.9 2-1.3-8.1-5.7-15.3-11.4-20.6-18.2-3.9-4.9-6.7-10.6-8.1-16.7-.8-3.2-1.1-6.5-1.1-9.8"></path>
<path class="gr-st3"
d="M179.4 193.9c2.2-1.5 4.5-3.1 6.8-4.6 1.5-1 3-2 4.6-3 3.4-2.3 6.9-4.6 10.4-7 2.2-1.5 4.4-3.1 6.5-4.7 17-12.8 31.8-28.8 31.8-54.6s-14.7-41.8-31.8-54.6c-4.3 3-8.6 5.9-12.7 8.6-.7.5-1.3.9-2 1.3 16.9 11.8 29.8 24 29.8 44.7 0 2.5-.2 5-.6 7.5-1 6-3.3 11.7-6.8 16.7-5.4 7.8-13.3 14.2-22.3 20.5-2.2 1.5-4.5 3.1-6.8 4.6-1.5 1-3 2-4.6 3-3.4 2.3-6.9 4.6-10.4 7-2.2 1.5-4.4 3.1-6.5 4.7-17 12.8-31.8 28.8-31.8 54.6h16.7c0-3.3.4-6.6 1.1-9.9 1.4-6.1 4.2-11.8 8.1-16.7 5.2-6.7 12.4-12.4 20.5-18.1"></path>
<path class="gr-st1"
d="M158.5 228.8h63.1c-1.4-6.1-4.2-11.8-8.1-16.7h-54.7c-3.9 4.9-6.7 10.6-8.1 16.7h7.8z"></path>
<path class="gr-st1"
d="M157.7 113.9h28.5V97.2h-30c-3.3 5-5.4 10.7-6.2 16.7h7.7z"></path>
<path class="gr-st1"
d="M214.4 127.5h-28.2v16.7h29.1c3.5-5 5.8-10.7 6.9-16.7h-7.8z"></path>
<path class="gr-st1"
d="M213.8 11.4h-63.1c1.4 6.1 4.2 11.8 8.1 16.7h54.7c3.9-4.9 6.7-10.6 8.1-16.7h-7.8z"></path>
</svg>
<!-- END: icon-population-genetics-research -->
</div>
</div>
</div>
</div>
</div>
<!-- END: panel -->
<!-- START: panel -->
<div class="row">
<div class="col-lg-10 offset-lg-1">
<div class="section__content">
<div class="row">
<!-- NOTE: Order is swapped on these two cols below lg breakpoint -->
<div class="col-10 col-lg-6 offset-1 order-1 order-lg-0">
<h2 class="section__heading" id="statgen">
Statistical genetics
</h2>
<div class="wysiwyg">
<p>
<!-- Incremental approaches mean we avoid lots of recalculation -->
Succinct tree sequences are designed to allow
efficient statistical genetic calculation when
scanning along entire genomes. This is done by
removing the need for complete recalculation
of statistics when moving between adjacent regions
of the genome. In this way, processing of
millions of multi-megabase genomes can take a few
seconds or less.
</p>
<p>
<!--We can use trees to do things like efficient
matching via L/S HMMs (Duncan) or storing LD matrices
as graphical models (https://www.biorxiv.org/content/10.1101/2022.09.06.506858v1) -->
Storing genetic variation as tree or graph structures
allows further algorithmic efficiencies to be
exploited. This leads to scalable approaches to a
number of statistical genetic problems, for example
matching genetic sequences against each other, and
accounting for correlations along the genome.
<!-- E.g. ancestry-aware GWAS-->
Moreover, tree sequences encode the genetic genealogy
or ancestry that underlies a set of genomes, which
can be statistically useful in itself. For example
accounting for ancestry is often necessary in
genome-wide association studies (GWAS).
</p>
</div>
<a href="#" class="link link--type-1 link--type-1--size-1">
<span class="link__text">
Tutorial coming soon
</span>
</a>
</div>
<div class="col-10 offset-1 col-lg-4 offset-lg-0 d-lg-flex align-items-lg-center justify-content-lg-center">
<!-- START: icon-statistical-genetics-research -->
<svg class="icon icon--statistical-genetics-research"
xmlns="http://www.w3.org/2000/svg" x="0" y="0"
viewBox="0 0 240 258">
<style>
.st-st0 {
fill: #0d8b81
}
.st-st1 {
fill: #0fa88e
}
.st-st2 {
fill: #0a6e74
}
.st-st3 {
fill: #14e2a8;
filter: drop-shadow(0 20px 36px rgba(29, 29, 27, 0.4));
}
</style>
<path class="st-st0" d="M105.8 91.5h44.6V258h-44.6z"></path>
<path class="st-st0" d="M139.3 80.2h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M117 80.2h11.2v11.3H117z"></path>
<path class="st-st0" d="M105.8 80.2H117v11.3h-11.2z"></path>
<path class="st-st0" d="M139.3 68.9h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M128.1 68.9h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M117 68.9h11.2v11.3H117z"></path>
<path class="st-st0" d="M128.1 57.6h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M105.8 57.6H117v11.3h-11.2z"></path>
<path class="st-st0" d="M139.3 46.4h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M128.1 46.4h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M117 46.4h11.2v11.3H117z"></path>
<path class="st-st0" d="M128.1 35.1h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M105.8 35.1H117v11.3h-11.2z"></path>
<path class="st-st0" d="M139.3 23.8h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M117 23.8h11.2v11.3H117z"></path>
<path class="st-st0" d="M139.3 12.5h11.1v11.3h-11.1z"></path>
<path class="st-st0" d="M105.8 12.5H117v11.3h-11.2z"></path>
<path class="st-st0" d="M128.1 1.3h11.1v11.3h-11.1z"></path>
<path class="st-st1" d="M53.5 147.8h44.6V258H53.5z"></path>
<path class="st-st1" d="M87 136.6h11.2v11.3H87z"></path>
<path class="st-st1" d="M75.8 136.6H87v11.3H75.8z"></path>
<path class="st-st1" d="M64.7 136.6h11.1v11.3H64.7z"></path>
<path class="st-st1" d="M53.5 136.6h11.2v11.3H53.5z"></path>
<path class="st-st1" d="M87 125.3h11.2v11.3H87z"></path>
<path class="st-st1" d="M75.8 125.3H87v11.3H75.8z"></path>
<path class="st-st1" d="M64.7 125.3h11.1v11.3H64.7z"></path>
<path class="st-st1" d="M75.8 114H87v11.3H75.8z"></path>
<path class="st-st1" d="M87 102.7h11.2V114H87z"></path>
<path class="st-st1" d="M64.7 102.7h11.1V114H64.7z"></path>
<path class="st-st1" d="M53.5 102.7h11.2V114H53.5z"></path>
<path class="st-st1" d="M87 91.5h11.2v11.3H87z"></path>
<path class="st-st1" d="M75.8 91.5H87v11.3H75.8z"></path>
<path class="st-st1" d="M53.5 91.5h11.2v11.3H53.5z"></path>
<path class="st-st1" d="M75.8 80.2H87v11.3H75.8z"></path>
<path class="st-st1" d="M64.7 80.2h11.1v11.3H64.7z"></path>
<path class="st-st1" d="M87 68.9h11.2v11.3H87z"></path>
<path class="st-st1" d="M75.8 68.9H87v11.3H75.8z"></path>
<path class="st-st1" d="M87 57.6h11.2v11.3H87z"></path>
<path class="st-st1" d="M64.7 57.6h11.1v11.3H64.7z"></path>
<path class="st-st2" d="M1.2 113.7h44.6V258H1.2z"></path>
<path class="st-st2" d="M16.9 102.7h11.2V114H16.9z"></path>
<path class="st-st2" d="M5.7 102.7h11.1V114H5.7z"></path>
<path class="st-st2" d="M34.7 91.5h11.2v11.3H34.7z"></path>
<path class="st-st2" d="M16.9 91.5h11.2v11.3H16.9z"></path>
<path class="st-st2" d="M34.7 80.2h11.2v11.3H34.7z"></path>
<path class="st-st2" d="M16.9 80.2h11.2v11.3H16.9z"></path>
<path class="st-st2" d="M5.7 80.2h11.1v11.3H5.7z"></path>
<path class="st-st2" d="M34.7 68.9h11.2v11.3H34.7z"></path>
<path class="st-st2" d="M5.7 68.9h11.1v11.3H5.7z"></path>
<path class="st-st2" d="M16.9 57.6h11.2v11.3H16.9z"></path>
<path class="st-st2" d="M5.7 57.6h11.1v11.3H5.7z"></path>
<path class="st-st2" d="M34.7 46.4h11.2v11.3H34.7z"></path>
<path class="st-st2" d="M5.7 46.4h11.1v11.3H5.7z"></path>
<path class="st-st2" d="M16.9 35.1h11.2v11.3H16.9z"></path>
<path class="st-st2" d="M16.9 23.8h11.2v11.3H16.9z"></path>
<path class="st-st2"
d="M159.1 248.1h63.1c-1.4-6.1-4.2-11.8-8.1-16.7h-54.7c-3.9 4.9-6.7 10.6-8.1 16.7h7.8z"></path>
<path class="st-st2"
d="M158.3 133.3h28.5v-16.7h-30c-3.3 5-5.4 10.7-6.2 16.7h7.7z"></path>
<path class="st-st2"
d="M215 146.9h-28.2v16.7h29.1c3.5-5 5.8-10.7 6.9-16.7H215z"></path>
<path class="st-st2"
d="M214.4 30.7h-63.1c1.4 6.1 4.2 11.8 8.1 16.7h54.7c3.9-4.9 6.7-10.6 8.1-16.7h-7.8z"></path>
<path class="st-st3"
d="M223.3 258H240c0-25.8-14.7-41.8-31.8-54.6-4.3 3-8.6 5.9-12.7 8.6-.7.4-1.3.9-2 1.3 8.1 5.7 15.3 11.4 20.6 18.1 3.9 4.9 6.7 10.6 8.1 16.7.8 3.3 1.1 6.6 1.1 9.9"></path>
<path class="st-st3"
d="M193.5 65.6c-2.2 1.5-4.5 3.1-6.8 4.6-1.5 1-3 2-4.6 3-3.4 2.3-6.9 4.6-10.4 7-2.2 1.5-4.4 3.1-6.5 4.7-17 12.8-31.8 28.8-31.8 54.6s14.7 41.8 31.8 54.6c4.3-3 8.6-5.9 12.7-8.6.7-.4 1.3-.9 2-1.3-16.9-11.8-29.8-24-29.8-44.7 0-2.1.1-4.1.4-6.2.8-5.9 2.9-11.6 6.2-16.7 5.4-8.4 13.6-15.2 23.2-21.8 2.2-1.5 4.5-3.1 6.8-4.6 1.5-1 3.1-2 4.6-3 3.4-2.2 6.9-4.6 10.4-7 2.2-1.5 4.4-3.1 6.5-4.7 17-12.8 31.8-28.8 31.8-54.6h-16.7c0 3.3-.4 6.6-1.1 9.9-1.4 6.1-4.2 11.8-8.1 16.7-5.3 6.6-12.5 12.4-20.6 18.1"></path>
<path class="st-st3"
d="M150.2 20.9h-16.7c0 25.8 14.7 41.8 31.8 54.6 4.3-3 8.6-5.9 12.7-8.6.7-.4 1.3-.9 2-1.3-8.1-5.7-15.3-11.4-20.6-18.2-3.9-4.9-6.7-10.6-8.1-16.7-.8-3.2-1.1-6.5-1.1-9.8"></path>
<path class="st-st3"
d="M180 213.3c2.2-1.5 4.5-3.1 6.8-4.6 1.5-1 3-2 4.6-3 3.4-2.3 6.9-4.6 10.4-7 2.2-1.5 4.4-3.1 6.5-4.7 17-12.8 31.8-28.8 31.8-54.6s-14.7-41.8-31.8-54.6c-4.3 3-8.6 5.9-12.7 8.6-.7.4-1.3.9-2 1.3 16.9 11.8 29.8 24 29.8 44.7 0 2.5-.2 5-.6 7.5-1 6-3.4 11.7-6.9 16.7-5.4 7.8-13.3 14.2-22.3 20.5-2.2 1.5-4.5 3.1-6.8 4.6-1.5 1-3 2-4.6 3-3.4 2.2-6.9 4.6-10.4 7-2.2 1.5-4.4 3.1-6.5 4.7-17 12.8-31.8 28.8-31.8 54.6h16.7c0-3.3.4-6.6 1.1-9.9 1.4-6.1 4.2-11.8 8.1-16.7 5.3-6.7 12.5-12.4 20.6-18.1"></path>
</svg>
<!-- END: icon-statistical-genetics-research -->
</div>
</div>
</div>
</div>
</div>
<!-- END: panel -->
<!-- START: panel -->
<div class="row">
<div class="col-lg-10 offset-lg-1">
<div class="section__content">
<div class="row">
<!-- NOTE: Order is swapped on these two cols below lg breakpoint -->
<div class="col-10 col-lg-6 offset-1 order-1 order-lg-0">
<h2 class="section__heading" id="phylogen">
Phylogenetics
</h2>
<div class="wysiwyg">
<p>
Tskit can be used as a phylogenetic computing library
for fast processing of very large evolutionary
trees. Methods exist to query features of trees
and traverse through their nodes, and efficient access
is also possible via arrays that provide direct
memory access to the underlying tree structure.
</p>
<p>
Arbitrary structured or unstructured metadata can be
associated with nodes, edges, and other entities
(e.g. mutations, populations) in a tree sequence.
This provides a flexible way to associate data such
as names, geographical locations, and phenotypes
with sample genomes and their ancestors in the tree.
<!-- Add in stuff about reading in trees, when we have it -->
</p>
<p>
<!-- Other tree-based methods in tskit-->
Tskit also provides generalizable methods to
calculate statistics based on tree branch lengths,
as well as topological methods that generate,
classify, and compare tree shapes. Optimised methods
are provided that map genetic variation
parsimoniously onto a tree, and other efficient
phylogenetic algorithms can be developed in Python
using <a href="https://numba.pydata.org">numba</a> to
achieve near-native speeds.
</p>
<p>
<!-- Easy extension to recombinant genealogies -->
Unlike other phylogenetic libraries, tree
sequences are explicitly designed for storage
and processing of large numbers of related trees.
This make it easy, for example, to allow for genetic
recombination within an evolutionary genealogy.
</p>
</div>
<a href="{{ '/tutorials/phylogen.html' | relative_url }}" class="link link--type-1 link--type-1--size-1">
<span class="link__text">
Tutorial: tskit for phylogenetics
</span>
</a>
</div>
<div class="col-10 offset-1 col-lg-4 offset-lg-0 d-lg-flex align-items-lg-center justify-content-lg-center">
<!-- START: icon-phylogenetics -->
<svg class="icon icon--phylogenetics"
xmlns="http://www.w3.org/2000/svg" x="0" y="0"
viewBox="0 0 240 240">
<style>
.phy-st0 {
fill: #0d8b81
}
.phy-st1 {
fill: #0a6e74
}
.phy-st2 {
fill: #14e2a8;
filter: drop-shadow(0 20px 36px rgba(29, 29, 27, 0.4));
}
</style>
<path class="phy-st0" d="M128.6 213.8H145v16.4h-16.4z"></path>
<path class="phy-st0" d="M119 123.4h25.9v16.4H119z"></path>
<path class="phy-st0" d="M37.2 68.1h49.1v16.4H37.2z"></path>
<path class="phy-st0" d="M37.2 213.8H145v16.4H37.2z"></path>
<path class="phy-st0" d="M20.8 141.8h16.4v16.4H20.8z"></path>
<path class="phy-st0" d="M4.4 141.8h16.4v16.4H4.4z"></path>
<path class="phy-st0" d="M37.2 69.8h16.4v160.4H37.2z"></path>
<path class="phy-st0" d="M102.6 123.4H119v16.4h-16.4z"></path>
<path class="phy-st0" d="M102.6 12.9h42.3v16.4h-42.3z"></path>
<path class="phy-st0" d="M86.3 12.9h16.4v126.8H86.3z"></path>
<g>
<path class="phy-st1"
d="M159.1 230.2h63.1c-1.4-6.1-4.2-11.8-8.1-16.7h-54.7c-3.9 4.9-6.7 10.6-8.1 16.7h7.8z"></path>
<path class="phy-st1"
d="M158.3 115.3h28.5V98.6h-30c-3.3 5-5.4 10.7-6.2 16.7h7.7z"></path>
<path class="phy-st1"
d="M215 128.9h-28.2v16.7h29.1c3.5-5 5.8-10.7 6.9-16.7H215z"></path>
<path class="phy-st1"
d="M214.4 12.7h-63.1c1.4 6.1 4.2 11.8 8.1 16.7h54.7c3.9-4.9 6.7-10.6 8.1-16.7h-7.8z"></path>
<path class="phy-st2"
d="M223.3 240H240c0-25.8-14.7-41.8-31.8-54.6-4.3 3-8.6 5.9-12.7 8.6-.7.4-1.3.9-2 1.3 8.1 5.7 15.3 11.4 20.6 18.1 3.9 4.9 6.7 10.6 8.1 16.7.8 3.3 1.1 6.6 1.1 9.9"></path>
<path class="phy-st2"
d="M193.5 47.6c-2.2 1.5-4.5 3.1-6.8 4.6-1.5 1-3 2-4.6 3-3.4 2.3-6.9 4.6-10.4 7-2.2 1.5-4.4 3.1-6.5 4.7-17 12.8-31.8 28.8-31.8 54.6s14.7 41.8 31.8 54.6c4.3-3 8.6-5.9 12.7-8.6.7-.4 1.3-.9 2-1.3-16.9-11.8-29.8-24-29.8-44.7 0-2.1.1-4.1.4-6.2.8-5.9 2.9-11.6 6.2-16.7 5.4-8.4 13.6-15.2 23.2-21.8 2.2-1.5 4.5-3.1 6.8-4.6 1.5-1 3.1-2 4.6-3 3.4-2.2 6.9-4.6 10.4-7 2.2-1.5 4.4-3.1 6.5-4.7 17-12.8 31.8-28.8 31.8-54.6h-16.7c0 3.3-.4 6.6-1.1 9.9-1.4 6.1-4.2 11.8-8.1 16.7-5.3 6.6-12.5 12.4-20.6 18.1"></path>
<path class="phy-st2"
d="M150.2 2.9h-16.7c0 25.8 14.7 41.8 31.8 54.6 4.3-3 8.6-5.9 12.7-8.6.7-.5 1.3-.9 2-1.3-8.1-5.7-15.3-11.4-20.6-18.1-3.9-4.9-6.7-10.6-8.1-16.7-.8-3.3-1.1-6.6-1.1-9.9"></path>
<path class="phy-st2"
d="M180 195.3c2.2-1.5 4.5-3.1 6.8-4.6 1.5-1 3-2 4.6-3 3.4-2.3 6.9-4.6 10.4-7 2.2-1.5 4.4-3.1 6.5-4.7 17-12.8 31.8-28.8 31.8-54.6s-14.7-41.8-31.8-54.6c-4.3 3-8.6 5.9-12.7 8.6-.7.4-1.3.9-2 1.3 16.9 11.8 29.8 24 29.8 44.7 0 2.5-.2 5-.6 7.5-1 6-3.4 11.7-6.9 16.7-5.4 7.8-13.3 14.2-22.3 20.5-2.2 1.5-4.5 3.1-6.8 4.6-1.5 1-3 2-4.6 3-3.4 2.2-6.9 4.6-10.4 7-2.2 1.5-4.4 3.1-6.5 4.7-17 12.8-31.8 28.8-31.8 54.6h16.7c0-3.3.4-6.6 1.1-9.9 1.4-6.1 4.2-11.8 8.1-16.7 5.3-6.7 12.5-12.4 20.6-18.1"></path>
</g>
</svg>
<!-- END: icon-phylogenetics -->
</div>
</div>
</div>
</div>
</div>
<!-- END: panel -->
<!-- START: panel -->
<div class="row">
<div class="col-lg-10 offset-lg-1">
<div class="section__content">
<div class="row">
<!-- NOTE: Order is swapped on these two cols below lg breakpoint -->
<div class="col-10 col-lg-6 offset-1 order-1 order-lg-0">
<h2 class="section__heading" id="developers">
Use tskit in your application
</h2>
<div class="wysiwyg">
<p>
Tskit is a lightweight library that provides
Python, C, and Rust APIs for reading, writing
and manipulating succinct tree sequences; the
Python API can also be used
<a href="{{ '/tutorials/tskitr.html' | relative_url }}">within R</a>.
These APIs can be used by simulation and inference
tools to write tree sequences to disk, and by
analysis tools to read them, decode their nucleotide
sequences, perform efficient statistical
calculations, or rapidly develop new algorithms. The
Python API is used extensively throughout the
<a href="{{ '/tutorials/' | relative_url }}">tutorials</a>,
and is documented in the link below (see
<a href="{{ '/tskit/docs/stable/c-api.html' | relative_url }}">here</a>
for the C API):
</p>
</div>
<a href="{{ '/tskit/docs/stable/python-api.html' | relative_url }}"
class="link link--type-1 link--type-1--size-1">
<span class="link__text">
The tskit Python API
</span>
</a>
</div>
<div class="col-10 offset-1 col-lg-4 offset-lg-0 d-lg-flex align-items-lg-center justify-content-lg-center">
<!-- START: icon-use-tskit-in-your-app -->
<svg class="icon icon--use-tskit-in-your-app"
xmlns="http://www.w3.org/2000/svg" x="0" y="0"
viewBox="0 0 368 218">
<style>
.st0 {
fill: #0d8b81
}
.st2 {
fill: #14e2a8
}
</style>
<path class="st0" d="M124.4 201.3h16.4v16.4h-16.4z"></path>
<path class="st0" d="M114.8 110.8h25.9v16.4h-25.9z"></path>
<path class="st0" d="M32.9 55.6H82V72H32.9z"></path>
<path class="st0" d="M32.9 201.3h107.8v16.4H32.9z"></path>
<path class="st0" d="M16.6 129.3H33v16.4H16.6z"></path>
<path class="st0" d="M.2 129.3h16.4v16.4H.2z"></path>
<path class="st0" d="M32.9 57.2h16.4v160.4H32.9z"></path>
<path class="st0" d="M98.4 110.8h16.4v16.4H98.4z"></path>
<path class="st0" d="M98.4.4h42.3v16.4H98.4z"></path>
<path class="st0" d="M82 .4h16.4v126.8H82z"></path>
<path d="M355.1 195.6H127.6c-7 0-12.8-5.7-12.8-12.8v-144c0-7 5.7-12.8 12.8-12.8H355c7 0 12.8 5.7 12.8 12.8v144c0 7.1-5.7 12.8-12.7 12.8"
style="fill:#0a6e74; filter: drop-shadow(0 20px 36px rgba(29, 29, 27, 0.4));"></path>
<path class="st2"
d="M367.8 51.6H114.9V39c0-7.1 5.8-12.9 12.9-12.9h227.1c7.1 0 12.9 5.8 12.9 12.9v12.6z"></path>
<path class="st2" d="M259.2 151.9v8.6h24.5v-8.6h-24.5z"></path>
<path class="st2" d="M328.4 79.6h24.5v8.6h-24.5z"></path>
<path class="st2" d="M278.1 65.4h24.5V74h-24.5z"></path>
<path class="st2" d="M152.8 65.4h24.5V74h-24.5z"></path>
<path class="st2" d="M152.8 79.6h24.5v8.6h-24.5z"></path>
<path class="st2" d="M183.3 65.4h88.9V74h-88.9z"></path>
<path class="st2" d="M183.3 79.6h139.2v8.6H183.3z"></path>
<path class="st2" d="M152.8 94h24.5v8.6h-24.5z"></path>
<path class="st2" d="M152.8 122.9h24.5v8.6h-24.5z"></path>
<path class="st2" d="M296 94h24.5v8.6H296z"></path>
<path class="st2" d="M183.3 94h107v8.6h-107z"></path>
<path class="st2" d="M152.8 108.5h195v8.6h-195z"></path>
<path class="st2" d="M183.3 122.9h164.5v8.6H183.3z"></path>
<path class="st2" d="M152.8 137.4h119.4v8.6H152.8z"></path>
<path class="st2" d="M152.8 151.9h100.1v8.6H152.8z"></path>
<path class="st2" d="M152.8 166.3v8.6h50.1v-8.6h-50.1z"></path>
<path class="st0" d="M131.8 65.1v8.6H147v-8.6h-15.2z"></path>
<path class="st0" d="M131.8 79.6v8.6H147v-8.6h-15.2z"></path>
<path class="st0" d="M131.8 94v8.6H147V94h-15.2z"></path>
<path class="st0" d="M131.8 108.5v8.6H147v-8.6h-15.2z"></path>
<path class="st0" d="M131.8 122.9v8.6H147v-8.6h-15.2z"></path>
<path class="st0" d="M131.8 137.4v8.6H147v-8.6h-15.2z"></path>
<path class="st0" d="M131.8 151.9v8.6H147v-8.6h-15.2z"></path>
<path class="st0" d="M131.8 166.3v8.6H147v-8.6h-15.2z"></path>
</svg>
<!-- END: icon-use-tskit-in-your-app -->
</div>
</div>
</div>
</div>
</div>
<!-- END: panel -->
</div>
</section>
<!-- END: panels-section -->