TL;DR
- DeepViscosity classifies monoclonal antibodies as low viscosity at or below 20 cP or high viscosity above 20 cP at 150 mg/mL.
- It requires paired heavy-chain and light-chain variable-domain sequences in a CSV with case-sensitive Name, Heavy_Chain, and Light_Chain headers.
- Prob_Mean and Prob_Std summarize 102 neural-network outputs; neither is an exact viscosity or experimental uncertainty.
- The model uses Fv sequence only, so formulation, temperature, concentration changes, and constant-region effects still require experimental evaluation.
DeepViscosity classifies a paired monoclonal antibody Fv sequence as low viscosity, at or below 20 cP, or high viscosity, above 20 cP, at 150 mg/mL. It combines 30 sequence-derived DeepSP features with an ensemble of 102 artificial neural networks trained on viscosity measurements for 229 mAbs. The result is a binary screening endpoint, not an exact viscosity in cP.[1]
To use DeepViscosity online, prepare a CSV with Name, Heavy_Chain, and Light_Chain columns, open the DeepViscosity webserver, and submit up to 100 paired Fv sequences in one job. The run has no adjustable scientific settings and returns prediction probabilities, viscosity classes, all 30 descriptors, numbering files, aligned inputs, logs, and provenance.[2]
For a first run:
Open DeepViscosity online
Open DeepViscosity and keep the built-in source example loaded for a format check.
Prepare paired Fv sequences
Use one heavy-chain variable domain and its paired kappa or lambda light-chain variable domain for each antibody.
Build the CSV
Use the exact case-sensitive headers Name, Heavy_Chain, and
Light_Chain. Keep names free of commas and whitespace.
Submit the fixed workflow
Upload or paste the CSV, optionally rename the job, confirm the 32-credit quote, and submit.
Interpret and validate
Read the class with Prob_Mean, Prob_Std, the descriptor table, and the
numbering diagnostics, then test important candidates under the intended
formulation conditions.
What is DeepViscosity?
DeepViscosity is a sequence-based classifier for high-concentration monoclonal antibody viscosity. Its endpoint is deliberately narrow:
| Class | Meaning |
|---|---|
0 | Low viscosity, at or below 20 cP at 150 mg/mL |
1 | High viscosity, above 20 cP at 150 mg/mL |
The model was developed from 229 mAbs with measured viscosity at 150 mg/mL. The authors clustered similar sequences into 102 groups and used leave-one-group-out validation to reduce leakage between closely related sequences. The final ensemble contains one model for each held-out group. In the publication, DeepViscosity reached 87.5% accuracy on an independent set of 16 mAbs and 89.5% on an independent set of 38 mAbs.[1]
Those results support early screening, but they are not a guarantee for a new lineage or formulation. The training set contained 162 low-viscosity and 67 high-viscosity antibodies, and the paper identifies class imbalance and the behavior of closely related antibodies as remaining limitations.[1]
DeepViscosity is useful when the practical question is, "Does this paired Fv look more like the low or high class at the published endpoint?" It is not designed to answer, "What will the viscosity be at 100 mg/mL in my buffer?" or, "Will this molecule be injectable after formulation optimization?"
How does DeepViscosity work?
The prediction path has three scientific stages: sequence alignment, spatial descriptor inference, and ensemble classification.
1. Paired Fv sequences are numbered and aligned
The complete standalone prediction program numbers the submitted heavy and light variable domains with ANARCI using the IMGT scheme. ANARCI aligns antibody variable-domain sequences to antigen-receptor models so equivalent positions can be annotated across different sequences.[3][5]
DeepViscosity maps the numbered pair into a fixed 272-position input: 145 heavy-chain positions followed by 127 light-chain positions. Gaps occupy positions that are absent from a particular sequence. This fixed representation lets the convolutional models process variable-length Fv sequences in a consistent shape.
The numbering files matter. If a sequence is truncated, contains an unusual insertion, is not an antibody variable domain, or is placed in the wrong chain column, the alignment may fail or produce an input that deserves review before the prediction is trusted.
2. DeepSP predicts 30 spatial descriptors
Three DeepSP convolutional neural networks take the encoded 272-position pair and return 10 values each. The descriptor families capture hydrophobic and charge-related spatial properties that were originally derived from molecular dynamics calculations:[4]
| Family | Published meaning | Regions returned |
|---|---|---|
SAP_pos | Positive spatial aggregation propensity | Six individual CDRs, combined CDR, Hv, Lv, and Fv |
SCM_neg | Negative spatial charge map | Six individual CDRs, combined CDR, Hv, Lv, and Fv |
SCM_pos | Positive spatial charge map | Six individual CDRs, combined CDR, Hv, Lv, and Fv |
The DeepSP study trained on 20,530 paired Fv sequences and reported correlations from 0.76 to 0.96 between predicted and molecular-dynamics-derived descriptors, with an average correlation of 0.87 across the 30 outputs. That validation applies to the descriptor predictions. It does not mean each descriptor is an experimental viscosity measurement.[4]
3. The 102-model ensemble assigns the viscosity class
DeepViscosity scales the 30 descriptors and passes them to each of 102 artificial neural networks. The prediction file reports the arithmetic mean and standard deviation of the model outputs. The complete prediction program assigns class 1 when Prob_Mean is at least 0.5; otherwise it assigns class 0.[3]
This distinction is important. The model predicts membership in a viscosity class defined by the training endpoint. It does not regress an exact cP value, estimate the change caused by an excipient, or model a concentration-response curve.
How should you prepare DeepViscosity inputs?
Each row needs one name and one paired set of variable-domain amino-acid sequences.
| Column | What to enter | Common error |
|---|---|---|
Name | A text identifier without commas or whitespace | Using candidate 1 instead of candidate_1 |
Heavy_Chain | Heavy-chain variable domain, usually VH | Pasting a signal peptide or complete heavy chain |
Light_Chain | Paired kappa or lambda light-chain variable domain | Swapping chains or using an unpaired sequence |
The headers are case-sensitive. Heavy_Chain is valid; heavy_chain, Heavy Chain, and VH are not. Extra columns are preserved in the submitted CSV but ignored by the prediction program.
Use variable domains only
DeepViscosity was built for the Fv, the paired heavy and light variable domains. Remove signal peptides and constant-region sequence. Full-length IgG chains add regions the model does not represent and do not supply the isotype or subclass effects that are absent from the model.
If domain boundaries are uncertain, inspect the chains with ANARCII before building the batch. ANARCII is useful for a separate numbering check, but its numbering implementation is not identical to the ANARCI path fixed in DeepViscosity. Use the numbering files returned by the DeepViscosity job as the record of what the classifier actually analyzed.
Preserve the real VH/VL pairing
The 30 descriptors describe the paired Fv. Combining a heavy chain with the wrong light chain changes the charge and hydrophobic context and can change the prediction. Keep the experimental or designed pairing intact throughout CSV preparation.
Keep the CSV within the hosted boundary
One job accepts:
- exactly one CSV table
- 1 to 100 antibody rows
- at most 1 MiB of CSV text
- nonblank values in all three required columns
Names cannot contain a comma or any whitespace. Larger panels can be divided into multiple jobs without changing row contents. Each resulting job is priced separately.
How do you use DeepViscosity online?
1. Open the webserver
Go to DeepViscosity. The input panel accepts pasted CSV text or one .csv file and includes an optional job name.
2. Check the built-in source example
Choose Source example antibody if it is not already loaded. The example contains one repository-provided antibody named mAb1 with paired variable-domain sequences. It is a useful interface exercise because it tests the exact header and sequence layout published with the software.[3]
Run the example and confirm that the result contains a prediction row, 30 descriptor values, and the seven native scientific files. The guide does not quote a fixed prediction for mAb1 because there is no maintained public result snapshot to cite. Treat the example as an input and output check, not as a biological benchmark.
3. Replace the example with your batch
Paste the project CSV or upload it. Before submission, check:
- The headers are exactly
Name,Heavy_Chain,Light_Chain. - Every row contains a paired VH and VL variable domain.
- Names contain no commas or whitespace.
- The table has no more than 100 data rows.
- The file is no larger than 1 MiB.
4. Name and submit the job
The only form field outside the CSV is Job name, which defaults to DeepViscosity prediction. There are no user-controlled scientific settings. The current price is fixed at 32 credits for any supported batch size, and the exact quote appears before submission.[2]
5. Review the prediction table first
Start with DeepViscosity_classes, then place that class in context with Prob_Mean and Prob_Std. A class near the 0.5 mean threshold deserves more caution than a clearly separated output, but no published cutoff converts the mean or standard deviation into a confidence category.
6. Inspect descriptors and numbering evidence
Use the descriptor table to compare the same 30 features across candidates. If a result is unexpected, inspect seq_aligned_H.csv, seq_aligned_KL.csv, and seq_aligned_HL.txt to verify how the two chains entered the model.
7. Download the complete record
Keep the prediction CSV, descriptor CSV, aligned sequences, exact submitted input, and deepviscosity_provenance.json together. The provenance file records the implementation, model assets, runtime, input digest, and output digests needed to audit the run later.
How do you interpret DeepViscosity results?
The primary result table contains four columns.
| Column | How to interpret it |
|---|---|
Name | Identifier from the submitted row |
Prob_Mean | Mean of the 102 neural-network outputs; values toward 1 support the high class and values toward 0 support the low class |
Prob_Std | Model-to-model dispersion across the 102 outputs |
DeepViscosity_classes | 0 for at or below 20 cP and 1 for above 20 cP at 150 mg/mL |
Prob_Mean is not an exact viscosity
A Prob_Mean of 0.80 does not mean the antibody has a viscosity of 0.80 cP, 80 cP, or an 80% chance of formulation success. It is the ensemble's mean output for the high-viscosity class. The publication reports classification performance but does not establish that the output is calibrated as a real-world probability.
Use the value to understand position relative to the 0.5 decision boundary. Do not use it to rank distant projects as if small numeric differences were experimentally precise.
Prob_Std is not experimental uncertainty
Prob_Std describes how much the 102 model outputs differ from one another. A larger value indicates more ensemble dispersion, but the method does not publish a universal low, medium, or high uncertainty cutoff. It is not a confidence interval for cP and does not include assay variability, formulation uncertainty, or batch handling.
Class 0 and class 1 answer one endpoint
Class 0 means the model places the Fv in the group measured at or below 20 cP at 150 mg/mL. Class 1 means above 20 cP at the same concentration. Neither result describes other concentrations. An antibody can also change viscosity when pH, salt, excipients, temperature, or formulation history changes.[6]
The descriptor table is supporting evidence
The 30 DeepSP values are the features supplied to the viscosity ensemble. They can reveal whether a result is associated with charge or hydrophobic spatial patterns in a particular region, but they do not have published universal pass/fail thresholds or a simple higher-is-worse direction across all columns.
Use descriptor values for consistent comparison within the same DeepSP implementation. Do not compare them directly with outputs from a different numbering backend or model edition without validation.
What files does DeepViscosity return?
| File | Contents | Best use |
|---|---|---|
DeepViscosity_classes.csv | Class and ensemble summary for every accepted row | Primary result and batch comparison |
DeepSP_descriptors.csv | All 30 model-derived spatial descriptors | Feature comparison and result interpretation |
seq_H.fasta, seq_L.fasta | Heavy and light sequences written by the prediction workflow | Confirm source-program inputs |
seq_aligned_H.csv, seq_aligned_KL.csv | Heavy and light ANARCI IMGT numbering tables | Diagnose chain recognition and alignment |
seq_aligned_HL.txt | Paired fixed 272-position model input | Audit the exact representation used for inference |
DeepViscosity_input.csv | Exact submitted CSV | Preserve the original job input |
deepviscosity_provenance.json | Implementation, model, runtime, input, timing, and file digests | Reproducibility and audit trail |
deepviscosity_source.log | ANARCI and prediction-program diagnostics | Troubleshoot failed or unusual runs |
run.log | Concise execution summary | Record completion and timing |
The result page also exposes the prediction and descriptor tables as structured workflow outputs, so a downstream workflow can route individual rows without discarding the native files.
How should you validate a DeepViscosity prediction?
Validation has three levels: input integrity, model context, and experimental confirmation.
1. Validate the analyzed sequences
Confirm that each input is a complete variable domain, the heavy and light chains are paired correctly, and the numbering files contain the expected antibody regions. Review source diagnostics for unusual insertions or failed recognition. A successful prediction is most interpretable when the Fv resembles the sequence scope for which the model was trained.
2. Place the result in the model's evidence range
Record the class, Prob_Mean, Prob_Std, and all 30 descriptors. Treat predictions near the class boundary or with substantial ensemble dispersion as reasons for more follow-up, not as automatic failures. Closely related variants deserve particular care because the paper notes weaker behavior for highly similar antibodies from a common lineage.[1]
3. Measure viscosity under the intended conditions
For a development decision, measure the candidate near 150 mg/mL and under the actual buffer, pH, excipient, temperature, and handling conditions. Primary rheology work shows that temperature and excipients can materially alter high-concentration mAb interactions and viscosity, effects that are not present in an Fv-only sequence input.[6]
If the intended product concentration is not 150 mg/mL, collect data at that concentration rather than extrapolating the binary class. Use an appropriate rheometer or validated low-volume method and record temperature and shear conditions with the result.
4. Add orthogonal developability evidence
The DeepViscosity paper found that diffusion interaction parameter, kD, was useful but not sufficient as a sole viscosity predictor: exceptions occurred in both directions. Combine viscosity with relevant self-interaction, opalescence, aggregation, solubility, and stability measurements instead of substituting one proxy for another.[1]
Common DeepViscosity mistakes
Treating the class as an exact cP prediction
DeepViscosity returns a binary endpoint. It cannot tell whether a high-class antibody is 21 cP or 200 cP.
Submitting full-length antibody chains
Constant regions and signal peptides are outside the paired Fv representation. Use VH and VL variable domains only.
Losing the heavy and light pairing
Descriptors are calculated from the pair. A mismatched VL can change the model input and invalidate the biological interpretation.
Using the wrong CSV headers
The required names are case-sensitive. Use Name, Heavy_Chain, and Light_Chain exactly.
Putting spaces in Name
Use candidate_01, not candidate 01. Commas and whitespace in the identifier are rejected by the prediction path.
Calling Prob_Std a laboratory error bar
It is dispersion across model outputs. It contains no experimental replicate, formulation, or measurement information.
Comparing outputs from different numbering paths without checking
The public repository notes that numbering changes can propagate into descriptors and predictions. ProteinIQ fixes the complete standalone ANARCI prediction path for reproducibility; compare another service only after confirming its numbering and model edition.[3]
Discarding a class 1 antibody automatically
The output is an early screen. Formulation changes, experimental measurement, sequence context, affinity, specificity, and the wider developability profile still determine the next decision.
DeepViscosity alternatives and complementary tools
| Method | Main question | Relationship to DeepViscosity |
|---|---|---|
| DeepViscosity | Is this paired Fv in the low or high viscosity class at 150 mg/mL? | Direct binary sequence-based screen covered by this guide |
| DeepSP | What are the 30 sequence-derived spatial charge and aggregation descriptors? | Returns the descriptor layer without the viscosity classifier |
| TAP2 | Are five modeled Fv properties typical or unusual relative to clinical-stage therapeutics? | Broader developability context, not a direct viscosity prediction |
| ANARCII | Where are the numbered variable domains and CDRs? | Helps check chain identity and domain boundaries before submission |
| Experimental rheology | What is the viscosity of this material under a specified condition? | Direct confirmation that captures concentration, formulation, and temperature |
DeepSP is the closest computational companion because DeepViscosity uses its 30 descriptors. TAP2 answers a different question and should not be treated as a second vote on the DeepViscosity class. Rheology remains the decisive method when the actual formulation behavior matters.
A practical candidate-screening checklist
Before submission:
- Confirm complete VH and paired VL variable domains.
- Remove signal peptides and constant regions.
- Use exact CSV headers and delimiter-safe names.
- Keep the batch at 100 rows or fewer and below 1 MiB.
After submission:
- Confirm that numbering succeeded for both chains.
- Record class,
Prob_Mean, andProb_Stdtogether. - Preserve all 30 descriptors and the provenance file.
- Flag near-boundary or dispersed outputs for extra review.
- Compare related candidates within the same model edition.
- Measure priority candidates under the intended formulation conditions.
Frequently asked questions
Does DeepViscosity predict an exact viscosity?
No. It predicts class 0 for at or below 20 cP and class 1 for above 20 cP at 150 mg/mL. It does not return an exact cP value.[1]
What does Prob_Mean mean?
It is the average of the 102 neural-network outputs for the high-viscosity class. The fixed prediction program uses 0.5 as the class boundary. It is not a calibrated probability of experimental or clinical success.[3]
What does Prob_Std mean?
It is the standard deviation across the 102 model outputs. It describes ensemble dispersion, not experimental uncertainty, and the method does not define a universal confidence cutoff.
Can I submit a full IgG heavy and light chain?
Use paired variable domains only. The model input is Fv sequence and does not represent constant-region isotype or subclass effects.[1]
Can DeepViscosity model my buffer or excipients?
No. The form has no fields for pH, salt, sugars, surfactants, temperature, or other formulation variables. These factors can change high-concentration viscosity and should be evaluated experimentally.[6]
How many antibodies can I submit?
One hosted job accepts 1 to 100 rows and at most 1 MiB of CSV text. Larger datasets can be split across jobs.[2]
Does a larger batch cost more?
Not within the current limit. A supported DeepViscosity job costs 32 credits whether it contains 1 or 100 antibody rows. Each separately submitted job is charged independently.[2]
Why might another DeepViscosity service return a different value?
Check the exact sequences, chain pairing, numbering backend, and software revision. The project notes that switching antibody-numbering implementations can propagate into descriptor and prediction differences. ProteinIQ retains numbering, aligned-input, and provenance files so its analyzed path can be audited.[3]
Should a high-viscosity class eliminate a candidate?
Not by itself. Use it to prioritize experimental viscosity and wider developability work. A candidate's formulation response, biological function, manufacturability, stability, and other liabilities are not captured by this one binary sequence model.
Sources▼
- Accelerating high-concentration monoclonal antibody development with large-scale viscosity data and ensemble deep learning mAbs · 2025. https://doi.org/10.1080/19420862.2025.2483944
- Use DeepViscosity Online ProteinIQ · August 25, 2026. https://proteiniq.io/app/deepviscosity
- DeepViscosity source code GitHub, Lailabcode/DeepViscosity · August 25, 2026. https://github.com/Lailabcode/DeepViscosity
- DeepSP: Deep learning-based spatial properties to predict monoclonal antibody stability Computational and Structural Biotechnology Journal · 2024. https://doi.org/10.1016/j.csbj.2024.05.029
- ANARCI: antigen receptor numbering and receptor classification Bioinformatics · 2016. https://doi.org/10.1093/bioinformatics/btv552
- Temperature and excipient mediated modulation of monoclonal antibody interactions revealed by kD, rheology, and Raman spectroscopy mAbs · 2025. https://doi.org/10.1080/19420862.2025.2521511

Founder and computational chemist, ProteinIQ
Dr. Matic Broz is the founder of ProteinIQ and a computational chemist. He completed a PhD focused on protein structure, molecular dynamics, and neural networks, and writes about structural biology and scientific software.