Short answer: 165 mL of 1 M acetic acid and 204.5 mL of 1.5 M Tris base per liter of pool, and the pool grows by 37%. Here’s how we got those numbers, and what they mean for your process.
The step, in one paragraph
Protein A elution leaves the antibody in a low-pH acetate buffer. Before the next column, most processes hold the pool at low pH, commonly pH 3.5 to 3.8 for 30 to 60 minutes, to inactivate enveloped viruses. Then they raise the pH back up with a base, to where the next step needs it. Two additions, two questions: how much acid, and how much base?
The pool
We start with a mock Protein A pool, 1 L of:
- 20 g/L antibody
- 50 mM acetate, adjusted to pH 4.2 with sodium hydroxide (in the app: 40 mM acetic acid plus 10 mM sodium acetate)
The two additions:
- Acidify to pH 3.5 with 1 M acetic acid, and hold.
- Neutralize to pH 7.8 with 1.5 M Tris base.
What it takes
We set this up in Expert Solution Operations Designer. Every number below comes from the app, which follows the pool through each addition and solves the full charge balance after every one.
| Step | Added | pH after | Pool volume |
|---|---|---|---|
| Start: the Protein A pool | — | 4.20 | 1,000 mL |
| 1. Acidify with 1 M acetic acid | 165.0 mL | 3.50 | 1,165 mL |
| 2. Neutralize with 1.5 M Tris base | 204.5 mL | 7.80 | 1,369.5 mL |

Both additions in Expert Solution Operations Designer: ions, compounds and pH, per liter of pool. Left of the second dashed line, acetic acid goes in; right of it, Tris.
The acid volume is the surprise. Acetic acid’s pKa is 4.76, well above the 3.5 target. At pH 3.5, only about 5% of the acetic acid you add actually gives up its proton; the rest sits in the tank as acetic acid. So each milliliter moves the pH very little, and it takes 165 mL to cover the last 0.7 pH units.
The antibody pushes back, too. Proteins carry charged groups that absorb acid and base. Run the same step without the antibody and it takes 155 mL of acid and 192.5 mL of base. At 20 g/L, the antibody adds about 10 mL of acid and 12 mL of base per liter of pool.
Neutralizing undoes all of it. On the way back up, the Tris has to take the protons off all that acetic acid before the pH can rise, so the base volume is larger still. You can see it in the curve. The pH climbs slowly through the acetate’s buffering range, around pH 4 to 5.5, then jumps, then flattens again as it reaches the range where Tris itself buffers.
The neutralized pool
After both additions, the 1,369.5 mL pool holds:
- 14.6 g/L antibody (diluted from 20 g/L)
- 0.22 M Tris and 0.16 M acetate in total
- 7 mM sodium
What to watch
- Volume. The pool grows by 37%. Size the hold tank for it, and remember the next column loads 37% more volume.
- What the next step sees. The neutralized pool carries 0.22 M Tris and 0.16 M acetate. That is a lot of buffer to hand an anion-exchange flow-through step, so check it against the conditions that step needs.
- Temperature. Tris is sensitive to temperature: its pKa drops by about 0.03 units for every degree warmer. Neutralize at the temperature you will hold at, or expect the pH to move.
- Mixing. The model assumes the tank is well mixed. Where the base goes in, the local pH is briefly much higher than the bulk, so add it slowly and mix well.
Or ask the assistant
You can get all of this from one message. Expert Solution Operations Designer has an assistant. We described the pool, the acid and the base in plain words, and it built the workflow in the app, ran it, and reported the same three numbers: 165.0 mL of acetic acid, 204.5 mL of Tris, and a 1,369.5 mL pool.

The workflow the assistant built, ready to edit in the builder.
The same message also asked for part 2’s sweep. The whole answer took 12.5 seconds and about two cents of model time. Here’s how we timed it.
What’s next
Acetic acid is gentle, but it’s a weak lever at pH 3.5. In part 2 we change one thing at a time and compare:
- the starting pH of the pool: 4.0, 4.2 or 4.5
- the acid: acetic, citric, phosphoric or hydrochloric
- the base: Tris, sodium hydroxide and others
A stronger acid needs a fraction of the volume. Part 2 shows how much, and what it leaves behind in the pool.
Try it on your own pool
Expert Solution Operations Designer is in invited beta. Open the Viral inactivation: acidify → hold → neutralize example, enter your own pool, acid and base, and read off the volumes. Ask for an invitation or read about the app.