Research small-variant evidence report
DEVELOPMENT_POSITIVE
MutationSieve 0.1.0.dev1 · somatic mode · sample state VARIANT_CANDIDATE_PRESENT_PARTIAL_NO_CALL
Plain-language summary
The program examined high-quality DNA sequencing evidence inside the declared target regions. It found 4 candidate(s) worth human review and retained 0 additional candidate(s) with reasons they were rejected. It could assess approximately 100.0% of the target bases at the configured depth. These numbers describe this software run; they do not establish whether a person does or does not have a mutation.
Candidate evidence
Alternate and reference depth use the same primary unit. Coordinate-family counts are shown only as an audit proxy and are not called molecules. QUAL is deliberately missing in VCF because the rank is not an independently calibrated probability.
| Tier | Allele | Support | Strands | Haplotype | Statistics | Rank | Filters and review flags |
|---|---|---|---|---|---|---|---|
| REVIEW REVIEW_CANDIDATE |
chrSynthetic:1201 T>ASNV · GENE_A |
13/50 26.000% · paired_fragment |
9/4 forward/reverse |
13 local-haplotype favored |
1 q 1 |
0.638 rank, not probability |
review: empirical_resolution_insufficient_for_reporting; review: exact_locus_unassessable_in_panel_of_normals; review: no_validated_umi_family_consensus |
| REVIEW REVIEW_CANDIDATE |
chrSynthetic:2201 C>ASNV · GENE_A |
3/36 8.333% · paired_fragment |
2/1 forward/reverse |
3 local-haplotype favored |
1 q 1 |
0.194 rank, not probability |
review: empirical_resolution_insufficient_for_reporting; review: exact_locus_unassessable_in_panel_of_normals; review: no_validated_umi_family_consensus |
| REVIEW REVIEW_CANDIDATE |
chrSynthetic:4480 C>CAAINS · GENE_H |
14/58 24.138% · paired_fragment |
10/4 forward/reverse |
9 local-haplotype favored |
1 q 1 |
0.342 rank, not probability |
review: conflicting_or_multiallelic_fragment_evidence; review: empirical_resolution_insufficient_for_reporting; review: exact_locus_unassessable_in_panel_of_normals; review: no_validated_umi_family_consensus; review: repeat_or_homopolymer_indel_context |
| REVIEW REVIEW_CANDIDATE |
chrSynthetic:5299 CAGA>CDEL · GENE_H |
11/54 20.370% · paired_fragment |
2/9 forward/reverse |
11 local-haplotype favored |
1 q 1 |
0.608 rank, not probability |
review: empirical_resolution_insufficient_for_reporting; review: exact_locus_unassessable_in_panel_of_normals; review: no_validated_umi_family_consensus |
What the pipeline did
- Validated the BGZF/BAM container, BAM records, reference identity, contig lengths, and analysis configuration.
- Generated permissive SNV and small-indel candidates from quality-qualified aligned bases and CIGAR events.
- Re-read every candidate locus, reconciled overlapping mates, separated fragments, coordinate-family audit groups, and explicit UMI families, and rescored supporting reads against local reference and alternate haplotypes.
- Compared evidence with a compatible panel of normals when one was supplied, adjusted over the declared full callable search rather than emitted candidates alone, and applied explicit hard and soft rules.
- Wrote normalized VCF, reviewer and complete-audit TSVs, JSON, QC, callability, HTML, and a hash-validated manifest.
Important limitations
- Research software only; no assay-specific analytical or clinical sensitivity, specificity, PPV, NPV, LoB, LoD95, precision, reproducibility, robustness, or clinical validity has been established.
- Candidate discovery is CIGAR-led. Local haplotype rescoring checks an emitted allele but is not de-novo assembly, so misaligned or unrepresented indels can be missed.
- The built-in BAM path does not read CRAM. CRAM requires the optional HTSlib/pysam backend and exact reference; FASTQ requires a separately validated aligner.
- Flagged duplicates are excluded by default. Coordinate-family grouping is not a substitute for a quality-aware, assay-validated UMI/duplex consensus workflow.
- Target depth outside the declared bundle, large indels, complex structural variants, copy-number changes, fusions, repeat expansions, and RNA variants are out of scope.
- Tumor-only analysis cannot reliably distinguish somatic from germline variation. Matched normal evidence is required before somatic HIGH/PASS can be enabled.
- No transcript consequence, population frequency, oncogenicity, pathogenicity, or treatment interpretation is performed.
How to use the files
- variants.vcf
- Normalized non-rejected hypotheses for standard genomics tools; genotype and QUAL remain missing.
- variants.tsv
- Human-sortable review list.
- all-candidates.tsv and mutationsieve.json
- Complete audit trail, including rejected candidates and exact reasons.
- callability.bed and qc.json
- Basewise depth plus maximum same-unit REF span at each start; MNV/indel negatives require enough span, and incomplete territory cannot support a negative interpretation.
- manifest.json
- Completion marker and SHA-256 identity of the other output files.
Resolved configuration
{
"assay": "somatic",
"assay_compatibility_token": "",
"cram_reference_fasta": "",
"drop_duplicates": true,
"enable_reportable_tiers": false,
"fdr": 0.01,
"full_search_alleles_per_base": 2612,
"llm_band": [
0.25,
0.9
],
"llm_enabled": false,
"llm_max_candidates": 25,
"llm_max_logit_shift": 1.5,
"llm_model": "claude-opus-5",
"max_candidates": 25000,
"max_events_per_record": 20000,
"max_indel_length": 50,
"max_mnv_length": 10,
"max_normal_af": 0.02,
"max_pending_mates": 50000,
"max_query_bases_per_record": 1000,
"max_records": 1000000,
"max_recount_observations": 1000000,
"max_reference_mismatch_fraction": 0.08,
"max_soft_clip_fraction": 0.25,
"max_umi_callability_observations": 1000000,
"min_af_germline": 0.2,
"min_af_mosaic": 0.005,
"min_af_somatic": 0.01,
"min_alt_mean_base_quality": 25.0,
"min_alt_mean_mapq": 30.0,
"min_alt_start_positions": 1,
"min_alt_support": 1,
"min_base_quality": 20,
"min_depth": 3,
"min_family_consensus": 0.9,
"min_family_members": 2,
"min_mapq": 20,
"min_normal_depth": 1,
"min_raw_alt_reads": 1,
"min_umi_tag_fraction": 0.95,
"normal_bam": "${MUTATIONSIEVE_PROJECT_ROOT}\\benchmark\\synthetic-inputs\\DEVELOPMENT_POSITIVE_MATCHED_NORMAL.bam",
"outdir": "${MUTATIONSIEVE_PROJECT_ROOT}\\benchmark\\sample-results\\DEVELOPMENT_POSITIVE",
"pon_max_sample_fraction": 0.5,
"pon_min_alt_support": 2,
"pon_min_samples": 2,
"pon_path": "${MUTATIONSIEVE_PROJECT_ROOT}\\benchmark\\panel-of-normals.json",
"read_end_fraction": 0.1,
"reference_dir": "${MUTATIONSIEVE_PROJECT_ROOT}\\benchmark\\reference",
"require_umi_consensus": false,
"sample": "DEVELOPMENT_POSITIVE",
"strand_bias_p": 0.001,
"threads": 1,
"tier_high": 0.9,
"tier_pass": 0.65,
"tier_review": 0.25,
"umi_tags": [
"RX",
"MI"
]
}Provenance and compatibility identity
{
"analysis_fingerprint": "aab37ffc53d5561a28acbffc7f9f56d8aad716c547d986ba8166093cc50b5065",
"inputs": {
"case": {
"path": "${MUTATIONSIEVE_PROJECT_ROOT}\\benchmark\\synthetic-inputs\\DEVELOPMENT_POSITIVE.bam",
"sha256": "8df0f55838c7c5b181f098b980135b13d77ed7a394132e387fbd42f0d90a9bdc",
"size": 86779
},
"matched_normal": {
"path": "${MUTATIONSIEVE_PROJECT_ROOT}\\benchmark\\synthetic-inputs\\DEVELOPMENT_POSITIVE_MATCHED_NORMAL.bam",
"sha256": "be46042a90bd3ad9914312d7ae3848e947aca8525fab948b7ce3e331d3c795be",
"size": 87387
},
"panel_of_normals": {
"path": "${MUTATIONSIEVE_PROJECT_ROOT}\\benchmark\\panel-of-normals.json",
"sha256": "ad96d9d29efdee7c6d22bb91c60578f131fd2ea5e9a6e413f57970f273bd5768",
"size": 2958
}
},
"methods": {
"candidate_discovery": "quality_filtered_bases_and_cigar_events",
"coordinate_family_use": "conservative_audit_proxy_not_molecules",
"indel_reconciliation": "local_reference_vs_alternate_haplotype_rescore;_not_denovo_assembly",
"llm_effect_on_calling": "none",
"multiplicity": "benjamini_hochberg_complete_declared_search_family",
"primary_counting_unit": "paired_fragment_or_explicit_umi_consensus"
},
"pon_compatibility": {
"assay_compatibility_token": "",
"assay_mode": "somatic",
"assembly": "synthetic-MutationSieve-v1",
"drop_duplicates": true,
"max_events_per_record": 20000,
"max_indel_length": 50,
"max_mnv_length": 10,
"max_query_bases_per_record": 1000,
"max_records": 1000000,
"max_recount_observations": 1000000,
"max_umi_callability_observations": 1000000,
"min_base_quality": 20,
"min_depth": 3,
"min_family_consensus": 0.9,
"min_family_members": 2,
"min_mapq": 20,
"min_raw_alt_reads": 1,
"min_umi_tag_fraction": 0.95,
"primary_analysis_unit": "paired_fragment",
"reference_manifest_sha256": "e92e221ac743171eb4ae4fee44e9a61c2110998038c38bc9aa2e6f83da4cc658",
"require_umi_consensus": false,
"schema": "mutationsieve.pon-compatibility.v1",
"sequencing_platforms": [
"ILLUMINA"
],
"target_coordinate_system": "0-based-half-open",
"target_hash": "36fbb4dea6a8ded616d8a3f1a3017ae1d4f5e3e8fa6ca17e9c6d00ca0851b89a",
"umi_tags": [
"RX",
"MI"
]
},
"reference": {
"files": [
{
"path": ".benchmark-source.fa",
"sha256": "92ce866a52012e4e8b748c8f954dccc4b052e6ce938c6b59b4bdea09574c469b",
"size": 12214
},
{
"path": ".benchmark-source.fa.fai",
"sha256": "f16fbc938221d1d047b3dc9f98ddd323c378f8c643c4adaf53b2ad0ce1bdd7db",
"size": 28
},
{
"path": ".benchmark-targets.bed",
"sha256": "90aa19e3f6c2e4ca432ee06f79d3338e7ca2824c33b61fa105d2304107ed92b2",
"size": 144
},
{
"path": "panel.fa",
"sha256": "e5e631f6a91d07c585fe6400f19022f750da5f67b157836e0357e154211fc382",
"size": 9974
},
{
"path": "panel.json",
"sha256": "e92e221ac743171eb4ae4fee44e9a61c2110998038c38bc9aa2e6f83da4cc658",
"size": 2697
}
],
"root": "${MUTATIONSIEVE_PROJECT_ROOT}\\benchmark\\reference"
},
"schema": "mutationsieve.provenance.v1",
"source": {
"__init__.py": "8232c3610352162267aaeeab155ba8deb4ef210d9ba1beb8c82407a9b3df3893",
"__main__.py": "3d2438ae92f4746e9ffaa1f837b1fe803f6281091d1f31f8c95643716f257d9a",
"_spikeforge_policy.py": "5f5374a747036d8dd827de75bbb31fb2c5b71a0e22d092f87cddcd022de5cb43",
"_spikeforge_worker.py": "34f4101af4a63b5dd80ff71a2ac007ffd90720a14307e5338835e6a0df824968",
"alignment.py": "1efa4b0b78323ae94dc2f23138b02b0151f1e364924bf3d95c4c8a646dee4722",
"bamio.py": "475aa5f007affbd037a315aa1b2a83b917933fc7e0c64417e279852987aebe41",
"batch.py": "2cc4befa2ec61e18fecaa83c0bbe1e06d8618052d35300d0d03e0e6bd3a94a68",
"benchmark.py": "bc73aaf53790a4f61eac37d718e91afd3bdfe3b616e8f65dfe24a4f56343a16d",
"cli.py": "c76f2e8b7baa83cb9c50f7f09bf97b25c894f18b959c7c79cad2cdf1d564b89c",
"config.py": "1460d0622d4730ab2d6abd67fc6e7ee6a27cd430480c5f2befdf448f798ad35e",
"evidence.py": "ab789ed953e7a7266d4dac60d88fa79d50b314defcabb30fbed42df8eb0d9349",
"external_validation.py": "3f786e9ee88887e7576e87f5fddbbf47259a10c8e5a1a3eca6837eba6e2e84db",
"llm.py": "ab6aaea8de8794b801fdff6edd973dec73b8a8dabc3f572067ee4db2475e1c7b",
"outputs.py": "1db4f97d6e69ee6989422f8c5eefbabc8198a4e30b5fb9e3a1b52eb6976257eb",
"pipeline.py": "e9ce2192bd7cb897cb8a122651eb9161e8178c5d73a6a27963afb55a6d460334",
"pon.py": "acf08f6dec233aa02bd1e21ff74342b44b7e117171168d963370021626f652bc",
"provenance.py": "aeed1b20076c01a8457ff6d88c4f97ed373a2a53c0ecc8106728b3b9180f9cd1",
"reference.py": "6a6f43ac2ca5e6f9eeb0ec34bbc6446e0a3007b87df5afbd03eebe75ff5856d2",
"release.py": "ab70ee440a215cd151d770824b0fe1d91bc8c1db6af2795b219a28f78c9f822c",
"report.py": "b9541ea6662e4f28d5847c8ef9705ddb278a00d5d2a8052ab2923d5120d85717",
"representation.py": "0f920799e7078c98e075bebd34ecd043df7773555666946932c618ab2138e094",
"rules.py": "1d847f8ce8754ae1b8e912888d4c7eafea37234050c8734d9661778dd77ccadf",
"simulate.py": "e0200f42fbb76b7cab8097548524243a6ad43598023f131e138ac4b3535d5612",
"stats.py": "d4b6dbb6f0f6666a9e7371f98ed700e4a7640230a435c68452c0f87f91de57ae",
"validation.py": "e5867edc99b69cdb06b8bbfef368676087a0a50844d06e63b606c7e94a868792",
"variants.py": "429acaa447b049c3ddf52ec42960c28a2eb3ced6d3556aa220152ef24703248d"
}
}