Commit 884f905
Fix allele translator to_spdi issue for RLE deletion. Add RLE reconstruction when longer than rle_seq_limit. (#542)
This fixes a bug for `_to_spdi` for ReferenceLengthExpressions.
It also adds an optional argument to `translate_to` called
`ref_seq_limit` which works similarly to `rle_seq_limit`, but for SPDI
expressions. If `ref_seq_limit` is nonzero, the 3rd term of the SPDI
expression will be the actual reference sequence, not the length.
To round-trip a clinvar SPDI expression which contains the reference
sequence:
```
spdi = "NC_000019.10:44908821:C:T"
vrs = translator.translate_from(spdi, "spdi")
to_spdi = translator.translate_to(vrs, "spdi", ref_seq_limit=None) # or some number >=1 since len("C")==1
assert spdi == to_spdi
```
To continue the existing behavior of using the reference sequence
length:
```
spdi = "NC_000019.10:44908821:1:T"
vrs = translator.translate_from(spdi, "spdi")
to_spdi = translator.translate_to(vrs, "spdi") # ref_seq_limit defaults to 0
assert spdi == to_spdi
```
---------
Co-authored-by: Kori Kuzma <korikuzma@gmail.com>1 parent 70ec42f commit 884f905
File tree
7 files changed
+5825
-17
lines changed- src/ga4gh/vrs
- extras
- tests/extras
- cassettes
7 files changed
+5825
-17
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
15 | | - | |
| 16 | + | |
16 | 17 | | |
| 18 | + | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
22 | 46 | | |
23 | 47 | | |
24 | 48 | | |
| |||
54 | 78 | | |
55 | 79 | | |
56 | 80 | | |
57 | | - | |
58 | | - | |
| 81 | + | |
| 82 | + | |
59 | 83 | | |
60 | 84 | | |
61 | 85 | | |
| |||
110 | 134 | | |
111 | 135 | | |
112 | 136 | | |
113 | | - | |
114 | | - | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
115 | 144 | | |
116 | | - | |
| 145 | + | |
117 | 146 | | |
118 | 147 | | |
119 | 148 | | |
| |||
385 | 414 | | |
386 | 415 | | |
387 | 416 | | |
388 | | - | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
389 | 421 | | |
390 | 422 | | |
391 | 423 | | |
392 | 424 | | |
393 | | - | |
| 425 | + | |
394 | 426 | | |
395 | 427 | | |
396 | 428 | | |
| |||
400 | 432 | | |
401 | 433 | | |
402 | 434 | | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
403 | 442 | | |
404 | 443 | | |
405 | 444 | | |
| |||
411 | 450 | | |
412 | 451 | | |
413 | 452 | | |
| 453 | + | |
414 | 454 | | |
415 | | - | |
416 | | - | |
| 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 | + | |
417 | 490 | | |
418 | 491 | | |
419 | 492 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 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 | + | |
224 | 251 | | |
225 | 252 | | |
226 | 253 | | |
| |||
259 | 286 | | |
260 | 287 | | |
261 | 288 | | |
262 | | - | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
263 | 293 | | |
264 | 294 | | |
265 | 295 | | |
| |||
Lines changed: 44 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
Lines changed: 36 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 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 | + | |
27 | 57 | | |
28 | 58 | | |
29 | 59 | | |
| |||
67 | 97 | | |
68 | 98 | | |
69 | 99 | | |
70 | | - | |
| 100 | + | |
71 | 101 | | |
72 | 102 | | |
73 | 103 | | |
74 | | - | |
| 104 | + | |
75 | 105 | | |
76 | | - | |
| 106 | + | |
77 | 107 | | |
78 | 108 | | |
79 | 109 | | |
80 | 110 | | |
81 | 111 | | |
82 | | - | |
83 | | - | |
| 112 | + | |
| 113 | + | |
84 | 114 | | |
85 | 115 | | |
86 | 116 | | |
| |||
0 commit comments