varcode 9.2.0__tar.gz → 9.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {varcode-9.2.0/varcode.egg-info → varcode-9.2.1}/PKG-INFO +1 -1
- varcode-9.2.1/tests/test_symbolic_sv_padding.py +81 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/structural_variant.py +4 -4
- {varcode-9.2.0 → varcode-9.2.1}/varcode/sv_allele_parser.py +10 -0
- varcode-9.2.1/varcode/version.py +1 -0
- {varcode-9.2.0 → varcode-9.2.1/varcode.egg-info}/PKG-INFO +1 -1
- {varcode-9.2.0 → varcode-9.2.1}/varcode.egg-info/SOURCES.txt +1 -0
- varcode-9.2.0/varcode/version.py +0 -1
- {varcode-9.2.0 → varcode-9.2.1}/LICENSE +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/MANIFEST.in +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/README.md +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/pyproject.toml +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/requirements.txt +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/setup.cfg +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_annotator_divergence_scenarios.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_annotator_parity_adversarial.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_annotators.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_cli_effects.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_cli_genes.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_cli_without_pkg_resources.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_collection_filtering.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_collection_variants_attr_consistency.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_common.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_cosmic_mutations.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_cryptic_exons.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_csv_roundtrip.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_dbnsfp_validation.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_default_structural_helpers.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_effect_annotation_errors.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_effect_candidates.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_effect_classes.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_effect_collection.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_effect_collection_serialization.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_effect_collection_sort_order.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_effect_hypotheses.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_effects_from_mutagenix_variants.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_exacto_fusions.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_exonic_splice_site.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_fast_path.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_frameshift_cterminus_regression.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_frameshift_helpers.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_genome_contig_validation.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_genome_sequence.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_genomic_layout.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_genotype.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_genotype_from_vcf.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_germline_context.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_germline_effects.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_haplotype_effect.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_maf.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_mitochondrial.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_mm10_klf6_frameshift.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_mouse.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_mutant_transcript.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_mutate.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_no_duplicate_variants.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_osteosarc_fusions.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_partial_annotators.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_premature_stop_short_description.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_problematic_variants.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_protein_diff_parity.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_read_phase_resolver.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_real_world_callers.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_reference.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_reference_mismatch_error.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_reference_segments.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_rna_evidence.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_rna_haplotype_sequences.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_rna_read_phasing_source.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_selenocysteine.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_silent_aa_pos.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_silent_hgvs_description.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_splice_graph.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_splice_outcomes.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_splice_site_effects.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_stop_codon_classification_bugs.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_string_helpers.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_structural_variant_annotator.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_structural_variants.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_symbolic_alleles.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_timings.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_transcript_layout.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_transcript_model.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_transforms_left_align.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_transforms_pair_breakends.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_variant.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_variant_collection.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_vcf.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_vcf_output.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_vcf_parsing.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_vcf_phase_resolver.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/tests/test_vcf_spec_examples.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/__init__.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/annotators/__init__.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/annotators/fast.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/annotators/protein_diff.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/annotators/registry.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/cli/__init__.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/cli/effects_script.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/cli/genes_script.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/cli/logging.conf +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/cli/variant_args.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/cli/version_info.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/common.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/cryptic_exons.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/csv_helpers.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effect_candidates.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effect_hypotheses.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/__init__.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/classify.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/codon_tables.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/common.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/effect_classes.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/effect_collection.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/effect_helpers.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/effect_ordering.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/effect_prediction.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/effect_prediction_coding.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/effect_prediction_coding_frameshift.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/effect_prediction_coding_in_frame.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/fast_path.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/mutate.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/structural.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/transcript_helpers.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/effects/translate.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/errors.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/exacto.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/genome.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/genome_sequence.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/genomic_layout.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/genotype.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/germline.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/maf.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/mutant_transcript.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/nucleotides.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/phasing.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/realized_effects.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/reference.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/rna_evidence.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/rna_read_phasing.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/splice_graph.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/splice_outcomes.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/string_helpers.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/transcript_layout.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/transcript_model.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/transforms/__init__.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/ucsc_reference_names.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/util.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/variant.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/variant_collection.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/vcf.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/vcf_output.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode/vcf_parsing.py +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode.egg-info/dependency_links.txt +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode.egg-info/entry_points.txt +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode.egg-info/requires.txt +0 -0
- {varcode-9.2.0 → varcode-9.2.1}/varcode.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"""Symbolic POS is retained; only POS+1..END changes (#404, VCF 4.3)."""
|
|
2
|
+
|
|
3
|
+
from types import SimpleNamespace
|
|
4
|
+
|
|
5
|
+
import pytest
|
|
6
|
+
from pyensembl import cached_release
|
|
7
|
+
|
|
8
|
+
from varcode import StructuralVariant, parse_symbolic_alt, load_vcf
|
|
9
|
+
from varcode.effects.structural import (
|
|
10
|
+
_build_deletion_mutant_transcript, _build_duplication_mutant_transcript,
|
|
11
|
+
_build_inversion_mutant_transcript,
|
|
12
|
+
)
|
|
13
|
+
from varcode.nucleotides import reverse_complement
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@pytest.mark.parametrize("kind", ["DEL", "DUP", "INV", "CNV", "CN0", "CN3"])
|
|
17
|
+
def test_parsed_span_excludes_padding_but_keeps_record_coordinates(kind):
|
|
18
|
+
sv = parse_symbolic_alt("1", 100, "T", "<%s>" % kind, info={"END": 105})
|
|
19
|
+
assert (sv.start, sv.end) == (100, 105)
|
|
20
|
+
assert (sv.affected_start, sv.affected_end, sv.length) == (101, 105, 5)
|
|
21
|
+
assert StructuralVariant.from_json(sv.to_json()) == sv
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@pytest.mark.parametrize("kind", ["DEL", "DUP", "INV", "CNV"])
|
|
25
|
+
@pytest.mark.parametrize("info", [{}, {"END": 100}, {"END": 99}])
|
|
26
|
+
def test_no_nonempty_span_cannot_delete_or_copy_the_anchor(kind, info):
|
|
27
|
+
with pytest.raises(ValueError, match="END greater than POS"):
|
|
28
|
+
parse_symbolic_alt("1", 100, "T", "<%s>" % kind, info=info)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
@pytest.mark.parametrize("reverse", [False, True])
|
|
32
|
+
@pytest.mark.parametrize("kind,builder", [
|
|
33
|
+
("DEL", _build_deletion_mutant_transcript),
|
|
34
|
+
("DUP", _build_duplication_mutant_transcript),
|
|
35
|
+
("INV", _build_inversion_mutant_transcript),
|
|
36
|
+
])
|
|
37
|
+
def test_exact_mutant_cdna_on_both_strands(kind, builder, reverse):
|
|
38
|
+
sequence = "ACGTTGCAAGCTTAGGCTAC"
|
|
39
|
+
tx = SimpleNamespace(exons=[SimpleNamespace(start=100, end=119)],
|
|
40
|
+
start=100, end=119, sequence=sequence,
|
|
41
|
+
on_backward_strand=reverse)
|
|
42
|
+
sv = parse_symbolic_alt("1", 109, "G", "<%s>" % kind, info={"END": 114})
|
|
43
|
+
a, b = (5, 10) if reverse else (10, 15)
|
|
44
|
+
if kind == "DEL":
|
|
45
|
+
expected = sequence[:a] + sequence[b:]
|
|
46
|
+
elif kind == "DUP":
|
|
47
|
+
expected = sequence[:b] + sequence[a:b] + sequence[b:]
|
|
48
|
+
else:
|
|
49
|
+
expected = sequence[:a] + reverse_complement(sequence[a:b]) + sequence[b:]
|
|
50
|
+
model = builder(sv, tx)
|
|
51
|
+
if kind == "INV":
|
|
52
|
+
# This builder preserves the layout but intentionally defers sequence.
|
|
53
|
+
observed = "".join(reverse_complement(sequence[s.start:s.end])
|
|
54
|
+
if s.strand == "-" else sequence[s.start:s.end]
|
|
55
|
+
for s in model.reference_segments)
|
|
56
|
+
assert observed == expected
|
|
57
|
+
else:
|
|
58
|
+
assert model.cdna_sequence == expected
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def test_vcf_deletion_does_not_remove_cftr_exon_terminal_anchor(tmp_path):
|
|
62
|
+
genome = cached_release(81)
|
|
63
|
+
tx = genome.transcript_by_id("ENST00000003084")
|
|
64
|
+
first, second = tx.exons[:2]
|
|
65
|
+
path = tmp_path / "anchor.vcf"
|
|
66
|
+
path.write_text(
|
|
67
|
+
"##fileformat=VCFv4.3\n"
|
|
68
|
+
"##INFO=<ID=END,Number=1,Type=Integer,Description=\"End\">\n"
|
|
69
|
+
"#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\n"
|
|
70
|
+
"7\t%d\t.\tT\t<DEL>\t.\tPASS\tEND=%d\n" % (first.end, second.end))
|
|
71
|
+
(sv,) = load_vcf(str(path), genome=genome, parse_structural_variants=True)
|
|
72
|
+
effect = sv.effect_on_transcript(tx)
|
|
73
|
+
assert first not in effect.affected_exons
|
|
74
|
+
assert second in effect.affected_exons
|
|
75
|
+
a, b = first.end - first.start + 1, second.end - second.start + 1
|
|
76
|
+
assert effect.mutant_transcript.cdna_sequence == tx.sequence[:a] + tx.sequence[a+b:]
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def test_direct_constructor_span_defaults_remain_explicit():
|
|
80
|
+
sv = StructuralVariant("1", 100, "DEL", end=105)
|
|
81
|
+
assert (sv.affected_start, sv.affected_end, sv.length) == (100, 105, 6)
|
|
@@ -179,8 +179,8 @@ class StructuralVariant(Variant):
|
|
|
179
179
|
|
|
180
180
|
The SV position model:
|
|
181
181
|
|
|
182
|
-
* :attr:`start` — 1-based
|
|
183
|
-
|
|
182
|
+
* :attr:`start` — 1-based event/record position (matches VCF POS).
|
|
183
|
+
For parsed symbolic spans this is the retained padding base.
|
|
184
184
|
* :attr:`end` — 1-based *inclusive* end. For a DEL/DUP/INV/CNV
|
|
185
185
|
this is the SV endpoint on the same contig. For an INS it
|
|
186
186
|
equals start (insertions are zero-width in reference coords).
|
|
@@ -188,8 +188,8 @@ class StructuralVariant(Variant):
|
|
|
188
188
|
:attr:`mate_contig` / :attr:`mate_start`.
|
|
189
189
|
* :attr:`affected_start` / :attr:`affected_end` — inclusive bases
|
|
190
190
|
changed by a span event. These normally equal ``start`` / ``end``;
|
|
191
|
-
paired breakend events use them to exclude
|
|
192
|
-
bases from exon and mutant-sequence annotation.
|
|
191
|
+
parsed symbolic spans and paired breakend events use them to exclude
|
|
192
|
+
retained VCF padding bases from exon and mutant-sequence annotation.
|
|
193
193
|
|
|
194
194
|
Parameters
|
|
195
195
|
----------
|
|
@@ -198,10 +198,20 @@ def parse_symbolic_alt(
|
|
|
198
198
|
if copy_number is not None:
|
|
199
199
|
sv_info["copy_number"] = copy_number
|
|
200
200
|
|
|
201
|
+
# VCF symbolic POS is the retained padding base before the event.
|
|
202
|
+
# Keep record/junction coordinates unchanged; span consumers already
|
|
203
|
+
# use affected_start/end for paired breakends (#404).
|
|
204
|
+
affected_start = None
|
|
205
|
+
if top in {"DEL", "DUP", "INV", "CNV"}:
|
|
206
|
+
if int(end) <= int(start):
|
|
207
|
+
raise ValueError("A symbolic %s requires END greater than POS" % top)
|
|
208
|
+
affected_start = int(start) + 1
|
|
209
|
+
|
|
201
210
|
return StructuralVariant(
|
|
202
211
|
contig=contig,
|
|
203
212
|
start=int(start),
|
|
204
213
|
end=int(end),
|
|
214
|
+
affected_start=affected_start,
|
|
205
215
|
sv_type=top,
|
|
206
216
|
alt=alt,
|
|
207
217
|
ref=ref or "N",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "9.2.1"
|
|
@@ -69,6 +69,7 @@ tests/test_string_helpers.py
|
|
|
69
69
|
tests/test_structural_variant_annotator.py
|
|
70
70
|
tests/test_structural_variants.py
|
|
71
71
|
tests/test_symbolic_alleles.py
|
|
72
|
+
tests/test_symbolic_sv_padding.py
|
|
72
73
|
tests/test_timings.py
|
|
73
74
|
tests/test_transcript_layout.py
|
|
74
75
|
tests/test_transcript_model.py
|
varcode-9.2.0/varcode/version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "9.2.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|