:orphan: Marginal junction generation probability ======================================== The ``pgen`` command computes the amino-acid generation probability of each full, anchor-inclusive AIRR ``junction_aa`` under an explicitly selected raw ``vdjtools`` model directory:: vdjmatch pgen input.airr.tsv --model-path /path/to/raw/model \ --species human --locus TRA --threads 12 --output-prefix result Use a model whose manifest matches the declared species and locus. The command loads and validates that directory directly; it neither selects a bundled model implicitly nor collapses its alleles. ``vdjtools.load_model`` applies its documented anchor repairs. The manifest records the consumed model-file hashes, model metadata, loader and native binary hashes, options, input hash, row dispositions and timing. No model download or new model fitting occurs. This is marginal ``P(junction_aa)``: all V/J alleles and recombination scenarios in the model contribute, with zero allowed amino-acid mismatches. Input V/J annotations are preserved but do not condition the probability. This is neither an antigen specificity probability nor a probability calibrated from the annotation score. The model's generative mass does not include post-recombination selection merely because the input repertoire was observed or productive. Paired input remains one result per chain row; the command does not infer a joint pair probability. ``result.scores.tsv`` preserves all raw rows, metadata and supplied unique, non-null ``query_id`` values. If absent, ``query_id`` is the zero-based raw row ordinal. ``junction_aa_normalized`` records uppercase, whitespace-stripped input; anchors are never fabricated from bare ``cdr3_aa``. Canonical amino-acid junctions of the selected species/locus are sent to one native batch. Missing locus metadata uses the explicit ``--locus``; missing V/J calls do not prevent marginal Pgen. Explicitly different species/loci, missing junctions and noncanonical sequences remain in the table with an explanatory ``status`` and null probabilities. ``pgen`` is the marginal probability and ``log10_pgen`` is its base-10 logarithm when positive. ``available`` is true for a valid numeric result, including zero. ``zero_mass`` records a returned zero, with null logarithm; it does not distinguish impossible model mass from numerical underflow. Negative, nonfinite or greater-than-one native probabilities fail the command instead of being clipped or exported. ``result.manifest.json`` records the exact computation contract. Positive ``--threads`` caps native workers and the CLI's table-thread budget; no outer worker pool or computed-intermediate cache is used. VDJdb reference observations ---------------------------------------- Use ``--vdjdb`` to read a frozen local legacy or rich reference ZIP through the same database loader used for annotation:: vdjmatch pgen reference.zip --vdjdb --model-path /path/to/raw/model \ --species human --locus TRA --threads 12 --output-prefix reference-tra The loader selects the declared receptor species and locus. Every normalized reference observation in that selection is retained, including repeated junctions and its ``reference_id``, peptide, MHC and other metadata. The command projects internal ``cdr3/v/j/gene`` fields to ``junction_aa/v_call/j_call/locus`` without renaming or dropping the original columns. Legacy VDJdb ``cdr3`` is a full anchor-inclusive junction under the database loader's source contract. Nested rich metadata is exported as JSON cells using the existing flat-table exporter. ``query_id`` is the selected loader row ordinal when not supplied. The manifest declares ``input_format=vdjdb`` and records ``db.provenance`` together with the reference loader/normalizer hashes. Row counts refer to the selected normalized reference observations, rather than all records in the archive. Pgen remains marginal over the model's V/J alleles; database V/J annotations, epitopes and study metadata do not condition it. Local reference tables and release directories are also supported by the existing loader. AIRR remains the default when ``--vdjdb`` is absent.