P4 validated on 2141 vendor GTCs; legacy AutoCall 1.6.2 preset
- vendor comparison (1000 Genomes Omni2.5, AutoCall 1.6.2.2): every computed field identical in 2138/2141 samples; the 3 others trace back to the single-locus raw-intensity rule (K-009); sex rule 1 matches all - AutoCall 1.6.2.x leaves GC10/GC50/#calls/#no-calls at 0 in GTC v3: new `--preset autocall-1.6.2` (1.1.2 normalization, sex rule 1, GTC v3, legacy statistics); the sample summary keeps the real statistics - NaN sign canonicalised to the x86 pattern (K-014); report P4.md
This commit is contained in:
1 parent
7032074bfe
commit
5d3e334ab7
9 files changed
+792
-29
No files matched your search
+19
-5
@@ -284,9 +284,18 @@ def genotype_cmd(
|
||||
sheet: Annotated[Path | None, typer.Option("--sheet", help="Sample sheet (CSV).")] = None,
|
||||
csv: Annotated[Path | None, typer.Option("--csv", help="CSV manifest, checked against the BPM.")] = None,
|
||||
cutoff: Annotated[float, typer.Option("--cutoff", help="GenCall score below which a call is a no-call.")] = 0.15,
|
||||
norm_version: Annotated[str, typer.Option("--norm-version", help="1.2.0 (current) or 1.1.2")] = "1.2.0",
|
||||
sex_version: Annotated[int, typer.Option("--sex-version", min=1, max=2, help="Sex estimate rule (1 or 2).")] = 2,
|
||||
gtc_version: Annotated[int, typer.Option("--gtc-version", help="GTC format version (3 or 5).")] = 5,
|
||||
preset: Annotated[
|
||||
str, typer.Option("--preset", help="current (default) or autocall-1.6.2 (legacy vendor behaviour)")
|
||||
] = "current",
|
||||
norm_version: Annotated[
|
||||
str | None, typer.Option("--norm-version", help="1.2.0 or 1.1.2 (default: from --preset)")
|
||||
] = None,
|
||||
sex_version: Annotated[
|
||||
int | None, typer.Option("--sex-version", min=1, max=2, help="Sex estimate rule 1 or 2 (default: preset)")
|
||||
] = None,
|
||||
gtc_version: Annotated[
|
||||
int | None, typer.Option("--gtc-version", help="GTC format 3 or 5 (default: preset)")
|
||||
] = None,
|
||||
autocall_date: Annotated[
|
||||
str | None, typer.Option("--autocall-date", help="Fixed value for GTC field 201 (reproducible output).")
|
||||
] = None,
|
||||
@@ -303,9 +312,13 @@ def genotype_cmd(
|
||||
|
||||
if layout not in ("nested", "flat"):
|
||||
raise typer.BadParameter("--layout must be nested or flat")
|
||||
if gtc_version not in (3, 5):
|
||||
from simurg.genotype.sample import PRESETS
|
||||
|
||||
if preset not in PRESETS:
|
||||
raise typer.BadParameter(f"--preset must be one of {sorted(PRESETS)}")
|
||||
if gtc_version not in (None, 3, 5):
|
||||
raise typer.BadParameter("--gtc-version must be 3 or 5")
|
||||
if norm_version not in ("1.2.0", "1.1.2"):
|
||||
if norm_version not in (None, "1.2.0", "1.1.2"):
|
||||
raise typer.BadParameter("--norm-version must be 1.2.0 or 1.1.2")
|
||||
rep = Reporter(
|
||||
command="genotype",
|
||||
@@ -327,6 +340,7 @@ def genotype_cmd(
|
||||
layout=layout,
|
||||
on_duplicate_idat=on_duplicate_idat,
|
||||
cutoff=cutoff,
|
||||
preset=preset,
|
||||
norm_version=norm_version,
|
||||
sex_version=sex_version,
|
||||
gtc_version=gtc_version,
|
||||
|
||||
Reference in new issue
Block a user