ferro-hgvs 0.7.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.
- ferro_hgvs-0.7.1/.claudeignore +26 -0
- ferro_hgvs-0.7.1/.codecov.yml +26 -0
- ferro_hgvs-0.7.1/.coderabbit.yaml +104 -0
- ferro_hgvs-0.7.1/.config/nextest.toml +8 -0
- ferro_hgvs-0.7.1/.gitattributes +2 -0
- ferro_hgvs-0.7.1/.gitignore +85 -0
- ferro_hgvs-0.7.1/.gitmodules +3 -0
- ferro_hgvs-0.7.1/.pre-commit-config.yaml +77 -0
- ferro_hgvs-0.7.1/CHANGELOG.md +812 -0
- ferro_hgvs-0.7.1/CLAUDE.md +156 -0
- ferro_hgvs-0.7.1/CONTRIBUTING.md +202 -0
- ferro_hgvs-0.7.1/Cargo.lock +4764 -0
- ferro_hgvs-0.7.1/Cargo.toml +268 -0
- ferro_hgvs-0.7.1/LICENSE +21 -0
- ferro_hgvs-0.7.1/PKG-INFO +401 -0
- ferro_hgvs-0.7.1/README.md +373 -0
- ferro_hgvs-0.7.1/THIRD_PARTY_NOTICES.md +109 -0
- ferro_hgvs-0.7.1/benches/baseline_head.rs +179 -0
- ferro_hgvs-0.7.1/benches/benchmarks.rs +497 -0
- ferro_hgvs-0.7.1/benches/projection.rs +408 -0
- ferro_hgvs-0.7.1/config/service.example.toml +77 -0
- ferro_hgvs-0.7.1/examples/build_conformance_snapshot.rs +300 -0
- ferro_hgvs-0.7.1/examples/derive_ng_placements.rs +141 -0
- ferro_hgvs-0.7.1/examples/derive_tx_placements.rs +241 -0
- ferro_hgvs-0.7.1/examples/extract_biocommons_windows.rs +422 -0
- ferro_hgvs-0.7.1/examples/extract_mutalyzer_genomic_windows.rs +465 -0
- ferro_hgvs-0.7.1/examples/generate_conformance_summary.rs +112 -0
- ferro_hgvs-0.7.1/examples/generate_perf_tables.rs +113 -0
- ferro_hgvs-0.7.1/examples/generate_spec_fixture.rs +1168 -0
- ferro_hgvs-0.7.1/examples/generate_tool_support_tables.rs +177 -0
- ferro_hgvs-0.7.1/examples/projector-bench.rs +371 -0
- ferro_hgvs-0.7.1/examples/report_conformance_reference_gaps.rs +175 -0
- ferro_hgvs-0.7.1/pixi.lock +2380 -0
- ferro_hgvs-0.7.1/pixi.toml +37 -0
- ferro_hgvs-0.7.1/pyproject.toml +116 -0
- ferro_hgvs-0.7.1/python/ferro_hgvs/__init__.py +91 -0
- ferro_hgvs-0.7.1/python/ferro_hgvs/__init__.pyi +1781 -0
- ferro_hgvs-0.7.1/rust-toolchain.toml +3 -0
- ferro_hgvs-0.7.1/src/backtranslate/codon.rs +582 -0
- ferro_hgvs-0.7.1/src/backtranslate/mod.rs +276 -0
- ferro_hgvs-0.7.1/src/batch/mod.rs +53 -0
- ferro_hgvs-0.7.1/src/batch/processor.rs +726 -0
- ferro_hgvs-0.7.1/src/benchmark/accessions.rs +197 -0
- ferro_hgvs-0.7.1/src/benchmark/arbitration.rs +351 -0
- ferro_hgvs-0.7.1/src/benchmark/biocommons.rs +2843 -0
- ferro_hgvs-0.7.1/src/benchmark/cache.rs +4243 -0
- ferro_hgvs-0.7.1/src/benchmark/cli.rs +796 -0
- ferro_hgvs-0.7.1/src/benchmark/collate.rs +356 -0
- ferro_hgvs-0.7.1/src/benchmark/compare.rs +5211 -0
- ferro_hgvs-0.7.1/src/benchmark/extract.rs +276 -0
- ferro_hgvs-0.7.1/src/benchmark/hgvs_rs.rs +668 -0
- ferro_hgvs-0.7.1/src/benchmark/inmemory_provider.rs +1140 -0
- ferro_hgvs-0.7.1/src/benchmark/mod.rs +113 -0
- ferro_hgvs-0.7.1/src/benchmark/mutalyzer.rs +593 -0
- ferro_hgvs-0.7.1/src/benchmark/normalize.rs +697 -0
- ferro_hgvs-0.7.1/src/benchmark/parse.rs +431 -0
- ferro_hgvs-0.7.1/src/benchmark/perf_matrix.rs +1262 -0
- ferro_hgvs-0.7.1/src/benchmark/report.rs +412 -0
- ferro_hgvs-0.7.1/src/benchmark/runner.rs +866 -0
- ferro_hgvs-0.7.1/src/benchmark/sample.rs +349 -0
- ferro_hgvs-0.7.1/src/benchmark/shard.rs +134 -0
- ferro_hgvs-0.7.1/src/benchmark/translate.rs +128 -0
- ferro_hgvs-0.7.1/src/benchmark/types.rs +978 -0
- ferro_hgvs-0.7.1/src/benchmark/uta_loader.rs +833 -0
- ferro_hgvs-0.7.1/src/benchmark/workflow.rs +545 -0
- ferro_hgvs-0.7.1/src/bin/benchmark.rs +3943 -0
- ferro_hgvs-0.7.1/src/bin/ferro-web.rs +298 -0
- ferro_hgvs-0.7.1/src/bin/ferro.rs +3599 -0
- ferro_hgvs-0.7.1/src/cache.rs +641 -0
- ferro_hgvs-0.7.1/src/check/mod.rs +830 -0
- ferro_hgvs-0.7.1/src/cli/format.rs +829 -0
- ferro_hgvs-0.7.1/src/cli/mod.rs +148 -0
- ferro_hgvs-0.7.1/src/cli/parse.rs +450 -0
- ferro_hgvs-0.7.1/src/cli/project.rs +436 -0
- ferro_hgvs-0.7.1/src/clinvar/client.rs +760 -0
- ferro_hgvs-0.7.1/src/clinvar/mod.rs +49 -0
- ferro_hgvs-0.7.1/src/clinvar/types.rs +421 -0
- ferro_hgvs-0.7.1/src/commands/mod.rs +598 -0
- ferro_hgvs-0.7.1/src/config.rs +422 -0
- ferro_hgvs-0.7.1/src/conformance/accession_inventory.rs +590 -0
- ferro_hgvs-0.7.1/src/conformance/biocommons.rs +281 -0
- ferro_hgvs-0.7.1/src/conformance/hgvs_rs_projection.rs +293 -0
- ferro_hgvs-0.7.1/src/conformance/mod.rs +22 -0
- ferro_hgvs-0.7.1/src/conformance/mutalyzer.rs +1616 -0
- ferro_hgvs-0.7.1/src/conformance/reference_snapshot.rs +384 -0
- ferro_hgvs-0.7.1/src/conformance/reference_window.rs +507 -0
- ferro_hgvs-0.7.1/src/conformance/schema.rs +101 -0
- ferro_hgvs-0.7.1/src/conformance/summary.rs +307 -0
- ferro_hgvs-0.7.1/src/convert/coding.rs +205 -0
- ferro_hgvs-0.7.1/src/convert/genomic.rs +132 -0
- ferro_hgvs-0.7.1/src/convert/mapper.rs +1551 -0
- ferro_hgvs-0.7.1/src/convert/mod.rs +14 -0
- ferro_hgvs-0.7.1/src/convert/noncoding.rs +873 -0
- ferro_hgvs-0.7.1/src/convert/protein.rs +128 -0
- ferro_hgvs-0.7.1/src/coords/mod.rs +696 -0
- ferro_hgvs-0.7.1/src/data/cdot.rs +6681 -0
- ferro_hgvs-0.7.1/src/data/exon_realign.rs +427 -0
- ferro_hgvs-0.7.1/src/data/mapping.rs +1247 -0
- ferro_hgvs-0.7.1/src/data/mod.rs +36 -0
- ferro_hgvs-0.7.1/src/data/projection.rs +419 -0
- ferro_hgvs-0.7.1/src/diagnostic.rs +803 -0
- ferro_hgvs-0.7.1/src/effect/mod.rs +1470 -0
- ferro_hgvs-0.7.1/src/equivalence/checker.rs +1029 -0
- ferro_hgvs-0.7.1/src/equivalence/mod.rs +40 -0
- ferro_hgvs-0.7.1/src/error.rs +1107 -0
- ferro_hgvs-0.7.1/src/error_handling/codes.rs +443 -0
- ferro_hgvs-0.7.1/src/error_handling/corrections.rs +5705 -0
- ferro_hgvs-0.7.1/src/error_handling/info_map.rs +262 -0
- ferro_hgvs-0.7.1/src/error_handling/mod.rs +377 -0
- ferro_hgvs-0.7.1/src/error_handling/mutalyzer_map.rs +743 -0
- ferro_hgvs-0.7.1/src/error_handling/preprocessor.rs +1961 -0
- ferro_hgvs-0.7.1/src/error_handling/registry.rs +2093 -0
- ferro_hgvs-0.7.1/src/error_handling/types.rs +1380 -0
- ferro_hgvs-0.7.1/src/extractor/align.rs +348 -0
- ferro_hgvs-0.7.1/src/extractor/classify.rs +335 -0
- ferro_hgvs-0.7.1/src/extractor/generate.rs +247 -0
- ferro_hgvs-0.7.1/src/extractor/mod.rs +219 -0
- ferro_hgvs-0.7.1/src/hgvs/edit.rs +2182 -0
- ferro_hgvs-0.7.1/src/hgvs/interval.rs +292 -0
- ferro_hgvs-0.7.1/src/hgvs/location.rs +874 -0
- ferro_hgvs-0.7.1/src/hgvs/mod.rs +22 -0
- ferro_hgvs-0.7.1/src/hgvs/parser/accession.rs +1226 -0
- ferro_hgvs-0.7.1/src/hgvs/parser/edit.rs +3613 -0
- ferro_hgvs-0.7.1/src/hgvs/parser/fast_path.rs +1290 -0
- ferro_hgvs-0.7.1/src/hgvs/parser/mod.rs +488 -0
- ferro_hgvs-0.7.1/src/hgvs/parser/position.rs +737 -0
- ferro_hgvs-0.7.1/src/hgvs/parser/variant.rs +9438 -0
- ferro_hgvs-0.7.1/src/hgvs/uncertainty.rs +178 -0
- ferro_hgvs-0.7.1/src/hgvs/validation.rs +698 -0
- ferro_hgvs-0.7.1/src/hgvs/variant.rs +3863 -0
- ferro_hgvs-0.7.1/src/hgvs/version.rs +289 -0
- ferro_hgvs-0.7.1/src/legacy/ivs.rs +241 -0
- ferro_hgvs-0.7.1/src/legacy/mod.rs +541 -0
- ferro_hgvs-0.7.1/src/legacy/protein.rs +287 -0
- ferro_hgvs-0.7.1/src/legacy/substitution.rs +172 -0
- ferro_hgvs-0.7.1/src/lib.rs +92 -0
- ferro_hgvs-0.7.1/src/liftover/aliases.rs +669 -0
- ferro_hgvs-0.7.1/src/liftover/assembly_report.rs +246 -0
- ferro_hgvs-0.7.1/src/liftover/chain.rs +484 -0
- ferro_hgvs-0.7.1/src/liftover/lift.rs +620 -0
- ferro_hgvs-0.7.1/src/liftover/mod.rs +49 -0
- ferro_hgvs-0.7.1/src/mave/context.rs +211 -0
- ferro_hgvs-0.7.1/src/mave/mod.rs +44 -0
- ferro_hgvs-0.7.1/src/mave/parser.rs +884 -0
- ferro_hgvs-0.7.1/src/normalize/boundary.rs +285 -0
- ferro_hgvs-0.7.1/src/normalize/config.rs +368 -0
- ferro_hgvs-0.7.1/src/normalize/merge.rs +1209 -0
- ferro_hgvs-0.7.1/src/normalize/mod.rs +11670 -0
- ferro_hgvs-0.7.1/src/normalize/overlap.rs +787 -0
- ferro_hgvs-0.7.1/src/normalize/rules.rs +5058 -0
- ferro_hgvs-0.7.1/src/normalize/shuffle.rs +244 -0
- ferro_hgvs-0.7.1/src/normalize/validate.rs +920 -0
- ferro_hgvs-0.7.1/src/parallel.rs +444 -0
- ferro_hgvs-0.7.1/src/perf_table/mod.rs +416 -0
- ferro_hgvs-0.7.1/src/prepare/backfill.rs +381 -0
- ferro_hgvs-0.7.1/src/prepare/manifest.rs +1121 -0
- ferro_hgvs-0.7.1/src/prepare/mod.rs +2832 -0
- ferro_hgvs-0.7.1/src/project/accession.rs +95 -0
- ferro_hgvs-0.7.1/src/project/edit.rs +400 -0
- ferro_hgvs-0.7.1/src/project/mod.rs +12 -0
- ferro_hgvs-0.7.1/src/project/projector.rs +12644 -0
- ferro_hgvs-0.7.1/src/project/protein/helpers.rs +1467 -0
- ferro_hgvs-0.7.1/src/project/protein/indel.rs +2394 -0
- ferro_hgvs-0.7.1/src/project/protein/mod.rs +27 -0
- ferro_hgvs-0.7.1/src/project/protein/substitution.rs +534 -0
- ferro_hgvs-0.7.1/src/project/result.rs +50 -0
- ferro_hgvs-0.7.1/src/project/rna.rs +590 -0
- ferro_hgvs-0.7.1/src/project/transcript_axis.rs +198 -0
- ferro_hgvs-0.7.1/src/python.rs +4149 -0
- ferro_hgvs-0.7.1/src/python_helpers.rs +1104 -0
- ferro_hgvs-0.7.1/src/reference/annotation/builder.rs +1191 -0
- ferro_hgvs-0.7.1/src/reference/annotation/diagnostics.rs +219 -0
- ferro_hgvs-0.7.1/src/reference/annotation/feature.rs +161 -0
- ferro_hgvs-0.7.1/src/reference/annotation/format_detect.rs +97 -0
- ferro_hgvs-0.7.1/src/reference/annotation/graph.rs +229 -0
- ferro_hgvs-0.7.1/src/reference/annotation/mod.rs +720 -0
- ferro_hgvs-0.7.1/src/reference/annotation/record.rs +610 -0
- ferro_hgvs-0.7.1/src/reference/annotation/validate.rs +386 -0
- ferro_hgvs-0.7.1/src/reference/authoritative.rs +583 -0
- ferro_hgvs-0.7.1/src/reference/derived_placement.rs +996 -0
- ferro_hgvs-0.7.1/src/reference/derived_tx_structure.rs +631 -0
- ferro_hgvs-0.7.1/src/reference/fasta.rs +1664 -0
- ferro_hgvs-0.7.1/src/reference/legacy_selector.rs +249 -0
- ferro_hgvs-0.7.1/src/reference/loader.rs +1490 -0
- ferro_hgvs-0.7.1/src/reference/mock.rs +1138 -0
- ferro_hgvs-0.7.1/src/reference/mod.rs +28 -0
- ferro_hgvs-0.7.1/src/reference/multi_fasta.rs +7184 -0
- ferro_hgvs-0.7.1/src/reference/ng_hosted_transcripts.rs +178 -0
- ferro_hgvs-0.7.1/src/reference/ng_placement_builder.rs +363 -0
- ferro_hgvs-0.7.1/src/reference/protein.rs +349 -0
- ferro_hgvs-0.7.1/src/reference/provider.rs +903 -0
- ferro_hgvs-0.7.1/src/reference/transcript.rs +1561 -0
- ferro_hgvs-0.7.1/src/reference/validate.rs +1974 -0
- ferro_hgvs-0.7.1/src/rsid/mod.rs +361 -0
- ferro_hgvs-0.7.1/src/rsid/vcf.rs +567 -0
- ferro_hgvs-0.7.1/src/sequence.rs +165 -0
- ferro_hgvs-0.7.1/src/service/config.rs +408 -0
- ferro_hgvs-0.7.1/src/service/handlers/convert.rs +514 -0
- ferro_hgvs-0.7.1/src/service/handlers/effect.rs +2361 -0
- ferro_hgvs-0.7.1/src/service/handlers/health.rs +438 -0
- ferro_hgvs-0.7.1/src/service/handlers/info.rs +36 -0
- ferro_hgvs-0.7.1/src/service/handlers/liftover.rs +348 -0
- ferro_hgvs-0.7.1/src/service/handlers/mod.rs +11 -0
- ferro_hgvs-0.7.1/src/service/handlers/normalize.rs +111 -0
- ferro_hgvs-0.7.1/src/service/handlers/parse.rs +111 -0
- ferro_hgvs-0.7.1/src/service/handlers/validate.rs +181 -0
- ferro_hgvs-0.7.1/src/service/handlers/vcf_convert.rs +1029 -0
- ferro_hgvs-0.7.1/src/service/mod.rs +21 -0
- ferro_hgvs-0.7.1/src/service/server.rs +459 -0
- ferro_hgvs-0.7.1/src/service/tools/biocommons.rs +265 -0
- ferro_hgvs-0.7.1/src/service/tools/ferro.rs +309 -0
- ferro_hgvs-0.7.1/src/service/tools/hgvs_rs.rs +230 -0
- ferro_hgvs-0.7.1/src/service/tools/http_client.rs +265 -0
- ferro_hgvs-0.7.1/src/service/tools/manager.rs +436 -0
- ferro_hgvs-0.7.1/src/service/tools/mod.rs +282 -0
- ferro_hgvs-0.7.1/src/service/tools/mutalyzer.rs +435 -0
- ferro_hgvs-0.7.1/src/service/types.rs +1444 -0
- ferro_hgvs-0.7.1/src/service/validation.rs +367 -0
- ferro_hgvs-0.7.1/src/service/web/static/css/styles.css +1635 -0
- ferro_hgvs-0.7.1/src/service/web/static/data/tool_support_matrix.json +597 -0
- ferro_hgvs-0.7.1/src/service/web/static/js/main.js +1544 -0
- ferro_hgvs-0.7.1/src/service/web/templates/index.html +406 -0
- ferro_hgvs-0.7.1/src/spdi/convert.rs +4275 -0
- ferro_hgvs-0.7.1/src/spdi/mod.rs +387 -0
- ferro_hgvs-0.7.1/src/spdi/parser.rs +340 -0
- ferro_hgvs-0.7.1/src/tool_support/mod.rs +688 -0
- ferro_hgvs-0.7.1/src/vcf/annotate.rs +1230 -0
- ferro_hgvs-0.7.1/src/vcf/annotator.rs +710 -0
- ferro_hgvs-0.7.1/src/vcf/batch.rs +625 -0
- ferro_hgvs-0.7.1/src/vcf/from_hgvs.rs +2831 -0
- ferro_hgvs-0.7.1/src/vcf/mod.rs +25 -0
- ferro_hgvs-0.7.1/src/vcf/parser.rs +750 -0
- ferro_hgvs-0.7.1/src/vcf/record.rs +486 -0
- ferro_hgvs-0.7.1/src/vcf/to_hgvs.rs +1275 -0
- ferro_hgvs-0.7.1/tests/conformance_reference_snapshot_tests.rs +104 -0
- ferro_hgvs-0.7.1/tests/fast_path_differential.proptest-regressions +8 -0
- ferro_hgvs-0.7.1/tests/fixtures/CORPUS_LAYOUT.md +308 -0
- ferro_hgvs-0.7.1/tests/fixtures/README.md +100 -0
- ferro_hgvs-0.7.1/tests/fixtures/SCHEMAS.md +242 -0
- ferro_hgvs-0.7.1/tests/fixtures/annotation/flybase_micro.gff3 +14 -0
- ferro_hgvs-0.7.1/tests/fixtures/annotation/gencode_chr21_micro.gtf +6 -0
- ferro_hgvs-0.7.1/tests/fixtures/annotation/refseq_chr21_micro.gff3 +8 -0
- ferro_hgvs-0.7.1/tests/fixtures/arbitration.json +103 -0
- ferro_hgvs-0.7.1/tests/fixtures/biocommons-normalize/NOTICE +33 -0
- ferro_hgvs-0.7.1/tests/fixtures/biocommons-normalize/baseline-failures/normalized.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/biocommons-normalize/cases.json +752 -0
- ferro_hgvs-0.7.1/tests/fixtures/biocommons-normalize/failure-patterns.md +33 -0
- ferro_hgvs-0.7.1/tests/fixtures/biocommons-normalize/mock-pin/normalized.txt +88 -0
- ferro_hgvs-0.7.1/tests/fixtures/biocommons-normalize/reference-windows.json +1478 -0
- ferro_hgvs-0.7.1/tests/fixtures/bulk/clinvar_bulk.json +3335 -0
- ferro_hgvs-0.7.1/tests/fixtures/bulk/clinvar_hgvs_500k_failure_expectations.json +31 -0
- ferro_hgvs-0.7.1/tests/fixtures/bulk/clinvar_hgvs_unique_failure_expectations.json +537 -0
- ferro_hgvs-0.7.1/tests/fixtures/bulk/gnomad_constrained.json +6531 -0
- ferro_hgvs-0.7.1/tests/fixtures/comprehensive_edge_cases.json +1081 -0
- ferro_hgvs-0.7.1/tests/fixtures/edge_cases/protein_notation.json +430 -0
- ferro_hgvs-0.7.1/tests/fixtures/edge_cases/reference_sequences.json +311 -0
- ferro_hgvs-0.7.1/tests/fixtures/edge_cases/unusual_notation.json +295 -0
- ferro_hgvs-0.7.1/tests/fixtures/error_code_audit.json +665 -0
- ferro_hgvs-0.7.1/tests/fixtures/external/biocommons_gauntlet.txt +124 -0
- ferro_hgvs-0.7.1/tests/fixtures/external/biocommons_grammar_test.tsv +314 -0
- ferro_hgvs-0.7.1/tests/fixtures/external/biocommons_real.tsv +63 -0
- ferro_hgvs-0.7.1/tests/fixtures/external/mavedb_functional.json +11987 -0
- ferro_hgvs-0.7.1/tests/fixtures/external/mutalyzer_patterns.txt +125 -0
- ferro_hgvs-0.7.1/tests/fixtures/external/ncbi_dbsnp.txt +4 -0
- ferro_hgvs-0.7.1/tests/fixtures/external/snpeff_hgvs.txt +27 -0
- ferro_hgvs-0.7.1/tests/fixtures/external/vep_parser_hgvs.txt +13 -0
- ferro_hgvs-0.7.1/tests/fixtures/grammar/biocommons.json +297 -0
- ferro_hgvs-0.7.1/tests/fixtures/grammar/hgvs_canonical_examples.json +431 -0
- ferro_hgvs-0.7.1/tests/fixtures/grammar/hgvs_spec_normalization_overrides.json +146 -0
- ferro_hgvs-0.7.1/tests/fixtures/grammar/mutalyzer_github.json +3281 -0
- ferro_hgvs-0.7.1/tests/fixtures/grammar/parsing.json +154 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/ALIGNMENT_SOURCE_DIVERGENCE.md +219 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/NOTICE +35 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/baseline-failures/README.md +35 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/baseline-failures/coding.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/baseline-failures/coding_protein_descriptions.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/baseline-failures/noncoding.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/baseline-failures/protein_description.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/cases.json +9998 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/failure-patterns.md +62 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/mock-pin/coding.txt +510 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/mock-pin/coding_protein_descriptions.txt +267 -0
- ferro_hgvs-0.7.1/tests/fixtures/hgvs-rs-projection/mock-pin/protein_description.txt +7 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/NOTICE +22 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/README.md +36 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/coding_protein_descriptions.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/errors.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/genomic.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/infos.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/noncoding.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/normalized.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/protein_description.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/baseline-failures/rna_description.txt +0 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/cases.json +4889 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/empty-projection/coding_protein_descriptions.count +2 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/empty-projection/protein_description.count +2 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/failure-patterns.md +340 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/genomic-windows.json +2131 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/mock-pin/normalized.txt +243 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/ng_accessions.txt +21 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/reference-snapshot/transcripts.fna +56 -0
- ferro_hgvs-0.7.1/tests/fixtures/mutalyzer-normalize/reference-snapshot/transcripts.metadata.json +308 -0
- ferro_hgvs-0.7.1/tests/fixtures/normalization/mutalyzer.json +503 -0
- ferro_hgvs-0.7.1/tests/fixtures/normalization/normalization.json +52 -0
- ferro_hgvs-0.7.1/tests/fixtures/perf/sample_perf_results.json +46 -0
- ferro_hgvs-0.7.1/tests/fixtures/python/manifest_tiny/manifest.json +8 -0
- ferro_hgvs-0.7.1/tests/fixtures/python/manifest_tiny/transcripts/test.fna +2 -0
- ferro_hgvs-0.7.1/tests/fixtures/python/manifest_tiny/transcripts/test.fna.fai +1 -0
- ferro_hgvs-0.7.1/tests/fixtures/sequences/normalization_transcripts.json +2497 -0
- ferro_hgvs-0.7.1/tests/fixtures/transcripts/mock_transcripts.json +63 -0
- ferro_hgvs-0.7.1/tests/fixtures/validation/clinical_genes.json +981 -0
- ferro_hgvs-0.7.1/tests/fixtures/validation/clinvar.json +2825 -0
- ferro_hgvs-0.7.1/tests/fixtures/validation/cmrg_genes_failure_expectations.json +143 -0
- ferro_hgvs-0.7.1/tests/fixtures/validation/dbsnp_rsid.json +854 -0
- ferro_hgvs-0.7.1/tests/fixtures/validation/ncbi_variation.json +130 -0
- ferro_hgvs-0.7.1/tests/fixtures/validation/paraphase_genes_failure_expectations.json +54 -0
- ferro_hgvs-0.7.1/tests/fixtures/validation/parse_gaps.json +190 -0
- ferro_hgvs-0.7.1/tests/fixtures/validation/variantvalidator.json +97 -0
- ferro_hgvs-0.7.1/tests/issue_500_legacy_gene_selector.rs +143 -0
- ferro_hgvs-0.7.1/tests/it/allele_grammar_corners.rs +305 -0
- ferro_hgvs-0.7.1/tests/it/allele_trans_phase.rs +662 -0
- ferro_hgvs-0.7.1/tests/it/allele_unknown_phase.rs +509 -0
- ferro_hgvs-0.7.1/tests/it/and_or_of_alleles.rs +65 -0
- ferro_hgvs-0.7.1/tests/it/annotation_cross_format.rs +96 -0
- ferro_hgvs-0.7.1/tests/it/annotation_real_format_slices.rs +99 -0
- ferro_hgvs-0.7.1/tests/it/annotation_tool_conformance.rs +71 -0
- ferro_hgvs-0.7.1/tests/it/api_comparison_tests.rs +374 -0
- ferro_hgvs-0.7.1/tests/it/biocommons_local_tests.rs +228 -0
- ferro_hgvs-0.7.1/tests/it/biocommons_normalize_tests.rs +892 -0
- ferro_hgvs-0.7.1/tests/it/biocommons_tests.rs +221 -0
- ferro_hgvs-0.7.1/tests/it/boundary_tests.rs +359 -0
- ferro_hgvs-0.7.1/tests/it/bracket_cardinality_conformance.rs +137 -0
- ferro_hgvs-0.7.1/tests/it/breakpoint_insertion.rs +107 -0
- ferro_hgvs-0.7.1/tests/it/bulk_fixture_tests.rs +460 -0
- ferro_hgvs-0.7.1/tests/it/civic_validation.rs +85 -0
- ferro_hgvs-0.7.1/tests/it/cli_build_transcript.rs +146 -0
- ferro_hgvs-0.7.1/tests/it/cli_convert_gff_flags.rs +75 -0
- ferro_hgvs-0.7.1/tests/it/cli_parallel_annotate.rs +95 -0
- ferro_hgvs-0.7.1/tests/it/cli_parallel_normalize.rs +106 -0
- ferro_hgvs-0.7.1/tests/it/cli_parallel_parse.rs +75 -0
- ferro_hgvs-0.7.1/tests/it/cli_project.rs +151 -0
- ferro_hgvs-0.7.1/tests/it/clinical_genes_tests.rs +188 -0
- ferro_hgvs-0.7.1/tests/it/clinvar_hgvs_tests.rs +274 -0
- ferro_hgvs-0.7.1/tests/it/clinvar_tests.rs +563 -0
- ferro_hgvs-0.7.1/tests/it/clinvar_validation.rs +92 -0
- ferro_hgvs-0.7.1/tests/it/cmrg_exhaustive_tests.rs +150 -0
- ferro_hgvs-0.7.1/tests/it/comma_products_allele.rs +86 -0
- ferro_hgvs-0.7.1/tests/it/common/failure_expectations.rs +330 -0
- ferro_hgvs-0.7.1/tests/it/common/mod.rs +22 -0
- ferro_hgvs-0.7.1/tests/it/common/spec_fixture.rs +88 -0
- ferro_hgvs-0.7.1/tests/it/common/synthetic.rs +345 -0
- ferro_hgvs-0.7.1/tests/it/compound_cross_reference.rs +833 -0
- ferro_hgvs-0.7.1/tests/it/comprehensive_edge_case_tests.rs +536 -0
- ferro_hgvs-0.7.1/tests/it/comprehensive_external_tests.rs +594 -0
- ferro_hgvs-0.7.1/tests/it/con_conversion_audit.rs +595 -0
- ferro_hgvs-0.7.1/tests/it/conformance_summary_generated.rs +44 -0
- ferro_hgvs-0.7.1/tests/it/convert_tests.rs +142 -0
- ferro_hgvs-0.7.1/tests/it/coordinate_boundary_tests.rs +499 -0
- ferro_hgvs-0.7.1/tests/it/coverage_gap_tests.rs +1060 -0
- ferro_hgvs-0.7.1/tests/it/dbsnp_tests.rs +472 -0
- ferro_hgvs-0.7.1/tests/it/del_shift_matrix.rs +981 -0
- ferro_hgvs-0.7.1/tests/it/dup_shift_matrix.rs +860 -0
- ferro_hgvs-0.7.1/tests/it/edge_case_notation_tests.rs +655 -0
- ferro_hgvs-0.7.1/tests/it/error_code_audit.rs +370 -0
- ferro_hgvs-0.7.1/tests/it/error_mode_tests.rs +1893 -0
- ferro_hgvs-0.7.1/tests/it/exac_validation.rs +81 -0
- ferro_hgvs-0.7.1/tests/it/external_pattern_analysis.rs +341 -0
- ferro_hgvs-0.7.1/tests/it/external_pattern_tests.rs +405 -0
- ferro_hgvs-0.7.1/tests/it/fast_path_differential.rs +435 -0
- ferro_hgvs-0.7.1/tests/it/fast_path_drift_scope.rs +209 -0
- ferro_hgvs-0.7.1/tests/it/fast_path_flip_bench.rs +90 -0
- ferro_hgvs-0.7.1/tests/it/gene_selector_display_preserve.rs +543 -0
- ferro_hgvs-0.7.1/tests/it/gene_selector_roundtrip.rs +681 -0
- ferro_hgvs-0.7.1/tests/it/genome_ring_join.rs +86 -0
- ferro_hgvs-0.7.1/tests/it/gnomad_validation.rs +60 -0
- ferro_hgvs-0.7.1/tests/it/grammar_conformance.rs +152 -0
- ferro_hgvs-0.7.1/tests/it/handler_integration_tests.rs +442 -0
- ferro_hgvs-0.7.1/tests/it/hgvs_rs_projection_tests.rs +2242 -0
- ferro_hgvs-0.7.1/tests/it/hgvs_spec_normalization_tests.rs +205 -0
- ferro_hgvs-0.7.1/tests/it/hgvs_standard_tests.rs +640 -0
- ferro_hgvs-0.7.1/tests/it/idempotency_tests.rs +678 -0
- ferro_hgvs-0.7.1/tests/it/input_hygiene_rejections.rs +230 -0
- ferro_hgvs-0.7.1/tests/it/ins_repeat_b1_matrix.rs +331 -0
- ferro_hgvs-0.7.1/tests/it/ins_shift_matrix.rs +1129 -0
- ferro_hgvs-0.7.1/tests/it/inserted_range_special_positions.rs +127 -0
- ferro_hgvs-0.7.1/tests/it/integration_tests.rs +114 -0
- ferro_hgvs-0.7.1/tests/it/inverted_uncertain_range_insertion.rs +56 -0
- ferro_hgvs-0.7.1/tests/it/issue_1004_samegap_insertion_idempotency.rs +175 -0
- ferro_hgvs-0.7.1/tests/it/issue_129_mt_circular_wraparound.rs +288 -0
- ferro_hgvs-0.7.1/tests/it/issue_132_cyclic_rotation_insertion.rs +105 -0
- ferro_hgvs-0.7.1/tests/it/issue_163_rna_utr3_flag.rs +128 -0
- ferro_hgvs-0.7.1/tests/it/issue_165_delins_sub_only_decompose.rs +330 -0
- ferro_hgvs-0.7.1/tests/it/issue_180_allele_3prime_shift.rs +273 -0
- ferro_hgvs-0.7.1/tests/it/issue_182_postcanon_adjacency.rs +170 -0
- ferro_hgvs-0.7.1/tests/it/issue_207_multi_repeat_compound_roundtrip.rs +281 -0
- ferro_hgvs-0.7.1/tests/it/issue_209_repeat_3prime_remaining.rs +533 -0
- ferro_hgvs-0.7.1/tests/it/issue_214_repeat_unit_divides.rs +809 -0
- ferro_hgvs-0.7.1/tests/it/issue_216_chimeric_mosaic_roundtrip.rs +461 -0
- ferro_hgvs-0.7.1/tests/it/issue_218_mixed_accession_alleles.rs +480 -0
- ferro_hgvs-0.7.1/tests/it/issue_219_dup_stated_ref_idempotent.rs +168 -0
- ferro_hgvs-0.7.1/tests/it/issue_221_cis_three_plus_no_merge.rs +488 -0
- ferro_hgvs-0.7.1/tests/it/issue_224_protein_extension_ter.rs +150 -0
- ferro_hgvs-0.7.1/tests/it/issue_226_protein_canonicalization_audit.rs +299 -0
- ferro_hgvs-0.7.1/tests/it/issue_228_vcf_annotate_extension_stop_loss.rs +199 -0
- ferro_hgvs-0.7.1/tests/it/issue_231_rna_lowercase_coverage.rs +359 -0
- ferro_hgvs-0.7.1/tests/it/issue_233_rna_cds_consistency.rs +276 -0
- ferro_hgvs-0.7.1/tests/it/issue_235_heteroplasmy_prose_audit.rs +246 -0
- ferro_hgvs-0.7.1/tests/it/issue_237_uncertain_position_range.rs +308 -0
- ferro_hgvs-0.7.1/tests/it/issue_239_unknown_position_asymmetry.rs +265 -0
- ferro_hgvs-0.7.1/tests/it/issue_241_uncertain_edit_wrapper.rs +196 -0
- ferro_hgvs-0.7.1/tests/it/issue_243_bracket_uncertain_member.rs +167 -0
- ferro_hgvs-0.7.1/tests/it/issue_245_whole_entity_predicted.rs +119 -0
- ferro_hgvs-0.7.1/tests/it/issue_247_lrg_roundtrip.rs +320 -0
- ferro_hgvs-0.7.1/tests/it/issue_249_accession_version.rs +195 -0
- ferro_hgvs-0.7.1/tests/it/issue_251_chromosome_alias.rs +216 -0
- ferro_hgvs-0.7.1/tests/it/issue_253_boundary_spanning.rs +141 -0
- ferro_hgvs-0.7.1/tests/it/issue_255_noncoding_markers.rs +179 -0
- ferro_hgvs-0.7.1/tests/it/issue_257_minus_intronic_order.rs +148 -0
- ferro_hgvs-0.7.1/tests/it/issue_259_hgvs_spdi_coverage.rs +289 -0
- ferro_hgvs-0.7.1/tests/it/issue_261_hgvs_vcf_coverage.rs +186 -0
- ferro_hgvs-0.7.1/tests/it/issue_265_swapped_positions_offsets.rs +180 -0
- ferro_hgvs-0.7.1/tests/it/issue_266_length_mismatch.rs +206 -0
- ferro_hgvs-0.7.1/tests/it/issue_268_mixed_case_edit_type.rs +210 -0
- ferro_hgvs-0.7.1/tests/it/issue_270_spdi_preservation.rs +147 -0
- ferro_hgvs-0.7.1/tests/it/issue_275_codon_frame_extensions.rs +417 -0
- ferro_hgvs-0.7.1/tests/it/issue_276_rna_display_t_to_u.rs +308 -0
- ferro_hgvs-0.7.1/tests/it/issue_277_trans_allele_protein_zero.rs +366 -0
- ferro_hgvs-0.7.1/tests/it/issue_278_heteroplasmy_diagnostic.rs +208 -0
- ferro_hgvs-0.7.1/tests/it/issue_279_multirepeat_partial_validation.rs +495 -0
- ferro_hgvs-0.7.1/tests/it/issue_280_refseqmismatch_corrected_flag.rs +450 -0
- ferro_hgvs-0.7.1/tests/it/issue_281_mosaic_chimeric_nesting.rs +347 -0
- ferro_hgvs-0.7.1/tests/it/issue_282_rna_thymine_policy.rs +445 -0
- ferro_hgvs-0.7.1/tests/it/issue_283_convert_c_to_r_audit.rs +862 -0
- ferro_hgvs-0.7.1/tests/it/issue_284_mito_chain_expansion.rs +307 -0
- ferro_hgvs-0.7.1/tests/it/issue_285_inner_repeat_count_parens.rs +230 -0
- ferro_hgvs-0.7.1/tests/it/issue_286_unknown_position_con_copy.rs +264 -0
- ferro_hgvs-0.7.1/tests/it/issue_287_rna_tx_trans_allele_predicted_wrapper.rs +205 -0
- ferro_hgvs-0.7.1/tests/it/issue_288_mito_circular_tx_whole_entity_predicted.rs +195 -0
- ferro_hgvs-0.7.1/tests/it/issue_289_protein_zero_predicted.rs +379 -0
- ferro_hgvs-0.7.1/tests/it/issue_290_protein_bracketed_aa_insertion.rs +275 -0
- ferro_hgvs-0.7.1/tests/it/issue_291_rna_axis_convention.rs +190 -0
- ferro_hgvs-0.7.1/tests/it/issue_300_predicted_edit_cr_display_symmetry.rs +315 -0
- ferro_hgvs-0.7.1/tests/it/issue_310_projector_non_refseq.rs +142 -0
- ferro_hgvs-0.7.1/tests/it/issue_311_transcript_prefix_chromosome.rs +233 -0
- ferro_hgvs-0.7.1/tests/it/issue_314_mmap_prefix_collision.rs +101 -0
- ferro_hgvs-0.7.1/tests/it/issue_315_fasta_known_contig.rs +119 -0
- ferro_hgvs-0.7.1/tests/it/issue_316_adversarial_namespace_matrix.rs +59 -0
- ferro_hgvs-0.7.1/tests/it/issue_328_projector_accepts_cnr.rs +425 -0
- ferro_hgvs-0.7.1/tests/it/issue_330_info_code_surface.rs +275 -0
- ferro_hgvs-0.7.1/tests/it/issue_334_exon_junction_exception.rs +440 -0
- ferro_hgvs-0.7.1/tests/it/issue_336_position_past_end.rs +670 -0
- ferro_hgvs-0.7.1/tests/it/issue_337_cds_start_clamp.rs +815 -0
- ferro_hgvs-0.7.1/tests/it/issue_338_delins_strip_ref.rs +152 -0
- ferro_hgvs-0.7.1/tests/it/issue_339_alignment_gap_panic.rs +239 -0
- ferro_hgvs-0.7.1/tests/it/issue_340_homopolymer_shift.rs +252 -0
- ferro_hgvs-0.7.1/tests/it/issue_351_boundaries_zero_based.rs +58 -0
- ferro_hgvs-0.7.1/tests/it/issue_382_delins_to_dup_downstream.rs +218 -0
- ferro_hgvs-0.7.1/tests/it/issue_383_canon_cds_start_clamp.rs +275 -0
- ferro_hgvs-0.7.1/tests/it/issue_387_canon_cds_end_clamp.rs +167 -0
- ferro_hgvs-0.7.1/tests/it/issue_390_hgvs_vcf_provider_coverage.rs +695 -0
- ferro_hgvs-0.7.1/tests/it/issue_391_repeat_depth_audit.rs +342 -0
- ferro_hgvs-0.7.1/tests/it/issue_392_w4004_intronic_offsets.rs +524 -0
- ferro_hgvs-0.7.1/tests/it/issue_393_mt_w4004.rs +269 -0
- ferro_hgvs-0.7.1/tests/it/issue_394_delins_frameshift_classifier.rs +457 -0
- ferro_hgvs-0.7.1/tests/it/issue_394_delins_mutex_validation.rs +88 -0
- ferro_hgvs-0.7.1/tests/it/issue_394_delins_protein_consequence_passthrough.rs +156 -0
- ferro_hgvs-0.7.1/tests/it/issue_394_spdi_delins_unsupported.rs +44 -0
- ferro_hgvs-0.7.1/tests/it/issue_395_multirepeat_interleaved_resumption.rs +223 -0
- ferro_hgvs-0.7.1/tests/it/issue_395_overlap_conflict_strict_rejection.rs +128 -0
- ferro_hgvs-0.7.1/tests/it/issue_395_rna_u_to_t_plus_strand.rs +204 -0
- ferro_hgvs-0.7.1/tests/it/issue_396_mixed_phase_separators.rs +164 -0
- ferro_hgvs-0.7.1/tests/it/issue_396_rna_bracket_whole_entity.rs +124 -0
- ferro_hgvs-0.7.1/tests/it/issue_396_trans_allele_consolidation.rs +267 -0
- ferro_hgvs-0.7.1/tests/it/issue_399_mt_circular_followup.rs +356 -0
- ferro_hgvs-0.7.1/tests/it/issue_401_cds_start_clamp_spanning_dup.rs +107 -0
- ferro_hgvs-0.7.1/tests/it/issue_402_cds_end_5prime_ins_canon.rs +98 -0
- ferro_hgvs-0.7.1/tests/it/issue_403_genomic_5prime_anchor.rs +95 -0
- ferro_hgvs-0.7.1/tests/it/issue_418_dup_after_branch.rs +191 -0
- ferro_hgvs-0.7.1/tests/it/issue_418_no_utr5_boundary.rs +186 -0
- ferro_hgvs-0.7.1/tests/it/issue_422_cross_reference_ins.rs +332 -0
- ferro_hgvs-0.7.1/tests/it/issue_423_bracket_whole_entity.rs +234 -0
- ferro_hgvs-0.7.1/tests/it/issue_427_del_dup_frameshift_classifier.rs +385 -0
- ferro_hgvs-0.7.1/tests/it/issue_428_multirepeat_middle_minimum.rs +281 -0
- ferro_hgvs-0.7.1/tests/it/issue_429_w3016_mixed_endpoints.rs +358 -0
- ferro_hgvs-0.7.1/tests/it/issue_438_inversion_frameshift_classifier.rs +201 -0
- ferro_hgvs-0.7.1/tests/it/issue_439_del_dup_explicit_length_disagreement.rs +256 -0
- ferro_hgvs-0.7.1/tests/it/issue_468_protein_bracket_whole_entity.rs +342 -0
- ferro_hgvs-0.7.1/tests/it/issue_480_ng_lrg_parent_frame.rs +281 -0
- ferro_hgvs-0.7.1/tests/it/issue_486_eintronic.rs +332 -0
- ferro_hgvs-0.7.1/tests/it/issue_486_numeric_length_mismatch.rs +68 -0
- ferro_hgvs-0.7.1/tests/it/issue_486_overlap_insertion.rs +85 -0
- ferro_hgvs-0.7.1/tests/it/issue_486_position_out_of_bounds.rs +64 -0
- ferro_hgvs-0.7.1/tests/it/issue_487_allele_collapse.rs +82 -0
- ferro_hgvs-0.7.1/tests/it/issue_487_mito_g_to_m.rs +41 -0
- ferro_hgvs-0.7.1/tests/it/issue_498_whole_exon_deletion.rs +252 -0
- ferro_hgvs-0.7.1/tests/it/issue_502_np_protein_selector.rs +180 -0
- ferro_hgvs-0.7.1/tests/it/issue_537_pter_qter_genomic.rs +145 -0
- ferro_hgvs-0.7.1/tests/it/issue_573_intronic_shuffle_window.rs +191 -0
- ferro_hgvs-0.7.1/tests/it/issue_736_rna_uracil_normalize.rs +95 -0
- ferro_hgvs-0.7.1/tests/it/issue_806_effect_real_residues.rs +117 -0
- ferro_hgvs-0.7.1/tests/it/issue_843_allele_rna_build_scoping.rs +254 -0
- ferro_hgvs-0.7.1/tests/it/issue_851_compound_utr_projection.rs +364 -0
- ferro_hgvs-0.7.1/tests/it/issue_857_cterminal_extension.rs +110 -0
- ferro_hgvs-0.7.1/tests/it/issue_860_lrg_namespace.rs +152 -0
- ferro_hgvs-0.7.1/tests/it/issue_867_project_to_genomic_normalized.rs +117 -0
- ferro_hgvs-0.7.1/tests/it/issue_868_genomic_nc_units.rs +271 -0
- ferro_hgvs-0.7.1/tests/it/issue_879_ng_g_to_c_overlap.rs +290 -0
- ferro_hgvs-0.7.1/tests/it/issue_91_protein_three_prime_shift.rs +307 -0
- ferro_hgvs-0.7.1/tests/it/issue_920_allele_sub_collapse.rs +83 -0
- ferro_hgvs-0.7.1/tests/it/issue_92_protein_delins_to_dup.rs +289 -0
- ferro_hgvs-0.7.1/tests/it/issue_92_protein_ins_to_dup.rs +256 -0
- ferro_hgvs-0.7.1/tests/it/issue_944_cds_to_tx_transcript_native.rs +102 -0
- ferro_hgvs-0.7.1/tests/it/issue_951_circular_normalize_passthrough.rs +47 -0
- ferro_hgvs-0.7.1/tests/it/issue_952_protein_consequence_decline.rs +107 -0
- ferro_hgvs-0.7.1/tests/it/issue_953_multirepeat_normalization.rs +187 -0
- ferro_hgvs-0.7.1/tests/it/issue_963_compound_pairing.rs +76 -0
- ferro_hgvs-0.7.1/tests/it/issue_972_cds_start_nf_decline.rs +894 -0
- ferro_hgvs-0.7.1/tests/it/issue_97_utr_del_position.rs +100 -0
- ferro_hgvs-0.7.1/tests/it/issue_98_minus_strand_intronic_orientation.rs +135 -0
- ferro_hgvs-0.7.1/tests/it/issue_999_shift_created_adjacency_collapse.rs +97 -0
- ferro_hgvs-0.7.1/tests/it/issue_l2_w4001_swapped_positions.rs +125 -0
- ferro_hgvs-0.7.1/tests/it/legacy_integration.rs +191 -0
- ferro_hgvs-0.7.1/tests/it/lrg_inference_tests.rs +293 -0
- ferro_hgvs-0.7.1/tests/it/m_shift_matrix.rs +373 -0
- ferro_hgvs-0.7.1/tests/it/main.rs +269 -0
- ferro_hgvs-0.7.1/tests/it/mavedb_tests.rs +275 -0
- ferro_hgvs-0.7.1/tests/it/merge_consecutive_edits_tests.rs +969 -0
- ferro_hgvs-0.7.1/tests/it/mito_circular_audit.rs +641 -0
- ferro_hgvs-0.7.1/tests/it/mito_heteroplasmy_audit.rs +467 -0
- ferro_hgvs-0.7.1/tests/it/mosaic_chimeric_compact.rs +341 -0
- ferro_hgvs-0.7.1/tests/it/mosaic_predicted_eqslash.rs +94 -0
- ferro_hgvs-0.7.1/tests/it/mutalyzer_grammar_tests.rs +200 -0
- ferro_hgvs-0.7.1/tests/it/mutalyzer_normalize_tests.rs +4814 -0
- ferro_hgvs-0.7.1/tests/it/mutalyzer_tests.rs +206 -0
- ferro_hgvs-0.7.1/tests/it/network_benchmark_tests.rs +220 -0
- ferro_hgvs-0.7.1/tests/it/normalize_property_tests.rs +224 -0
- ferro_hgvs-0.7.1/tests/it/normalize_tests.rs +5756 -0
- ferro_hgvs-0.7.1/tests/it/paraphase_exhaustive_tests.rs +159 -0
- ferro_hgvs-0.7.1/tests/it/parser_tests.rs +1196 -0
- ferro_hgvs-0.7.1/tests/it/pastcds_star_canonicalization.rs +96 -0
- ferro_hgvs-0.7.1/tests/it/perf_table.rs +54 -0
- ferro_hgvs-0.7.1/tests/it/predicted_cis_allele.rs +140 -0
- ferro_hgvs-0.7.1/tests/it/projection.rs +292 -0
- ferro_hgvs-0.7.1/tests/it/projection_coverage.rs +404 -0
- ferro_hgvs-0.7.1/tests/it/property_tests.rs +908 -0
- ferro_hgvs-0.7.1/tests/it/protein_construct_boundaries.rs +344 -0
- ferro_hgvs-0.7.1/tests/it/protein_frameshift_alternatives.rs +18 -0
- ferro_hgvs-0.7.1/tests/it/protein_frameshift_legacy_stop_modes.rs +246 -0
- ferro_hgvs-0.7.1/tests/it/protein_insertion_special.rs +94 -0
- ferro_hgvs-0.7.1/tests/it/protein_no_protein_roundtrip.rs +633 -0
- ferro_hgvs-0.7.1/tests/it/protein_predicted_trans.rs +38 -0
- ferro_hgvs-0.7.1/tests/it/protein_silent_eq.rs +612 -0
- ferro_hgvs-0.7.1/tests/it/protein_stop_codon_canonicalization.rs +112 -0
- ferro_hgvs-0.7.1/tests/it/protein_substitution_alternatives.rs +100 -0
- ferro_hgvs-0.7.1/tests/it/protein_unknown_roundtrip.rs +852 -0
- ferro_hgvs-0.7.1/tests/it/real_data_normalization_tests.rs +347 -0
- ferro_hgvs-0.7.1/tests/it/reject_coord_system_mismatch.rs +114 -0
- ferro_hgvs-0.7.1/tests/it/reject_dupins.rs +102 -0
- ferro_hgvs-0.7.1/tests/it/reject_single_position_insertion.rs +138 -0
- ferro_hgvs-0.7.1/tests/it/reject_u_in_dna.rs +135 -0
- ferro_hgvs-0.7.1/tests/it/repeat_count_trans.rs +118 -0
- ferro_hgvs-0.7.1/tests/it/repeat_deln_uncertain_range.rs +22 -0
- ferro_hgvs-0.7.1/tests/it/rna_coding_consistency.rs +649 -0
- ferro_hgvs-0.7.1/tests/it/rna_spl_marker.rs +313 -0
- ferro_hgvs-0.7.1/tests/it/service_tools_tests.rs +494 -0
- ferro_hgvs-0.7.1/tests/it/spdi_dup_recovery.rs +52 -0
- ferro_hgvs-0.7.1/tests/it/spdi_tests.rs +592 -0
- ferro_hgvs-0.7.1/tests/it/spec_canonical_locks.rs +196 -0
- ferro_hgvs-0.7.1/tests/it/spec_coverage_misc.rs +356 -0
- ferro_hgvs-0.7.1/tests/it/strict_del_size_suffix_mode.rs +190 -0
- ferro_hgvs-0.7.1/tests/it/strict_explicit_seq_size_modes.rs +282 -0
- ferro_hgvs-0.7.1/tests/it/strict_whitespace_mode.rs +132 -0
- ferro_hgvs-0.7.1/tests/it/supernumerary.rs +38 -0
- ferro_hgvs-0.7.1/tests/it/tool_support_matrix.rs +88 -0
- ferro_hgvs-0.7.1/tests/it/trans_mosaic_mixed.rs +181 -0
- ferro_hgvs-0.7.1/tests/it/uta_loader_tests.rs +157 -0
- ferro_hgvs-0.7.1/tests/it/variantvalidator_tests.rs +228 -0
- ferro_hgvs-0.7.1/tests/it/web_service_tests.rs +1015 -0
- ferro_hgvs-0.7.1/tests/property_tests.proptest-regressions +7 -0
- ferro_hgvs-0.7.1/tests/python/__init__.py +1 -0
- ferro_hgvs-0.7.1/tests/python/test_accessors.py +166 -0
- ferro_hgvs-0.7.1/tests/python/test_backtranslation.py +79 -0
- ferro_hgvs-0.7.1/tests/python/test_batch_parallel.py +71 -0
- ferro_hgvs-0.7.1/tests/python/test_coordinates.py +93 -0
- ferro_hgvs-0.7.1/tests/python/test_core.py +307 -0
- ferro_hgvs-0.7.1/tests/python/test_error_handling.py +145 -0
- ferro_hgvs-0.7.1/tests/python/test_issue_395_normalization_warnings.py +82 -0
- ferro_hgvs-0.7.1/tests/python/test_issue_961_legacy_selector_forwarders.py +130 -0
- ferro_hgvs-0.7.1/tests/python/test_issue_968_length_build_forwarders.py +69 -0
- ferro_hgvs-0.7.1/tests/python/test_loaders.py +83 -0
- ferro_hgvs-0.7.1/tests/python/test_rsid.py +81 -0
- ferro_hgvs-0.7.1/tests/python/test_spdi.py +68 -0
- ferro_hgvs-0.7.1/tests/python/test_variant_projection.py +759 -0
- ferro_hgvs-0.7.1/tests/python/test_vcf.py +67 -0
- ferro_hgvs-0.7.1/tests/validation_test.sh +227 -0
- ferro_hgvs-0.7.1/uv.lock +976 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Build artifacts (never need to scan)
|
|
2
|
+
target/
|
|
3
|
+
|
|
4
|
+
# Mutalyzer cache (562k+ files causes freeze)
|
|
5
|
+
mutalyzer_cache_new/
|
|
6
|
+
mutalyzer_cache/
|
|
7
|
+
|
|
8
|
+
# Coverage and profiling
|
|
9
|
+
coverage/
|
|
10
|
+
tarpaulin-report.json
|
|
11
|
+
dhat-heap.json
|
|
12
|
+
*.profraw
|
|
13
|
+
*.profdata
|
|
14
|
+
|
|
15
|
+
# Fuzz artifacts
|
|
16
|
+
fuzz/artifacts/
|
|
17
|
+
fuzz/corpus/
|
|
18
|
+
fuzz/target/
|
|
19
|
+
|
|
20
|
+
# Large binary/reference files (can still read specific files when asked)
|
|
21
|
+
reference_data/*.fa
|
|
22
|
+
reference_data/*.fa.gz
|
|
23
|
+
reference_data/*.fasta
|
|
24
|
+
reference_data/*.fasta.gz
|
|
25
|
+
*.bgz
|
|
26
|
+
*.tbi
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Codecov configuration
|
|
2
|
+
# https://docs.codecov.com/docs/codecovyml-reference
|
|
3
|
+
|
|
4
|
+
coverage:
|
|
5
|
+
status:
|
|
6
|
+
project:
|
|
7
|
+
default:
|
|
8
|
+
target: 70%
|
|
9
|
+
threshold: 5%
|
|
10
|
+
informational: true
|
|
11
|
+
patch:
|
|
12
|
+
default:
|
|
13
|
+
target: 70%
|
|
14
|
+
threshold: 10%
|
|
15
|
+
informational: true
|
|
16
|
+
|
|
17
|
+
# Don't require coverage on these paths
|
|
18
|
+
ignore:
|
|
19
|
+
- "src/bin/*"
|
|
20
|
+
- "benches/*"
|
|
21
|
+
- "tests/*"
|
|
22
|
+
|
|
23
|
+
comment:
|
|
24
|
+
layout: "reach,diff,flags,files"
|
|
25
|
+
behavior: default
|
|
26
|
+
require_changes: false
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
|
|
2
|
+
#
|
|
3
|
+
# CodeRabbit review configuration for ferro-hgvs (HGVS variant normalizer).
|
|
4
|
+
#
|
|
5
|
+
# This repo is output-stability-critical: parsing, normalization, and coordinate
|
|
6
|
+
# projection must be idempotent, round-trip stable, and byte-identical to the
|
|
7
|
+
# external oracles we conform to (biocommons hgvs, Mutalyzer, VariantValidator).
|
|
8
|
+
# The `assertive` profile + the path instructions below aim the review at the
|
|
9
|
+
# failure modes that actually bite here (output divergence, non-idempotent
|
|
10
|
+
# normalization, parser/fast-path disagreement, coordinate off-by-one, panics on
|
|
11
|
+
# adversarial input, spec-conformance drift) rather than generic style. CI
|
|
12
|
+
# (proptests, fuzz targets, idempotency tests, conformance oracles) is the
|
|
13
|
+
# primary correctness net; assertive makes CodeRabbit surface the borderline tier
|
|
14
|
+
# that net can still miss — a false positive here is cheaper than a missed
|
|
15
|
+
# output divergence.
|
|
16
|
+
#
|
|
17
|
+
# Scope: this tunes the auto-read GitHub CodeRabbit app. The local `coderabbit`
|
|
18
|
+
# CLI does NOT reliably inherit this file via `-c .coderabbit.yaml` (it can miss
|
|
19
|
+
# findings the bot catches), so treat the CLI as a lighter pre-push smoke check,
|
|
20
|
+
# not a substitute for the bot review.
|
|
21
|
+
|
|
22
|
+
language: en-US
|
|
23
|
+
|
|
24
|
+
# Terse, technical, no praise or filler — match the codebase's review style.
|
|
25
|
+
# NB: CodeRabbit caps tone_instructions at 250 characters — keep this terse.
|
|
26
|
+
tone_instructions: >-
|
|
27
|
+
Concise and technical. Skip praise and restating the code. Lead with the risk
|
|
28
|
+
and a one-line fix. Favor correctness, idempotency, and byte-identity with the
|
|
29
|
+
conformance oracles over style. Skip clippy/rustfmt nits; CI enforces them.
|
|
30
|
+
|
|
31
|
+
reviews:
|
|
32
|
+
# Surface borderline correctness findings, not just high-confidence ones. This
|
|
33
|
+
# codebase prefers a false positive to a missed output divergence.
|
|
34
|
+
profile: assertive
|
|
35
|
+
high_level_summary: true
|
|
36
|
+
poem: false
|
|
37
|
+
collapse_walkthrough: false
|
|
38
|
+
# Reviews are triggered on demand, not automatically. CodeRabbit enforces a
|
|
39
|
+
# per-developer hourly review rate limit; auto-review on PR-open (`enabled`)
|
|
40
|
+
# and on every push (`auto_incremental_review`) fire extra reviews into that
|
|
41
|
+
# one shared budget, so a burst of PRs/commits exhausts it and later reviews
|
|
42
|
+
# stall for hours. Disabling both keeps the budget under deliberate control —
|
|
43
|
+
# reviews run only when requested. On-demand `@coderabbitai review` still works
|
|
44
|
+
# with `enabled: false`, and the assertive profile + path instructions above
|
|
45
|
+
# still apply to those reviews.
|
|
46
|
+
auto_review:
|
|
47
|
+
enabled: false
|
|
48
|
+
auto_incremental_review: false
|
|
49
|
+
drafts: false
|
|
50
|
+
# Never auto-block merges on a review verdict; findings are advisory.
|
|
51
|
+
request_changes_workflow: false
|
|
52
|
+
|
|
53
|
+
# Don't spend review budget on build output, vendored trees, lockfiles, or the
|
|
54
|
+
# generated spec fixture (regenerated from code, never hand-edited).
|
|
55
|
+
path_filters:
|
|
56
|
+
- "!**/target/**"
|
|
57
|
+
- "!**/*.lock"
|
|
58
|
+
- "!vendor/**"
|
|
59
|
+
- "!assets/**"
|
|
60
|
+
- "!tests/fixtures/grammar/hgvs_spec_normalization.json"
|
|
61
|
+
|
|
62
|
+
path_instructions:
|
|
63
|
+
- path: "src/hgvs/parser/**/*.rs"
|
|
64
|
+
instructions: >-
|
|
65
|
+
This is the HGVS grammar parser (nom-based). The fast path in
|
|
66
|
+
`fast_path.rs` is the DEFAULT parse route and is only sound if it is
|
|
67
|
+
observationally identical to the generic `parse_variant` for EVERY input
|
|
68
|
+
— both reject, or both accept and yield the same `HgvsVariant`. Treat any
|
|
69
|
+
change to fast-path eligibility or output as potentially behavior-changing
|
|
70
|
+
and confirm the differential test (`tests/fast_path_differential.rs`,
|
|
71
|
+
both its table and its proptest) still covers it. Flag: inputs the spec
|
|
72
|
+
rejects being accepted (or vice-versa); panics / unwraps / indexing on
|
|
73
|
+
attacker-controlled input (this parser is fuzzed — `fuzz/fuzz_targets/`);
|
|
74
|
+
loss of parse→Display round-trip stability; and `usize` arithmetic on
|
|
75
|
+
positions/offsets that can wrap or narrow.
|
|
76
|
+
- path: "src/normalize/**/*.rs"
|
|
77
|
+
instructions: >-
|
|
78
|
+
This is normalization: 3'-shifting, boundary handling, repeat shuffling,
|
|
79
|
+
edit merging, and overlap resolution. The core invariant is IDEMPOTENCY —
|
|
80
|
+
normalize(normalize(x)) == normalize(x) — and shift correctness
|
|
81
|
+
(3'-most placement, exact repeat-unit boundaries). Confirm changes are
|
|
82
|
+
covered by `tests/idempotency_tests.rs` and `tests/normalize_property_tests.rs`.
|
|
83
|
+
Flag: off-by-one in shuffle/boundary windows; wrong shift direction or
|
|
84
|
+
strand handling; mishandled circular/mitochondrial wraparound; overlap
|
|
85
|
+
merges that silently drop or reorder edits; and any path that can make a
|
|
86
|
+
second normalization pass change the output.
|
|
87
|
+
- path: "src/{project,convert,coords,spdi,liftover}/**/*.rs"
|
|
88
|
+
instructions: >-
|
|
89
|
+
This is coordinate projection and cross-system conversion (c/g/n/r/p,
|
|
90
|
+
SPDI, liftover, CDS/intron math, protein consequence + frameshift
|
|
91
|
+
classification). These are the off-by-one minefields. Flag: intronic
|
|
92
|
+
offset sign errors on the minus strand; CDS start/end clamp boundaries;
|
|
93
|
+
UTR/exon-junction edge cases; frame/codon arithmetic; and any projection
|
|
94
|
+
that emits coordinates without validating them against transcript/contig
|
|
95
|
+
bounds. Require coverage by the relevant `tests/projection*.rs`,
|
|
96
|
+
`tests/spdi_tests.rs`, or `issue_*`/`*_matrix` regression test.
|
|
97
|
+
- path: "tests/**/*.rs"
|
|
98
|
+
instructions: >-
|
|
99
|
+
Generate test data programmatically; do not add committed fixtures.
|
|
100
|
+
Conformance assertions must check against an INDEPENDENT oracle
|
|
101
|
+
(biocommons hgvs, Mutalyzer, VariantValidator) or a different internal
|
|
102
|
+
code path than the one under test — not a self-consistency check. Flag
|
|
103
|
+
assertions weaker than the stated contract, and `issue_*` regression
|
|
104
|
+
tests that assert the buggy output instead of the fixed one.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Generated by Cargo
|
|
2
|
+
/target/
|
|
3
|
+
|
|
4
|
+
# Cargo.lock is included for binary crates
|
|
5
|
+
# Cargo.lock
|
|
6
|
+
|
|
7
|
+
# IDE
|
|
8
|
+
.idea/
|
|
9
|
+
.vscode/
|
|
10
|
+
*.swp
|
|
11
|
+
*.swo
|
|
12
|
+
*~
|
|
13
|
+
|
|
14
|
+
# macOS
|
|
15
|
+
.DS_Store
|
|
16
|
+
|
|
17
|
+
# Test output
|
|
18
|
+
*.profraw
|
|
19
|
+
*.profdata
|
|
20
|
+
|
|
21
|
+
# Coverage
|
|
22
|
+
coverage/
|
|
23
|
+
tarpaulin-report.html
|
|
24
|
+
tarpaulin-report.json
|
|
25
|
+
cobertura.xml
|
|
26
|
+
|
|
27
|
+
# Fuzz
|
|
28
|
+
fuzz/artifacts/
|
|
29
|
+
fuzz/corpus/
|
|
30
|
+
fuzz/target/
|
|
31
|
+
|
|
32
|
+
# Memory profiling
|
|
33
|
+
dhat-heap.json
|
|
34
|
+
|
|
35
|
+
# External validation data (large files)
|
|
36
|
+
data/clinvar/
|
|
37
|
+
data/exac/
|
|
38
|
+
data/gnomad/
|
|
39
|
+
data/lovd/
|
|
40
|
+
data/civic/
|
|
41
|
+
data/uta/
|
|
42
|
+
data/seqrepo/
|
|
43
|
+
data/ferro/
|
|
44
|
+
data/mutalyzer/
|
|
45
|
+
external-repos/
|
|
46
|
+
reference_data/
|
|
47
|
+
results/
|
|
48
|
+
|
|
49
|
+
# Local configuration (generated via `ferro-web config`)
|
|
50
|
+
config/service.toml
|
|
51
|
+
|
|
52
|
+
# Local design specs and implementation plans (not tracked)
|
|
53
|
+
docs/superpowers/
|
|
54
|
+
|
|
55
|
+
# Python
|
|
56
|
+
__pycache__/
|
|
57
|
+
*.pyc
|
|
58
|
+
*.egg-info/
|
|
59
|
+
.venv/
|
|
60
|
+
*.so
|
|
61
|
+
|
|
62
|
+
# Manuscript (benchmark workflow, figures, drafts)
|
|
63
|
+
manuscript/
|
|
64
|
+
|
|
65
|
+
# Pixi
|
|
66
|
+
.pixi/
|
|
67
|
+
|
|
68
|
+
# Claude
|
|
69
|
+
.claude/
|
|
70
|
+
|
|
71
|
+
# Generated HGVS spec-normalization fixture (regenerated by the
|
|
72
|
+
# `generate_spec_fixture` example; see CLAUDE.md). Tracking it made every
|
|
73
|
+
# parser PR a conflict magnet, so it is produced on demand instead.
|
|
74
|
+
/tests/fixtures/grammar/hgvs_spec_normalization.json
|
|
75
|
+
/tests/fixtures/grammar/.hgvs_spec_normalization.*.tmp
|
|
76
|
+
|
|
77
|
+
# Generated reference caches (cdot rkyv, TranscriptDb)
|
|
78
|
+
*.tdb
|
|
79
|
+
*.rkyv
|
|
80
|
+
|
|
81
|
+
# Local, untracked third-party corpus checkouts (e.g. the full hgvs-rs
|
|
82
|
+
# projection corpus consumed by scripts/refresh-hgvs-rs-projection-fixtures.py).
|
|
83
|
+
# Only the curated tests/fixtures/hgvs-rs-projection/cases.json is committed;
|
|
84
|
+
# the bulk corpus must never be added to git.
|
|
85
|
+
/vendor/
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Pre-commit hooks for ferro-hgvs
|
|
2
|
+
# Install: pip install pre-commit && pre-commit install
|
|
3
|
+
# Run manually: pre-commit run --all-files
|
|
4
|
+
#
|
|
5
|
+
# `default_install_hook_types` makes the bare `pre-commit install`
|
|
6
|
+
# wire up BOTH `pre-commit` (per-commit fast checks) and `pre-push`
|
|
7
|
+
# (the spec-fixture drift guard, which requires a Rust build and
|
|
8
|
+
# would be too slow per commit).
|
|
9
|
+
default_install_hook_types: [pre-commit, pre-push]
|
|
10
|
+
|
|
11
|
+
repos:
|
|
12
|
+
# Rust formatting
|
|
13
|
+
- repo: local
|
|
14
|
+
hooks:
|
|
15
|
+
- id: cargo-fmt
|
|
16
|
+
name: cargo fmt
|
|
17
|
+
entry: cargo fmt --all --
|
|
18
|
+
language: system
|
|
19
|
+
types: [rust]
|
|
20
|
+
pass_filenames: false
|
|
21
|
+
|
|
22
|
+
# Spec-fixture drift guard (#397 item 7). CI already runs this
|
|
23
|
+
# check (search for `generate_spec_fixture --check` in
|
|
24
|
+
# `.github/workflows/ci.yml`), but a push that drifts the
|
|
25
|
+
# fixture wastes a full CI cycle to discover the drift. The
|
|
26
|
+
# pre-push stage runs once per `git push` rather than per
|
|
27
|
+
# commit, so the build cost is paid only when actually pushing.
|
|
28
|
+
- id: generate-spec-fixture-check
|
|
29
|
+
name: generate_spec_fixture --check
|
|
30
|
+
entry: cargo run --features dev --example generate_spec_fixture -- --check
|
|
31
|
+
language: system
|
|
32
|
+
# always_run (not types: [rust]) — a push that only touches the
|
|
33
|
+
# spec submodule or test fixtures still needs the drift guard,
|
|
34
|
+
# and pre-commit otherwise skips type-filtered hooks when no
|
|
35
|
+
# matching files are staged in the push range.
|
|
36
|
+
always_run: true
|
|
37
|
+
pass_filenames: false
|
|
38
|
+
stages: [pre-push]
|
|
39
|
+
|
|
40
|
+
# Rust linting (optional - can be slow)
|
|
41
|
+
# Uncomment if you want clippy in pre-commit
|
|
42
|
+
# - repo: local
|
|
43
|
+
# hooks:
|
|
44
|
+
# - id: cargo-clippy
|
|
45
|
+
# name: cargo clippy
|
|
46
|
+
# entry: cargo clippy --features dev -- -D warnings
|
|
47
|
+
# language: system
|
|
48
|
+
# types: [rust]
|
|
49
|
+
# pass_filenames: false
|
|
50
|
+
|
|
51
|
+
# Python linting with ruff
|
|
52
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
53
|
+
rev: v0.15.12
|
|
54
|
+
hooks:
|
|
55
|
+
- id: ruff
|
|
56
|
+
args: [--fix]
|
|
57
|
+
- id: ruff-format
|
|
58
|
+
|
|
59
|
+
# Python type checking with mypy
|
|
60
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
61
|
+
rev: v1.10.0
|
|
62
|
+
hooks:
|
|
63
|
+
- id: mypy
|
|
64
|
+
files: ^python/ferro_hgvs/
|
|
65
|
+
args: [--config-file=pyproject.toml]
|
|
66
|
+
|
|
67
|
+
# General file hygiene
|
|
68
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
69
|
+
rev: v4.6.0
|
|
70
|
+
hooks:
|
|
71
|
+
- id: trailing-whitespace
|
|
72
|
+
- id: end-of-file-fixer
|
|
73
|
+
- id: check-yaml
|
|
74
|
+
- id: check-toml
|
|
75
|
+
- id: check-merge-conflict
|
|
76
|
+
- id: check-added-large-files
|
|
77
|
+
args: [--maxkb=500]
|