Repository navigation
P3-15′-c-ii: the criterion (c) synteny predicate, its per-candidate producer, and D4's two symmetric diagnostics #114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
ba04aea
feat(mining): P3-15'-c-ii — the criterion (c) synteny predicate, its …
bioedcam 4b49352
fix(mining): P3-15'-c-ii review round 1 — the tandem carve-out now re…
bioedcam b61fd3a
fix(mining): P3-15'-c-ii review round 2 — the 5'UTR false-pass arm co…
bioedcam c7beb0a
fix(mining): P3-15'-c-ii review round 3 — a filtered subset that outn…
bioedcam b6234ec
fix(mining): P3-15'-c-ii review round 4 — "the same windows, filtered…
bioedcam b9aefb4
test(mining): P3-15'-c-ii review round 5 — assert object identity, no…
bioedcam 1f9e3ab
fix(mining): P3-15'-c-ii review round 6 — the sub-threshold test used…
bioedcam 3991fa2
fix(mining): P3-15'-c-ii review round 7 — ProducerError was not the f…
bioedcam a5b1fd0
fix(mining): P3-15'-c-ii review round 8 — duplicate-key collapse on t…
bioedcam cd3c01d
fix(mining): P3-15'-c-ii review round 9 — the false-pass rate divided…
bioedcam 2f9563d
fix(mining): P3-15'-c-ii review round 10 — the positive control publi…
bioedcam bd493ba
fix(mining): P3-15'-c-ii review round 11 — a bare gene symbol suppres…
bioedcam 24fa382
fix(mining): P3-15'-c-ii review round 12 — one bad GFF among 339 woul…
bioedcam 9069d95
fix(mining): P3-15'-c-ii review round 13 — round 11's guard keyed on …
bioedcam ee9108c
test(mining): P3-15'-c-ii review round 14 — a one-class assertion gua…
bioedcam 65f64af
fix(mining): P3-15'-c-ii review round 15 — a required parameter that …
bioedcam 9b7a4e9
fix(mining): P3-15'-c-ii review round 16 — round 12 guarded one of tw…
bioedcam 14a66b7
docs(dev-log): correct the round-16 pass count — 4,683, not 4,687
bioedcam bb76e3a
fix(mining): P3-15'-c-ii review round 17 — strided sharding defeated …
bioedcam 231ffde
docs(dev-log): add the round-17 stanza dropped by a short-circuited c…
bioedcam 3cf5e7b
test(mining): P3-15'-c-ii review round 18 — three instances of "fixed…
bioedcam be43605
docs(dev-log): P3-15'-c-ii review round 19 — no new findings, the gat…
bioedcam File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,274 @@ | ||
| { | ||
| "adr": "ADR-0006 D4 (criterion (c)); ADR-0005 D14 (spare rule), D15 (strand)", | ||
| "config": { | ||
| "hmm_fallback_available": false, | ||
| "max_intervening_orfs": 1, | ||
| "strand_policy": "both", | ||
| "sub_threshold_orf_nt": 150, | ||
| "window_bp": 500 | ||
| }, | ||
| "exclusion_rate": 0.3177470775770457, | ||
| "exclusion_reason_totals": { | ||
| "contig_absent_from_gff": 2, | ||
| "first_downstream_orf_unjudgeable": 11, | ||
| "host_unannotated": 286 | ||
| }, | ||
| "false_fail_probe": { | ||
| "available": false, | ||
| "reason": "the production substrate is a NEGATIVE substrate (host-order-admissible windows masked of known T-boxes), so it carries essentially no catalogued T-box loci to measure a false-FAIL RATE on; the annotation-driven failure mode is carried by the positive-context arm of the false-pass report" | ||
| }, | ||
| "n_candidates": 941, | ||
| "n_unavailable": 299, | ||
| "passing_class_counts": { | ||
| "aa_biosynthesis": 220, | ||
| "aars": 332, | ||
| "transamidation": 2 | ||
| }, | ||
| "passing_distance_sensitivity": { | ||
| "max_bp": 1652, | ||
| "n": 554, | ||
| "note": "D4 asks for the empirical p95/p99 as a sensitivity check on the 500 bp pad; these are measured on the passing candidates of THIS corpus, not on catalogued Firmicutes T-boxes", | ||
| "p50_bp": 117, | ||
| "p95_bp": 272, | ||
| "p99_bp": 389, | ||
| "window_bp": 500 | ||
| }, | ||
| "per_clade": { | ||
| "Armatimonadota": { | ||
| "exclusion_rate": 0.6571428571428571, | ||
| "n": 35, | ||
| "reasons": { | ||
| "host_unannotated": 23 | ||
| }, | ||
| "status_counts": { | ||
| "passed": 12, | ||
| "unavailable": 23 | ||
| } | ||
| }, | ||
| "Atribacterota": { | ||
| "exclusion_rate": 0.047619047619047616, | ||
| "n": 126, | ||
| "reasons": { | ||
| "first_downstream_orf_unjudgeable": 6 | ||
| }, | ||
| "status_counts": { | ||
| "failed": 48, | ||
| "passed": 72, | ||
| "unavailable": 6 | ||
| } | ||
| }, | ||
| "Bacillota": { | ||
| "exclusion_rate": 0.3848396501457726, | ||
| "n": 343, | ||
| "reasons": { | ||
| "host_unannotated": 132 | ||
| }, | ||
| "status_counts": { | ||
| "failed": 23, | ||
| "passed": 188, | ||
| "unavailable": 132 | ||
| } | ||
| }, | ||
| "Bacillota_I": { | ||
| "exclusion_rate": 0.4444444444444444, | ||
| "n": 54, | ||
| "reasons": { | ||
| "first_downstream_orf_unjudgeable": 2, | ||
| "host_unannotated": 22 | ||
| }, | ||
| "status_counts": { | ||
| "failed": 13, | ||
| "passed": 17, | ||
| "unavailable": 24 | ||
| } | ||
| }, | ||
| "Bdellovibrionota_C": { | ||
| "exclusion_rate": 1.0, | ||
| "n": 2, | ||
| "reasons": { | ||
| "contig_absent_from_gff": 2 | ||
| }, | ||
| "status_counts": { | ||
| "unavailable": 2 | ||
| } | ||
| }, | ||
| "Chloroflexota": { | ||
| "exclusion_rate": 1.0, | ||
| "n": 38, | ||
| "reasons": { | ||
| "host_unannotated": 38 | ||
| }, | ||
| "status_counts": { | ||
| "unavailable": 38 | ||
| } | ||
| }, | ||
| "Deinococcota": { | ||
| "exclusion_rate": 0.2857142857142857, | ||
| "n": 42, | ||
| "reasons": { | ||
| "host_unannotated": 12 | ||
| }, | ||
| "status_counts": { | ||
| "failed": 3, | ||
| "passed": 27, | ||
| "unavailable": 12 | ||
| } | ||
| }, | ||
| "Desulfobacterota": { | ||
| "exclusion_rate": 1.0, | ||
| "n": 7, | ||
| "reasons": { | ||
| "host_unannotated": 7 | ||
| }, | ||
| "status_counts": { | ||
| "unavailable": 7 | ||
| } | ||
| }, | ||
| "Dictyoglomota": { | ||
| "exclusion_rate": 0.2549019607843137, | ||
| "n": 102, | ||
| "reasons": { | ||
| "host_unannotated": 26 | ||
| }, | ||
| "status_counts": { | ||
| "failed": 4, | ||
| "passed": 72, | ||
| "unavailable": 26 | ||
| } | ||
| }, | ||
| "Fibrobacterota": { | ||
| "exclusion_rate": 1.0, | ||
| "n": 1, | ||
| "reasons": { | ||
| "host_unannotated": 1 | ||
| }, | ||
| "status_counts": { | ||
| "unavailable": 1 | ||
| } | ||
| }, | ||
| "Fusobacteriota": { | ||
| "exclusion_rate": 0.0, | ||
| "n": 6, | ||
| "reasons": {}, | ||
| "status_counts": { | ||
| "failed": 1, | ||
| "passed": 5 | ||
| } | ||
| }, | ||
| "Hadarchaeota": { | ||
| "exclusion_rate": 0.0, | ||
| "n": 1, | ||
| "reasons": {}, | ||
| "status_counts": { | ||
| "failed": 1 | ||
| } | ||
| }, | ||
| "Hinthialibacterota": { | ||
| "exclusion_rate": 0.0, | ||
| "n": 4, | ||
| "reasons": {}, | ||
| "status_counts": { | ||
| "passed": 4 | ||
| } | ||
| }, | ||
| "Nitrospirota": { | ||
| "exclusion_rate": 0.4444444444444444, | ||
| "n": 18, | ||
| "reasons": { | ||
| "host_unannotated": 8 | ||
| }, | ||
| "status_counts": { | ||
| "passed": 10, | ||
| "unavailable": 8 | ||
| } | ||
| }, | ||
| "Spirochaetota": { | ||
| "exclusion_rate": 0.39285714285714285, | ||
| "n": 28, | ||
| "reasons": { | ||
| "host_unannotated": 11 | ||
| }, | ||
| "status_counts": { | ||
| "passed": 17, | ||
| "unavailable": 11 | ||
| } | ||
| }, | ||
| "Sumerlaeota": { | ||
| "exclusion_rate": 0.3333333333333333, | ||
| "n": 6, | ||
| "reasons": { | ||
| "host_unannotated": 2 | ||
| }, | ||
| "status_counts": { | ||
| "passed": 4, | ||
| "unavailable": 2 | ||
| } | ||
| }, | ||
| "Sysuimicrobiota": { | ||
| "exclusion_rate": 0.02586206896551724, | ||
| "n": 116, | ||
| "reasons": { | ||
| "first_downstream_orf_unjudgeable": 3 | ||
| }, | ||
| "status_counts": { | ||
| "failed": 8, | ||
| "passed": 105, | ||
| "unavailable": 3 | ||
| } | ||
| }, | ||
| "Thermodesulfobiota": { | ||
| "exclusion_rate": 0.0, | ||
| "n": 8, | ||
| "reasons": {}, | ||
| "status_counts": { | ||
| "passed": 8 | ||
| } | ||
| }, | ||
| "Thermotogota": { | ||
| "exclusion_rate": 1.0, | ||
| "n": 4, | ||
| "reasons": { | ||
| "host_unannotated": 4 | ||
| }, | ||
| "status_counts": { | ||
| "unavailable": 4 | ||
| } | ||
| } | ||
| }, | ||
| "provenance": { | ||
| "adr": "ADR-0006 D4 (criterion (c)); ADR-0005 D14 (spare rule), D15 (strand)", | ||
| "env_lock_hash": null, | ||
| "extra": { | ||
| "hmm_fallback_available": false, | ||
| "max_intervening_orfs": 1, | ||
| "step": "P3-15'-c-ii", | ||
| "strand_policy": "both", | ||
| "sub_threshold_orf_nt": 150, | ||
| "window_bp": 500 | ||
| }, | ||
| "generated_at_utc": "2026-08-07T02:32:38.019777+00:00", | ||
| "git_sha": "95d0149449458d793cec31018aab650c5d1ed063", | ||
| "inputs": { | ||
| "/home/bioedca/.claude/jobs/b0674bf6/tmp/round0/synteny_status.json": "fcd2ce0a841dd9d67bdc4a72d3bab1cd06773e9bcaa147380e6596eb781e1b93", | ||
| "data/processed/mining/production_genomes_v0.parquet": "e52b34b79256d16a8cf9986cdc8e1d0d5de229ee43562b5a6ddb9528e7109f22" | ||
| }, | ||
| "outputs": {}, | ||
| "rule": "synteny_producer::diagnostics.exclusion", | ||
| "schema_version": "1.0", | ||
| "script": "src/tbox_finder/mining/synteny_producer.py", | ||
| "seed": 42 | ||
| }, | ||
| "pseudogene_diagnostic": { | ||
| "consequence": "D4 routes a pseudogenized or hypothetical first-downstream ORF to targeted Pfam/KO profiles. That profile database is an unmet \u00a710.2 acquisition, so these loci resolve 'unavailable' and ADR-0005 D14 SPARES them \u2014 the fail-closed direction. The count above is the size of the recall the missing fallback costs.", | ||
| "hmm_fallback_available": false, | ||
| "n_pseudogenized_orfs_encountered": 15, | ||
| "n_unjudgeable_orfs_encountered": 88 | ||
| }, | ||
| "schema_version": "1.0", | ||
| "step": "P3-15'-c-ii", | ||
| "tandem_carve_out": { | ||
| "max_intervening_orfs": 1, | ||
| "n_strand_evaluations_using_carve_out": 73, | ||
| "sub_threshold_orf_nt": 150 | ||
| } | ||
| } | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.