{{ product.display_name | e }} · {{ product.length }} {{ product.unit }}
Product ID: {{ product.name | e }}
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 %}| {{ label | e }} | {{ value | e }} |
|---|
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 |
|---|---|---|
| {{ 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 %} |
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 | wordwrap(70, break_long_words=True) }}{% endif %}
{% if product.protein %}Encoded protein:
| Antigen / source genes | Exact antigen sequence | Position [start, end) | Source mappings |
|---|---|---|---|
| {{ 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 %} |
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
| {{ key | replace('_', ' ') }} | {{ value }} |