AAV outputs and interpretation
Published tropism reports per serotype — tissue, level, model, citation — in alphabetical order with no score, plus the aav_packaging_feasible go/no-go.
Capsid selection returns published observations, not a verdict: per serotype, which tissues a cited study reports, the level that study reports, the species it was observed in, and the citation. Transgene optimization does return a verdict — aav_packaging_feasible, whether the optimized construct fits the packaging limit.
So the two results are read differently. The transgene result you can act on directly. The capsid result you have to read, because nothing in it ranks anything for you.
There is no composite score, and that is deliberate
An earlier version of this tool returned a composite_score that sorted serotypes by 0.70 * tissue_tropism_score + 0.30 * (1 - immune_prevalence). It was removed because the inputs were not real: the tropism numbers were hand-entered without sources, three of the nine seroprevalence figures were invented outright, and a caller's serotype_preference silently added to that serotype's score — a preference nudging its own answer. If you are carrying a composite_score, tissue_tropism_score or ranked_capsids from an older run or an older version of this page, it is not a measurement and nothing reproduces it.
Capsid selection result
Under the result key literature_serotype_lookup. Serotypes come back in alphabetical order; the ordering carries no meaning.
| Field | Type | What it tells you |
|---|---|---|
method | string | Always literature_serotype_lookup. |
query | object | What was asked: the normalised target_tissue, target_tissue_recognized, and the requested_serotype. |
serotypes | list | One record per serotype in the reference table (see below). |
n_serotypes | int | How many records were returned. |
tissues_with_reports | string[] | Every tissue any source in the table reports. |
packaging_limit_kb | float | The ~4.7 kb limit applied. |
packaging_citation | string | The source for that limit. |
payload_within_packaging_limit | bool | null | Whether your max_payload_kb fits. null when you sent no payload. |
disclaimer | string | The result's own statement of what it is not. |
reports_for_tissue | object | null | The reports narrowed to the tissue you asked about. |
requested_serotype_record | object | null | The full record for your serotype_preference, when you set one. |
Per-serotype record
| Field | Type | What it tells you |
|---|---|---|
serotype | string | The serotype. |
reported_tropism | list | One entry per reported observation (see below). |
tissues_reported | string[] | The tissues this serotype has any report for. |
seroprevalence | object | null | Reported anti-AAV total IgG prevalence, the population, and the citation. null when no study is cited — not zero. |
seroprevalence_note | string | null | A qualification on that figure. |
packaging_limit_kb | float | Packaging capacity. |
packaging_citation | string | Its source. |
caveats | string[] | Recorded limitations for this serotype. Read them. |
payload_kb | float | null | The payload you asked to check. |
payload_within_packaging_limit | bool | null | Whether it fits this serotype. |
Each reported observation
Every entry in reported_tropism:
| Field | Type | What it tells you |
|---|---|---|
tissue | string | The tissue the source reports. |
reported_level | string | The level that source reports: high, moderate or low. A published qualitative call, not a computed number. |
model | string | The species or system it was observed in, e.g. human, mouse, c57bl6_mouse_only. |
citation | string | The source. |
Reading the capsid result honestly
Three properties of this result change how you should use it:
- Absence is missing evidence, not a low score. A tissue no source reports is simply absent from
reported_tropism. It does not appear with a zero, so you cannot infer that the serotype fails there. modelis load-bearing. Ahighreported inc57bl6_mouse_onlyis not a claim about humans. Check the model on every entry you rely on before carrying it across species.- A missing
seroprevalenceis not a low one.nullmeans no study is cited for that serotype.
Transgene optimization result
| Field | Type | What it tells you |
|---|---|---|
optimized_sequence | string | The codon-optimized DNA sequence. |
length_bp | int | Length in base pairs. |
length_kb | float | Length in kilobases. |
gc_content | float | GC fraction. |
aav_packaging_feasible | bool | null | Whether length_kb fits max_payload_kb — the go/no-go. |
max_payload_kb | float | null | The packaging limit applied. |
protein_length_aa | int | Input protein length in amino acids. |
all_constraints_pass | bool | Whether every optimization constraint was satisfied. |
codon_optimization_score | float | Objective score from the optimizer. |
species | string | Codon table used — always h_sapiens. |
restriction_sites_avoided | string[] | Restriction sites removed during optimization. |
What to do next
- Read
caveatsand themodelon eachreported_tropismentry before shortlisting a serotype. The result will not shortlist for you. - Check
query.target_tissue_recognized. Afalsemeans no source in the table reports your tissue at all, so an emptyreports_for_tissuesays nothing about any serotype. - An
aav_packaging_feasible: falsemeans shortening the transgene or choosing a higher-capacity serotype. Codon optimization does not materially changelength_kb, so trimming the input sequence is what brings it under the limit. - Promoter, polyA and regulatory-element choices are still yours — this tool optimizes the coding sequence only.
Read next
Was this page helpful?
AAV inputs and parameters
Target tissue, serotype and payload limit for the literature lookup; a protein sequence for the optimizer. No species, route or promoter parameter exists.
AAV quickstart
Name a target tissue for per-serotype tropism reports with citations and no ranking, then codon-optimize a protein transgene against the 4.7 kb limit.