variation-normalizer 0.7.0.dev4__tar.gz → 0.7.0.dev5__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.
- {variation-normalizer-0.7.0.dev4/variation_normalizer.egg-info → variation-normalizer-0.7.0.dev5}/PKG-INFO +1 -1
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_coding_dna_delins.py +1 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_coding_dna_insertion.py +1 -2
- variation-normalizer-0.7.0.dev4/tests/tokenizers/test_gene.py → variation-normalizer-0.7.0.dev5/tests/tokenizers/test_gene_symbol.py +1 -1
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_delins.py +1 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_insertion.py +1 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_protein_delins.py +1 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_protein_insertion.py +1 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/query.py +32 -20
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/token_response_schema.py +9 -46
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/__init__.py +0 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/delins_base.py +4 -11
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/gnomad_vcf.py +3 -5
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/hgvs.py +2 -4
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/insertion_base.py +4 -11
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/locus_reference_genomic.py +2 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/polypeptide_sequence_variation_base.py +0 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/polypeptide_truncation.py +3 -3
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/protein_delins.py +5 -12
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/protein_insertion.py +6 -12
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/protein_substitution.py +2 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/silent_mutation.py +2 -2
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/single_nucleotide_variation_base.py +5 -10
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/tokenize.py +6 -8
- variation-normalizer-0.7.0.dev4/variation/tokenizers/tokenize_base.py → variation-normalizer-0.7.0.dev5/variation/tokenizers/tokenizer.py +18 -17
- variation-normalizer-0.7.0.dev5/variation/version.py +1 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5/variation_normalizer.egg-info}/PKG-INFO +1 -1
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation_normalizer.egg-info/SOURCES.txt +1 -7
- variation-normalizer-0.7.0.dev4/tests/tokenizers/test_gene_pair.py +0 -21
- variation-normalizer-0.7.0.dev4/variation/tokenizers/caches/__init__.py +0 -2
- variation-normalizer-0.7.0.dev4/variation/tokenizers/caches/nucleotide_cache.py +0 -30
- variation-normalizer-0.7.0.dev4/variation/tokenizers/gene_pair.py +0 -34
- variation-normalizer-0.7.0.dev4/variation/tokenizers/protein_alternate.py +0 -31
- variation-normalizer-0.7.0.dev4/variation/tokenizers/tokenizer.py +0 -14
- variation-normalizer-0.7.0.dev4/variation/version.py +0 -1
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/LICENSE +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/README.md +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/setup.cfg +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/setup.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/classifier_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_amplification.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_coding_dna_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_coding_dna_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_coding_dna_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_coding_dna_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_coding_dna_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_genomic_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_genomic_deletion_range.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_genomic_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_genomic_duplication.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_genomic_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_genomic_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_genomic_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_genomic_uncertain_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_polypeptide_truncation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_protein_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_protein_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_protein_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_protein_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/classifiers/test_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/conftest.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/test_codon_table.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/test_gnomad_vcf_to_protein.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/test_hgvs_dup_del_mode.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/test_normalize.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/test_to_canonical_variation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_amplification.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_coding_dna_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_coding_dna_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_coding_dna_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_deletion_range.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_duplication.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_duplication_range.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_genomic_uncertain_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_gnomad_vcf.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_hgvs.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_locus_reference_genomic.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_polypeptide_truncation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_protein_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_protein_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/test_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/tokenizers/tokenizer_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_coding_dna_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_coding_dna_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_coding_dna_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_coding_dna_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_coding_dna_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_genomic_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_genomic_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_genomic_duplication.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_genomic_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_genomic_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_genomic_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_genomic_uncertain_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_polypeptide_truncation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_protein_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_protein_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_protein_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_protein_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/test_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/translators/translator_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_coding_dna_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_coding_dna_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_coding_dna_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_coding_dna_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_coding_dna_subsitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_genomic_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_genomic_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_genomic_duplication.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_genomic_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_genomic_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_genomic_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_genomic_uncertain_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_polypeptide_truncation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_protein_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_protein_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_protein_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_protein_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/test_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/tests/validators/validator_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/amplification_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/classify.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/coding_dna_deletion_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/coding_dna_delins_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/coding_dna_insertion_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/coding_dna_silent_mutation_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/coding_dna_substitution_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/genomic_deletion_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/genomic_deletion_range_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/genomic_delins_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/genomic_duplication_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/genomic_insertion_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/genomic_silent_mutation_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/genomic_substitution_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/genomic_uncertain_deletion_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/polypeptide_truncation_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/protein_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/protein_deletion_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/protein_delins_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/protein_insertion_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/protein_termination_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/set_based_classifier.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/classifiers/silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/data_sources/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/data_sources/codon_table.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/gnomad_vcf_to_protein_variation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/hgvs_dup_del_mode.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/main.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/normalize.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/app_schemas.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/classification_response_schema.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/hgvs_to_copy_number_schema.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/normalize_response_schema.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/service_schema.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/to_vrs_response_schema.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/validation_response_schema.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/schemas/vrs_python_translator_schema.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/to_canonical_variation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/to_copy_number_variation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/to_vrs.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/to_vrsatile.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/coding_dna_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/coding_dna_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/coding_dna_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/coding_dna_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/coding_dna_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/deletion_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/deletion_range_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/duplication_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/free_text_categorical.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/gene_symbol.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/genomic_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/genomic_deletion_range.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/genomic_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/genomic_duplication.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/genomic_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/genomic_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/genomic_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/genomic_uncertain_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/protein_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/reference_sequence.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/amplification.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/coding_dna_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/coding_dna_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/coding_dna_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/coding_dna_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/coding_dna_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/genomic_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/genomic_deletion_range.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/genomic_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/genomic_duplication.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/genomic_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/genomic_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/genomic_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/genomic_uncertain_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/polypeptide_truncation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/protein_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/protein_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/protein_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/protein_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/translate.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/translators/translator.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/utils.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/__init__.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/amplification.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/coding_dna_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/coding_dna_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/coding_dna_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/coding_dna_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/coding_dna_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/delins_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/duplication_deletion_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_deletion_range.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_duplication.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/genomic_uncertain_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/insertion_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/polypeptide_sequence_variation_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/polypeptide_truncation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/protein_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/protein_deletion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/protein_delins.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/protein_insertion.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/protein_substitution.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/silent_mutation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/single_nucleotide_variation_base.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/validate.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/validators/validator.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/vrs_representation.py +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation_normalizer.egg-info/dependency_links.txt +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation_normalizer.egg-info/not-zip-safe +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation_normalizer.egg-info/requires.txt +0 -0
- {variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation_normalizer.egg-info/top_level.txt +0 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""A module for testing Coding DNA DelIns tokenization."""
|
|
2
2
|
import unittest
|
|
3
3
|
|
|
4
|
-
from variation.tokenizers.caches import NucleotideCache
|
|
5
4
|
from variation.tokenizers import CodingDNADelIns
|
|
6
5
|
from .tokenizer_base import TokenizerBase
|
|
7
6
|
|
|
@@ -11,7 +10,7 @@ class TestCodingDNADelInsTokenizer(TokenizerBase, unittest.TestCase):
|
|
|
11
10
|
|
|
12
11
|
def tokenizer_instance(self):
|
|
13
12
|
"""Return Coding DNA DelIns instance."""
|
|
14
|
-
return CodingDNADelIns(
|
|
13
|
+
return CodingDNADelIns()
|
|
15
14
|
|
|
16
15
|
def token_type(self):
|
|
17
16
|
"""Return DNA coding delins token type."""
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""A module for testing Coding DNA Insertion Tokenization."""
|
|
2
2
|
import unittest
|
|
3
3
|
|
|
4
|
-
from variation.tokenizers.caches import NucleotideCache
|
|
5
4
|
from variation.tokenizers import CodingDNAInsertion
|
|
6
5
|
from .tokenizer_base import TokenizerBase
|
|
7
6
|
|
|
@@ -11,7 +10,7 @@ class TestCodingDNAInsertionTokenizer(TokenizerBase, unittest.TestCase):
|
|
|
11
10
|
|
|
12
11
|
def tokenizer_instance(self):
|
|
13
12
|
"""Return Coding DNA Insertion instance."""
|
|
14
|
-
return CodingDNAInsertion(
|
|
13
|
+
return CodingDNAInsertion()
|
|
15
14
|
|
|
16
15
|
def token_type(self):
|
|
17
16
|
"""Return Coding DNA insertion token type."""
|
|
@@ -7,7 +7,7 @@ from variation.tokenizers import GeneSymbol
|
|
|
7
7
|
from .tokenizer_base import TokenizerBase
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class
|
|
10
|
+
class TestGeneSymbolTokenizer(TokenizerBase, unittest.TestCase):
|
|
11
11
|
"""The Gene Pair Tokenizer class."""
|
|
12
12
|
|
|
13
13
|
def tokenizer_instance(self):
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""A module for testing Genomic DelIns tokenization."""
|
|
2
2
|
import unittest
|
|
3
3
|
|
|
4
|
-
from variation.tokenizers.caches import NucleotideCache
|
|
5
4
|
from variation.tokenizers import GenomicDelIns
|
|
6
5
|
from .tokenizer_base import TokenizerBase
|
|
7
6
|
|
|
@@ -11,7 +10,7 @@ class TestGenomicDelInsTokenizer(TokenizerBase, unittest.TestCase):
|
|
|
11
10
|
|
|
12
11
|
def tokenizer_instance(self):
|
|
13
12
|
"""Return Genomic DelIns instance."""
|
|
14
|
-
return GenomicDelIns(
|
|
13
|
+
return GenomicDelIns()
|
|
15
14
|
|
|
16
15
|
def token_type(self):
|
|
17
16
|
"""Return genomic delins token type."""
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""A module for testing Genomic Insertion Tokenization."""
|
|
2
2
|
import unittest
|
|
3
3
|
|
|
4
|
-
from variation.tokenizers.caches import NucleotideCache
|
|
5
4
|
from variation.tokenizers import GenomicInsertion
|
|
6
5
|
from .tokenizer_base import TokenizerBase
|
|
7
6
|
|
|
@@ -11,7 +10,7 @@ class TestGenomicInsertionTokenizer(TokenizerBase, unittest.TestCase):
|
|
|
11
10
|
|
|
12
11
|
def tokenizer_instance(self):
|
|
13
12
|
"""Return Genomic Insertion instance."""
|
|
14
|
-
return GenomicInsertion(
|
|
13
|
+
return GenomicInsertion()
|
|
15
14
|
|
|
16
15
|
def token_type(self):
|
|
17
16
|
"""Return genomic insertion token type."""
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""A module for testing Protein DelIns tokenization."""
|
|
2
2
|
import unittest
|
|
3
3
|
|
|
4
|
-
from variation.tokenizers.caches import NucleotideCache
|
|
5
4
|
from variation.tokenizers import ProteinDelIns
|
|
6
5
|
from .tokenizer_base import TokenizerBase
|
|
7
6
|
|
|
@@ -11,7 +10,7 @@ class TestProteinDelInsTokenizer(TokenizerBase, unittest.TestCase):
|
|
|
11
10
|
|
|
12
11
|
def tokenizer_instance(self):
|
|
13
12
|
"""Return Protein DelIns instance."""
|
|
14
|
-
return ProteinDelIns(
|
|
13
|
+
return ProteinDelIns()
|
|
15
14
|
|
|
16
15
|
def token_type(self):
|
|
17
16
|
"""Return protein delins token type."""
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import unittest
|
|
3
3
|
|
|
4
4
|
from variation.tokenizers import ProteinInsertion
|
|
5
|
-
from variation.tokenizers.caches import NucleotideCache
|
|
6
5
|
from .tokenizer_base import TokenizerBase
|
|
7
6
|
|
|
8
7
|
|
|
@@ -11,7 +10,7 @@ class TestProteinInsertionTokenizer(TokenizerBase, unittest.TestCase):
|
|
|
11
10
|
|
|
12
11
|
def tokenizer_instance(self):
|
|
13
12
|
"""Return Protein Insertion instance."""
|
|
14
|
-
return ProteinInsertion(
|
|
13
|
+
return ProteinInsertion()
|
|
15
14
|
|
|
16
15
|
def token_type(self):
|
|
17
16
|
"""Return protein insertion token type."""
|
|
@@ -26,17 +26,21 @@ from variation.to_copy_number_variation import ToCopyNumberVariation
|
|
|
26
26
|
class QueryHandler:
|
|
27
27
|
"""Class for initializing handlers that make app queries."""
|
|
28
28
|
|
|
29
|
-
def __init__(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
uta_db_pwd: Optional[str] = None) -> None:
|
|
29
|
+
def __init__(
|
|
30
|
+
self, dynamodb_url: str = "", dynamodb_region: str = "us-east-2",
|
|
31
|
+
gene_query_handler: Optional[GeneQueryHandler] = None,
|
|
32
|
+
transcript_file_path: str = None, refseq_file_path: str = None,
|
|
33
|
+
mane_data_path: str = None, uta_db_url: str = UTA_DB_URL,
|
|
34
|
+
uta_db_pwd: Optional[str] = None
|
|
35
|
+
) -> None:
|
|
37
36
|
"""Initialize QueryHandler instance.
|
|
38
|
-
:param str dynamodb_url: URL to gene
|
|
39
|
-
|
|
37
|
+
:param str dynamodb_url: URL to gene normalizer dynamodb. Only used when
|
|
38
|
+
`gene_query_handler` is `None`.
|
|
39
|
+
:param str dynamodb_region: AWS region for gene normalizer db. Only used when
|
|
40
|
+
`gene_query_handler` is `None`.
|
|
41
|
+
:param Optional[GeneQueryHandler] gene_query_handler: Gene normalizer query
|
|
42
|
+
handler instance. If this is provided, will use a current instance. If this
|
|
43
|
+
is not provided, will create a new instance.
|
|
40
44
|
:param str transcript_file_path: Path to transcript mappings file
|
|
41
45
|
:param str refseq_file_path: Path to refseq gene symbol file
|
|
42
46
|
:param str mane_data_path: Path to refseq mane data file
|
|
@@ -48,19 +52,27 @@ class QueryHandler:
|
|
|
48
52
|
TRANSCRIPT_MAPPINGS_PATH)
|
|
49
53
|
if not refseq_file_path:
|
|
50
54
|
refseq_file_path = environ.get("LRG_REFSEQGENE_PATH", LRG_REFSEQGENE_PATH)
|
|
55
|
+
|
|
51
56
|
if not mane_data_path:
|
|
52
57
|
mane_data_path = environ.get("MANE_SUMMARY_PATH", MANE_SUMMARY_PATH)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
|
|
59
|
+
if not gene_query_handler:
|
|
60
|
+
gene_query_handler = GeneQueryHandler(
|
|
61
|
+
db_url=dynamodb_url, db_region=dynamodb_region
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
cool_seq_tool = CoolSeqTool(
|
|
65
|
+
transcript_file_path=transcript_file_path,
|
|
66
|
+
lrg_refseqgene_path=refseq_file_path,
|
|
67
|
+
mane_data_path=mane_data_path,
|
|
68
|
+
db_url=uta_db_url,
|
|
69
|
+
db_pwd=uta_db_pwd,
|
|
70
|
+
gene_query_handler=gene_query_handler
|
|
71
|
+
)
|
|
57
72
|
self._seqrepo_access = cool_seq_tool.seqrepo_access
|
|
58
73
|
|
|
59
74
|
vrs_representation = VRSRepresentation(self._seqrepo_access)
|
|
60
|
-
|
|
61
|
-
gene_normalizer = GeneQueryHandler(db_url=dynamodb_url,
|
|
62
|
-
db_region=dynamodb_region)
|
|
63
|
-
gene_symbol = GeneSymbol(gene_normalizer)
|
|
75
|
+
gene_symbol = GeneSymbol(gene_query_handler)
|
|
64
76
|
tokenizer = Tokenize(gene_symbol)
|
|
65
77
|
classifier = Classify()
|
|
66
78
|
uta_db = cool_seq_tool.uta_db
|
|
@@ -69,13 +81,13 @@ class QueryHandler:
|
|
|
69
81
|
self._tlr = Translator(data_proxy=self._seqrepo_access)
|
|
70
82
|
validator = Validate(
|
|
71
83
|
self._seqrepo_access, transcript_mappings, gene_symbol, mane_transcript,
|
|
72
|
-
uta_db, self._tlr,
|
|
84
|
+
uta_db, self._tlr, gene_query_handler, vrs_representation
|
|
73
85
|
)
|
|
74
86
|
translator = Translate()
|
|
75
87
|
hgvs_dup_del_mode = HGVSDupDelMode(self._seqrepo_access)
|
|
76
88
|
to_vrs_params = [self._seqrepo_access, tokenizer,
|
|
77
89
|
classifier, validator, translator, hgvs_dup_del_mode,
|
|
78
|
-
|
|
90
|
+
gene_query_handler]
|
|
79
91
|
self.to_vrs_handler = ToVRS(*to_vrs_params)
|
|
80
92
|
self.to_vrsatile_handler = ToVRSATILE(*to_vrs_params)
|
|
81
93
|
self.normalize_handler = Normalize(*to_vrs_params + [uta_db])
|
|
@@ -111,49 +111,6 @@ class GeneMatchToken(Token):
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
|
|
114
|
-
class GenePairMatchToken(Token):
|
|
115
|
-
"""Define model for gene pair token."""
|
|
116
|
-
|
|
117
|
-
left_gene_token: GeneMatchToken
|
|
118
|
-
right_gene_token: GeneMatchToken
|
|
119
|
-
token_type = "GenePair"
|
|
120
|
-
|
|
121
|
-
class Config:
|
|
122
|
-
"""Configure model."""
|
|
123
|
-
|
|
124
|
-
@staticmethod
|
|
125
|
-
def schema_extra(schema: Dict[str, Any],
|
|
126
|
-
model: Type["GenePairMatchToken"]) -> None:
|
|
127
|
-
"""Configure OpenAPI schema."""
|
|
128
|
-
if "title" in schema.keys():
|
|
129
|
-
schema.pop("title", None)
|
|
130
|
-
for prop in schema.get("properties", {}).values():
|
|
131
|
-
prop.pop("title", None)
|
|
132
|
-
schema["example"] = {
|
|
133
|
-
"token": "BRAF-ABL1",
|
|
134
|
-
"token_type": "GenePair",
|
|
135
|
-
"match_type": 5,
|
|
136
|
-
"input_string": "braf-abl1",
|
|
137
|
-
"object_type": "Token",
|
|
138
|
-
"left_gene_token": {
|
|
139
|
-
"token": "BRAF",
|
|
140
|
-
"token_type": "GeneSymbol",
|
|
141
|
-
"match_type": 2,
|
|
142
|
-
"input_string": "BRAF",
|
|
143
|
-
"object_type": "Token",
|
|
144
|
-
"matched_value": "BRAF"
|
|
145
|
-
},
|
|
146
|
-
"right_gene_token": {
|
|
147
|
-
"token": "ABL1",
|
|
148
|
-
"token_type": "GeneSymbol",
|
|
149
|
-
"match_type": 2,
|
|
150
|
-
"input_string": "ABL1",
|
|
151
|
-
"object_type": "Token",
|
|
152
|
-
"matched_value": "ABL1"
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
114
|
class CoordinateType(str, Enum):
|
|
158
115
|
"""Define constraints for coordinate types."""
|
|
159
116
|
|
|
@@ -275,9 +232,15 @@ class TokenResponseSchema(BaseModel):
|
|
|
275
232
|
"""Define model for token response."""
|
|
276
233
|
|
|
277
234
|
search_term: str
|
|
278
|
-
tokens: List[
|
|
279
|
-
|
|
280
|
-
|
|
235
|
+
tokens: List[
|
|
236
|
+
Union[
|
|
237
|
+
GeneMatchToken,
|
|
238
|
+
ProteinSubstitutionToken,
|
|
239
|
+
PolypeptideTruncationToken,
|
|
240
|
+
SilentMutationToken,
|
|
241
|
+
Token
|
|
242
|
+
]
|
|
243
|
+
]
|
|
281
244
|
|
|
282
245
|
class Config:
|
|
283
246
|
"""Configure model."""
|
{variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/__init__.py
RENAMED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"""Module to load and init namespace at package level."""
|
|
2
2
|
from .tokenizer import Tokenizer
|
|
3
3
|
from .tokenize import Tokenize
|
|
4
|
-
from .gene_pair import GenePair
|
|
5
4
|
from .gene_symbol import GeneSymbol
|
|
6
|
-
from .protein_alternate import ProteinAlternate
|
|
7
5
|
from .protein_delins import ProteinDelIns
|
|
8
6
|
from .hgvs import HGVS
|
|
9
7
|
from .reference_sequence import ReferenceSequence
|
|
@@ -4,20 +4,14 @@ from typing import Optional, Dict, List
|
|
|
4
4
|
|
|
5
5
|
from variation.schemas.token_response_schema import DelIns, TokenMatchType, Token
|
|
6
6
|
from .tokenizer import Tokenizer
|
|
7
|
-
from .caches import NucleotideCache
|
|
8
|
-
from .tokenize_base import TokenizeBase
|
|
9
7
|
|
|
10
8
|
|
|
11
9
|
class DelInsBase(Tokenizer):
|
|
12
10
|
"""Class for tokenizing DelIns."""
|
|
13
11
|
|
|
14
|
-
def __init__(self
|
|
15
|
-
"""Initialize the DelIns Class.
|
|
16
|
-
|
|
17
|
-
:param NucleotideCache nucleotide_cache: Valid nucleotides
|
|
18
|
-
"""
|
|
12
|
+
def __init__(self) -> None:
|
|
13
|
+
"""Initialize the DelIns Class."""
|
|
19
14
|
self.parts = None
|
|
20
|
-
self.tokenize_base = TokenizeBase(nucleotide_cache)
|
|
21
15
|
|
|
22
16
|
def match(self, input_string: str) -> Optional[DelIns]:
|
|
23
17
|
"""Return tokens that match the input string."""
|
|
@@ -77,14 +71,13 @@ class DelInsBase(Tokenizer):
|
|
|
77
71
|
coordinate_type = parts[0][:1]
|
|
78
72
|
parts[0] = parts[0][2:]
|
|
79
73
|
|
|
80
|
-
positions_deleted = self.
|
|
74
|
+
positions_deleted = self.get_positions_deleted(parts)
|
|
81
75
|
if not positions_deleted:
|
|
82
76
|
return
|
|
83
77
|
start_pos_del = positions_deleted[0]
|
|
84
78
|
end_pos_del = positions_deleted[1]
|
|
85
79
|
|
|
86
|
-
inserted_sequences =
|
|
87
|
-
self.tokenize_base.get_transcript_genomic_inserted_sequence(parts)
|
|
80
|
+
inserted_sequences = self.get_transcript_genomic_inserted_sequence(parts)
|
|
88
81
|
if not inserted_sequences:
|
|
89
82
|
return
|
|
90
83
|
inserted_sequence1 = inserted_sequences[0]
|
|
@@ -12,11 +12,9 @@ from .tokenizer import Tokenizer
|
|
|
12
12
|
class GnomadVCF(Tokenizer):
|
|
13
13
|
"""The gnomad VCF tokenizer class"""
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
""
|
|
17
|
-
|
|
18
|
-
r"^(?P<chromosome>(chr|chromosome)?([1-9]|[1][0-9]|[2][0-2]|X|Y))-"
|
|
19
|
-
r"(?P<pos>[1-9]\d*)-(?P<ref>(?i)[actg]+)-(?P<alt>(?i)[actg]+)$")
|
|
15
|
+
splitter = re.compile(
|
|
16
|
+
r"^(?P<chromosome>(chr|chromosome)?([1-9]|[1][0-9]|[2][0-2]|X|Y))-"
|
|
17
|
+
r"(?P<pos>[1-9]\d*)-(?P<ref>(?i)[actg]+)-(?P<alt>(?i)[actg]+)$")
|
|
20
18
|
|
|
21
19
|
def match(self, input_string: str) -> Optional[List[Token]]:
|
|
22
20
|
"""Return a GnomadVCFToken if a match exists.
|
{variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/hgvs.py
RENAMED
|
@@ -15,10 +15,8 @@ from .locus_reference_genomic import LocusReferenceGenomic
|
|
|
15
15
|
class HGVS(Tokenizer):
|
|
16
16
|
"""The HGVS tokenizer class."""
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
self.parser = Parser()
|
|
21
|
-
self.validator = IntrinsicValidator()
|
|
18
|
+
parser = Parser()
|
|
19
|
+
validator = IntrinsicValidator()
|
|
22
20
|
|
|
23
21
|
def match(self, input_string: str) -> Optional[Token]:
|
|
24
22
|
"""Return token matches from input string."""
|
|
@@ -4,20 +4,14 @@ from typing import Optional, Dict, List
|
|
|
4
4
|
|
|
5
5
|
from variation.schemas.token_response_schema import Insertion, TokenMatchType, Token
|
|
6
6
|
from .tokenizer import Tokenizer
|
|
7
|
-
from .caches import NucleotideCache
|
|
8
|
-
from .tokenize_base import TokenizeBase
|
|
9
7
|
|
|
10
8
|
|
|
11
9
|
class InsertionBase(Tokenizer):
|
|
12
10
|
"""Class for tokenizing Insertion."""
|
|
13
11
|
|
|
14
|
-
def __init__(self
|
|
15
|
-
"""Initialize the Insertion Class.
|
|
16
|
-
|
|
17
|
-
:param NucleotideCache nucleotide_cache: Valid nucleotides
|
|
18
|
-
"""
|
|
12
|
+
def __init__(self) -> None:
|
|
13
|
+
"""Initialize the Insertion Class."""
|
|
19
14
|
self.parts = None
|
|
20
|
-
self.tokenize_base = TokenizeBase(nucleotide_cache)
|
|
21
15
|
|
|
22
16
|
def match(self, input_string: str) -> Optional[Insertion]:
|
|
23
17
|
"""Return tokens that match the input string."""
|
|
@@ -67,14 +61,13 @@ class InsertionBase(Tokenizer):
|
|
|
67
61
|
coordinate_type = parts[0][:1]
|
|
68
62
|
parts[0] = parts[0][2:]
|
|
69
63
|
|
|
70
|
-
positions = self.
|
|
64
|
+
positions = self.get_positions_deleted(parts)
|
|
71
65
|
if not positions:
|
|
72
66
|
return None
|
|
73
67
|
start_pos = positions[0]
|
|
74
68
|
end_pos = positions[1]
|
|
75
69
|
|
|
76
|
-
inserted_sequences =
|
|
77
|
-
self.tokenize_base.get_transcript_genomic_inserted_sequence(parts)
|
|
70
|
+
inserted_sequences = self.get_transcript_genomic_inserted_sequence(parts)
|
|
78
71
|
if not inserted_sequences or not inserted_sequences[0]:
|
|
79
72
|
return None
|
|
80
73
|
|
|
@@ -10,10 +10,10 @@ from .tokenizer import Tokenizer
|
|
|
10
10
|
class LocusReferenceGenomic(Tokenizer):
|
|
11
11
|
"""The LRG class for tokenization."""
|
|
12
12
|
|
|
13
|
+
regex = r"lrg_\d+((t|p)\d+)?"
|
|
14
|
+
|
|
13
15
|
def __init__(self) -> None:
|
|
14
16
|
"""Initialize the LRG class."""
|
|
15
|
-
self.splitter = re.compile(r"(\d+)")
|
|
16
|
-
self.regex = r"lrg_\d+((t|p)\d+)?"
|
|
17
17
|
self.parts = None
|
|
18
18
|
|
|
19
19
|
def match(self, input_string: str) -> Optional[LocusReferenceGenomicToken]:
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"""A module for Polypeptide Sequence Variation Tokenization Base Class."""
|
|
2
|
-
import re
|
|
3
2
|
from abc import abstractmethod
|
|
4
3
|
from typing import List, Optional
|
|
5
4
|
|
|
@@ -14,7 +13,6 @@ class PolypeptideSequenceVariationBase(Tokenizer):
|
|
|
14
13
|
|
|
15
14
|
def __init__(self) -> None:
|
|
16
15
|
"""Initialize the Polypeptide Sequence Variation Base Class."""
|
|
17
|
-
self.splitter = re.compile(r"(\d+)")
|
|
18
16
|
self.psub = None
|
|
19
17
|
|
|
20
18
|
def _set_psub(self, amino_acid: str, position: int, new_amino_acid: str) -> None:
|
|
@@ -40,11 +40,11 @@ class PolypeptideTruncation(PolypeptideSequenceVariationBase):
|
|
|
40
40
|
else:
|
|
41
41
|
p_count = input_string.count("p.")
|
|
42
42
|
if p_count == 1:
|
|
43
|
-
psub_parts = self.
|
|
43
|
+
psub_parts = self.splitter_paren_digits.split(input_string)
|
|
44
44
|
if len(split_whitespace) == 2:
|
|
45
45
|
psub_parts = split_whitespace
|
|
46
46
|
else:
|
|
47
|
-
psub_parts = self.
|
|
47
|
+
psub_parts = self.splitter_paren_digits.split(input_string)
|
|
48
48
|
|
|
49
49
|
self._get_psub(psub_parts)
|
|
50
50
|
|
|
@@ -92,5 +92,5 @@ class PolypeptideTruncation(PolypeptideSequenceVariationBase):
|
|
|
92
92
|
check_nonsense = f"({psub_parts[0].replace('ter', '*')})"
|
|
93
93
|
if check_nonsense == psub_parts[1]:
|
|
94
94
|
psub_parts = \
|
|
95
|
-
self.
|
|
95
|
+
self.splitter_paren_digits.split(psub_parts[0].split("p.")[-1])
|
|
96
96
|
self._get_psub(psub_parts)
|
|
@@ -5,21 +5,15 @@ from pydantic.error_wrappers import ValidationError
|
|
|
5
5
|
|
|
6
6
|
from variation.schemas.token_response_schema import ProteinDelInsToken, \
|
|
7
7
|
TokenMatchType
|
|
8
|
-
from .caches import NucleotideCache
|
|
9
8
|
from .tokenizer import Tokenizer
|
|
10
|
-
from .tokenize_base import TokenizeBase
|
|
11
9
|
|
|
12
10
|
|
|
13
11
|
class ProteinDelIns(Tokenizer):
|
|
14
12
|
"""Class for tokenizing DelIns on the protein reference sequence."""
|
|
15
13
|
|
|
16
|
-
def __init__(self
|
|
17
|
-
"""Initialize the Protein DelIns Class.
|
|
18
|
-
|
|
19
|
-
:param NucleotideCache nucleotide_cache: Valid nucleotides
|
|
20
|
-
"""
|
|
14
|
+
def __init__(self) -> None:
|
|
15
|
+
"""Initialize the Protein DelIns Class."""
|
|
21
16
|
self.parts = None
|
|
22
|
-
self.tokenize_base = TokenizeBase(nucleotide_cache)
|
|
23
17
|
|
|
24
18
|
def match(self, input_string: str) -> Optional[ProteinDelInsToken]:
|
|
25
19
|
"""Return token that match the input string."""
|
|
@@ -66,13 +60,12 @@ class ProteinDelIns(Tokenizer):
|
|
|
66
60
|
return None
|
|
67
61
|
|
|
68
62
|
# Get reference sequence
|
|
69
|
-
range_aa_pos = self.
|
|
63
|
+
range_aa_pos = self.get_aa_pos_range(parts)
|
|
70
64
|
if range_aa_pos:
|
|
71
65
|
self.parts["start_aa_del"] = range_aa_pos[0]
|
|
72
66
|
self.parts["end_aa_del"] = range_aa_pos[1]
|
|
73
67
|
self.parts["start_pos_del"] = range_aa_pos[2]
|
|
74
68
|
self.parts["end_pos_del"] = range_aa_pos[3]
|
|
75
69
|
self.parts["used_one_letter"] = range_aa_pos[4]
|
|
76
|
-
self.parts["inserted_sequence"] =
|
|
77
|
-
self.
|
|
78
|
-
parts, self.parts["used_one_letter"])
|
|
70
|
+
self.parts["inserted_sequence"] = self.get_protein_inserted_sequence(
|
|
71
|
+
parts, self.parts["used_one_letter"])
|
|
@@ -5,21 +5,15 @@ from pydantic.error_wrappers import ValidationError
|
|
|
5
5
|
|
|
6
6
|
from variation.schemas.token_response_schema import ProteinInsertionToken, \
|
|
7
7
|
TokenMatchType
|
|
8
|
-
from .caches import NucleotideCache
|
|
9
8
|
from .tokenizer import Tokenizer
|
|
10
|
-
from .tokenize_base import TokenizeBase
|
|
11
9
|
|
|
12
10
|
|
|
13
11
|
class ProteinInsertion(Tokenizer):
|
|
14
12
|
"""Class for tokenizing Insertions on the protein reference sequence."""
|
|
15
13
|
|
|
16
|
-
def __init__(self
|
|
17
|
-
"""Initialize the Protein Insertion Class.
|
|
18
|
-
|
|
19
|
-
:param NucleotideCache nucleotide_cache: Valid nucleotides
|
|
20
|
-
"""
|
|
14
|
+
def __init__(self) -> None:
|
|
15
|
+
"""Initialize the Protein Insertion Class."""
|
|
21
16
|
self.parts = None
|
|
22
|
-
self.tokenize_base = TokenizeBase(nucleotide_cache)
|
|
23
17
|
|
|
24
18
|
def match(self, input_string: str) -> Optional[ProteinInsertionToken]:
|
|
25
19
|
"""Return token that match the input string."""
|
|
@@ -67,13 +61,13 @@ class ProteinInsertion(Tokenizer):
|
|
|
67
61
|
if len(parts) != 2:
|
|
68
62
|
return
|
|
69
63
|
|
|
70
|
-
range_aa_pos = self.
|
|
64
|
+
range_aa_pos = self.get_aa_pos_range(parts)
|
|
71
65
|
if range_aa_pos:
|
|
72
66
|
self.parts["start_aa_flank"] = range_aa_pos[0]
|
|
73
67
|
self.parts["end_aa_flank"] = range_aa_pos[1]
|
|
74
68
|
self.parts["start_pos_flank"] = range_aa_pos[2]
|
|
75
69
|
self.parts["end_pos_flank"] = range_aa_pos[3]
|
|
76
70
|
self.parts["used_one_letter"] = range_aa_pos[4]
|
|
77
|
-
self.parts["inserted_sequence"] =
|
|
78
|
-
self.
|
|
79
|
-
|
|
71
|
+
self.parts["inserted_sequence"] = self.get_protein_inserted_sequence(
|
|
72
|
+
parts, self.parts["used_one_letter"]
|
|
73
|
+
)
|
|
@@ -37,11 +37,11 @@ class ProteinSubstitution(PolypeptideSequenceVariationBase):
|
|
|
37
37
|
return None
|
|
38
38
|
p_count = input_string.count("p.")
|
|
39
39
|
if p_count == 1:
|
|
40
|
-
psub_parts = self.
|
|
40
|
+
psub_parts = self.splitter_paren_digits.split(input_string)
|
|
41
41
|
elif p_count == 2:
|
|
42
42
|
psub_parts = input_string.split()
|
|
43
43
|
else:
|
|
44
|
-
psub_parts = self.
|
|
44
|
+
psub_parts = self.splitter_paren_digits.split(input_string)
|
|
45
45
|
|
|
46
46
|
self._get_psub(psub_parts)
|
|
47
47
|
|
|
@@ -33,9 +33,9 @@ class SilentMutation(PolypeptideSequenceVariationBase):
|
|
|
33
33
|
return None
|
|
34
34
|
p_count = input_string.count("p.")
|
|
35
35
|
if p_count == 1:
|
|
36
|
-
psub_parts = self.
|
|
36
|
+
psub_parts = self.splitter_paren_digits.split(input_string)
|
|
37
37
|
else:
|
|
38
|
-
psub_parts = self.
|
|
38
|
+
psub_parts = self.splitter_paren_digits.split(input_string)
|
|
39
39
|
|
|
40
40
|
self._get_psub(psub_parts)
|
|
41
41
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"""A module for Single Nucleotide Variation Tokenization Base Class."""
|
|
2
|
-
import re
|
|
3
2
|
from abc import abstractmethod
|
|
4
3
|
from typing import List, Optional, Dict
|
|
5
4
|
|
|
6
|
-
from variation.schemas.token_response_schema import \
|
|
7
|
-
|
|
8
|
-
from variation.tokenizers.caches import NucleotideCache
|
|
5
|
+
from variation.schemas.token_response_schema import SingleNucleotideVariation, \
|
|
6
|
+
TokenMatchType
|
|
9
7
|
from .tokenizer import Tokenizer
|
|
10
8
|
|
|
11
9
|
|
|
@@ -14,9 +12,7 @@ class SingleNucleotideVariationBase(Tokenizer):
|
|
|
14
12
|
|
|
15
13
|
def __init__(self) -> None:
|
|
16
14
|
"""Initialize the Single Nucleotide Variation Base Class."""
|
|
17
|
-
self.splitter = re.compile(r"(\d+)")
|
|
18
15
|
self.sub = None
|
|
19
|
-
self.nucleotide_cache = NucleotideCache()
|
|
20
16
|
|
|
21
17
|
def match(self, input_string: str) -> Optional[SingleNucleotideVariation]:
|
|
22
18
|
"""Return a SingleNucleotideVariationToken match if one exists.
|
|
@@ -39,7 +35,7 @@ class SingleNucleotideVariationBase(Tokenizer):
|
|
|
39
35
|
if "c." not in input_string and "g." not in input_string:
|
|
40
36
|
return None
|
|
41
37
|
|
|
42
|
-
sub_parts = self.
|
|
38
|
+
sub_parts = self.splitter_paren_digits.split(input_string)
|
|
43
39
|
self._get_sub(sub_parts)
|
|
44
40
|
if None not in self.sub.values():
|
|
45
41
|
params = {
|
|
@@ -80,9 +76,8 @@ class SingleNucleotideVariationBase(Tokenizer):
|
|
|
80
76
|
if ">" in sub_parts[2]:
|
|
81
77
|
# Substitution
|
|
82
78
|
ref_nuc, new_nuc = sub_parts[2].split(">")
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
and new_nuc.upper() in nucleotides: # noqa: E501
|
|
79
|
+
if ref_nuc.upper() in self.base_nucleotides \
|
|
80
|
+
and new_nuc.upper() in self.base_nucleotides:
|
|
86
81
|
self._set_sub(ref_nuc, sub_parts[1], new_nuc,
|
|
87
82
|
sub_parts[0].split(".")[0])
|
|
88
83
|
elif sub_parts[2] == "=":
|
{variation-normalizer-0.7.0.dev4 → variation-normalizer-0.7.0.dev5}/variation/tokenizers/tokenize.py
RENAMED
|
@@ -27,7 +27,6 @@ from .genomic_duplication import GenomicDuplication
|
|
|
27
27
|
from .genomic_deletion_range import GenomicDeletionRange
|
|
28
28
|
from .gnomad_vcf import GnomadVCF
|
|
29
29
|
from .free_text_categorical import FreeTextCategorical
|
|
30
|
-
from .caches import NucleotideCache
|
|
31
30
|
|
|
32
31
|
|
|
33
32
|
class Tokenize:
|
|
@@ -35,7 +34,6 @@ class Tokenize:
|
|
|
35
34
|
|
|
36
35
|
def __init__(self, gene_symbol: GeneSymbol) -> None:
|
|
37
36
|
"""Initialize the tokenize class."""
|
|
38
|
-
nucleotide_cache = NucleotideCache()
|
|
39
37
|
self.tokenizers = (
|
|
40
38
|
HGVS(),
|
|
41
39
|
ReferenceSequence(),
|
|
@@ -50,15 +48,15 @@ class Tokenize:
|
|
|
50
48
|
GenomicSubstitution(),
|
|
51
49
|
CodingDNASilentMutation(),
|
|
52
50
|
GenomicSilentMutation(),
|
|
53
|
-
ProteinDelIns(
|
|
54
|
-
CodingDNADelIns(
|
|
55
|
-
GenomicDelIns(
|
|
51
|
+
ProteinDelIns(),
|
|
52
|
+
CodingDNADelIns(),
|
|
53
|
+
GenomicDelIns(),
|
|
56
54
|
ProteinDeletion(),
|
|
57
55
|
CodingDNADeletion(),
|
|
58
56
|
GenomicDeletion(),
|
|
59
|
-
ProteinInsertion(
|
|
60
|
-
CodingDNAInsertion(
|
|
61
|
-
GenomicInsertion(
|
|
57
|
+
ProteinInsertion(),
|
|
58
|
+
CodingDNAInsertion(),
|
|
59
|
+
GenomicInsertion(),
|
|
62
60
|
GenomicUncertainDeletion(),
|
|
63
61
|
GenomicDuplication(),
|
|
64
62
|
GenomicDeletionRange()
|