Exact products written by this run. Antigen positions are zero-based, end-exclusive amino-acid positions in the peptide or encoded protein.
{% for group in product_groups %}
{{ group.modality }}
Constructs: {{ group.counts.constructs }} ({{ group.counts.unique_construct_sequences }} unique sequences).
Antigen slots: {{ group.counts.antigen_slots }}.
Unique antigen sequences: {{ group.counts.unique_antigen_sequences if group.counts.unique_antigen_sequences is not none else 'unavailable in this historical design' }}.
{% if selection_policy and group.modality in selection_policy.modalities %}{% set settings = selection_policy.modalities[group.modality] %}
{{ settings.origin | e }}
{% for label, value in settings.rows %}| {{ label | e }} | {{ value | e }} |
{% endfor %}
{% endif %}
{% if group.counts.source_candidates %}
Recorded source events: {{ group.counts.source_events }}.
Candidate mappings without a recorded event: {{ group.counts.source_candidates_without_event }}.
Related alternative sequences do not establish independent target coverage.
{% endif %}
{% if group.assembly_decisions is defined %}
{% if group.assembly_decisions is not none %}
Assembly order: {{ group.assembly_decisions.order | replace('_', ' ') }}. Identical final amino-acid sequences share one antigen slot, retaining all source mappings. Window policy: {{ group.assembly_decisions.overlap | default('not recorded', true) | replace('_', ' ') }}.
{% if group.assembly_decisions.allocation %}
{% if group.assembly_decisions.allocation.policy.mode == 'balanced' %}This saved design used the retired category-balancing policy.{% else %}Antigens follow the configured ranking, subject to explicit type goals and caps.{% endif %} Each unique antigen sequence counts once, under its first ranked source type.
Emitted antigen sequences by type: {% for kind, count in group.assembly_decisions.allocation.emitted_counts.items() %}{{ kind }}: {{ count }}{% if not loop.last %}; {% endif %}{% else %}none{% endfor %}.
{% for goal in group.assembly_decisions.allocation.unmet_goals %}{{ goal.kind }} representation goal: requested {{ goal.requested }}, emitted {{ goal.emitted }}; {{ goal.reason | replace('_', ' ') }} ({{ goal.available }} eligible unique sequences).
{% endfor %}
{% endif %}
| Order / sources | Final antigen sequence | Packing outcome |
{% for decision in group.assembly_decisions.rows %}{{ decision.order }}: {% for source in decision.sources %}{{ source }}{% if not loop.last %}, {% endif %}{% endfor %} {{ decision.mapping_count }} candidate mappings |
{{ decision.sequence }} | {{ decision.outcome | replace('_', ' ') }}{% if decision.products %}: {{ decision.products | join(', ') }}{% endif %} |
{% endfor %}
{% else %}Historical assembly ordering, deduplication and capacity decisions were not recorded. Product mappings below describe the saved result.
{% endif %}{% endif %}
{% if group.files %}Product files (relative to the run output directory):
{% for file in group.files %}{{ file }}{% if not loop.last %}; {% endif %}{% endfor %}.
{% endif %}
{% for product in group.products %}
{{ product.display_name | e }} · {{ product.length }} {{ product.unit }}
Product ID: {{ product.name | e }}
{% if product.window_decisions %}Recorded window rationale: {% for decision in product.window_decisions %}{{ decision }}{% if not loop.last %}, {% endif %}{% endfor %}.
{% else %}A window-selection rationale was not recorded for this product.
{% endif %}
{% if product.junction %}Linker decisions
{{ product.junction.status | e }}.
{% if product.junction.rows %}{% for label, value in product.junction.rows %}| {{ label | e }} | {{ value | e }} |
{% endfor %}
{% if not product.junction.decisions %}The recorded comparison is for the complete construct. Independent per-junction benefit was not recorded.
{% endif %}{% endif %}
{% for linker in product.junction.linkers %}Junction {{ linker.junction_index }}: {{ linker.name | e }}; {{ linker.aa }}. Encoded protein [{{ linker.start_aa }}, {{ linker.end_aa }}).
{% endfor %}{% endif %}
{% if product.junction and product.junction.decisions %}
Per-junction preference minimizes strong count, mild count, then negative minimum rank; exact ties retain candidate order. The complete construct comparison above determines whether the preferred linkers or the shared default are emitted.
| Junction | Preferred / emitted | Candidate ordering keys |
{% for decision in product.junction.decisions %}| {{ decision.junction_index }} | {{ decision.preferred_linker | e }} / {{ decision.emitted_linker | e }} | {% for alternative in decision.candidates %}{{ alternative.linker | e }}: {{ alternative.key | tojson | e }}, order {{ alternative.candidate_order }}{% if not loop.last %} {% endif %}{% endfor %} |
{% endfor %}
{% endif %}
{% if product.unit == 'aa' %}
N-terminal acetylation: {{ 'yes' if product.n_terminal_acetylation else 'no' }};
C-terminal amidation: {{ 'yes' if product.c_terminal_amidation else 'no' }}.
{% endif %}
{{ 'Full nucleotide sequence, including polyA' if product.unit == 'nt' else 'Manufactured amino-acid sequence' }}:
{% if product.sequence_html %}{{ product.sequence_html }}
{% else %}{{ product.sequence | wordwrap(70, break_long_words=True) }}{% endif %}
{% if product.protein %}Encoded protein:
{{ product.protein_html }}
{% endif %}
{% if product.antigens %}
| Antigen / source genes | Exact antigen sequence | Position [start, end) | Source mappings |
{% for antigen in product.antigens %}
{{ antigen.display_name }} Antigen {{ loop.index }} label
{% for label in antigen.context_labels %} {{ label }}{% endfor %} |
{{ antigen.sequence_html }}{% if not antigen.target_coordinates_known %} Target coordinates unavailable or differ across sources.{% endif %} | [{{ antigen.start }}, {{ antigen.end }}) {{ antigen.length }} aa |
{{ antigen.sources if antigen.sources is not none else "unavailable" }} candidate mapping{{ "" if antigen.sources == 1 else "s" }}; {{ antigen.transcripts if antigen.transcripts is not none else "unavailable" }} transcript{{ "" if antigen.transcripts == 1 else "s" }}
{% if antigen.source_ids %} Report sources: {% for source in antigen.source_ids %}{{ source }}{% if not loop.last %}, {% endif %}{% endfor %}{% endif %} |
{% endfor %}
Full antigen labels and source identities are in Methods and provenance. Exact evidence mappings remain in the manifest and native dataset.
{% for antigen in product.antigens %}{% if antigen.target_intervals %}Antigen {{ loop.index }} targetable regions within its sequence: {% for start, end in antigen.target_intervals %}[{{ start }}, {{ end }}){% if not loop.last %}, {% endif %}{% endfor %}.
{% endif %}{% endfor %}
{% else %}Historical product: antigen placement/source mappings were not recorded. Labels: {{ product.antigen_names | join(', ') }}.
{% endif %}
{% if include_manufacturability and product.manufacturability %}
Manufacturability metrics
{% for key, value in product.manufacturability.items() %}
| {{ key | replace('_', ' ') }} | {{ value }} |
{% endfor %}
{% endif %}
{% else %}No {{ group.modality }} products were emitted.
{% endfor %}
{% endfor %}
{% else %}No construct files were emitted. Use --output-dir to request product assembly. Candidate windows are analysis results.
{% endif %}