Short answer: the acid you choose matters most. Taking the same pool to pH 3.5 takes 165 mL of 1 M acetic acid, but only 10.5 mL of 1 M hydrochloric acid. The starting pH comes second: a pool at pH 4.5 needs nearly three times the acid of one at pH 4.0.
In part 1 we took a mock Protein A pool through viral inactivation and neutralization. Here we change one thing at a time and watch the volumes move. The pool is the same throughout: 1 L of 20 g/L antibody in 50 mM acetate. Unless a table says otherwise, the pool starts at pH 4.2 and we use 1 M acetic acid down to pH 3.5, then 1.5 M Tris base up to pH 7.8. Every number comes from Expert Solution Operations Designer.
1. The starting pH
The higher the pool starts, the more acid it takes to get down, and the more base to get back up.
| Pool starts at | Acid to pH 3.5 | Base to pH 7.8 | Final volume | Antibody after |
|---|---|---|---|---|
| pH 4.0 | 100.0 mL | 144.5 mL | 1,244.5 mL | 16.1 g/L |
| pH 4.2 | 165.0 mL | 204.5 mL | 1,369.5 mL | 14.6 g/L |
| pH 4.5 | 290.0 mL | 318.5 mL | 1,608.5 mL | 12.4 g/L |
Half a pH unit at the start, from 4.0 to 4.5, nearly triples the acid and adds 364 mL to the final pool. The reason is the pool’s own buffer. Acetate’s pKa is 4.76, so the closer the pool starts to 4.76, the more acetate there is to convert back to acetic acid before the pH moves. If your elution conditions leave the pool on the high side, the viral inactivation step pays for it, at least with acetic acid. With a strong acid the starting pH barely matters, as the sweep below shows.
2. The acid
Now the pool starts at pH 4.2 every time, and only the acid changes, each at 1 M.
| Acid (1 M) | Acid to pH 3.5 | Base to pH 7.8 | Final volume | Added acid, as left in the pool |
|---|---|---|---|---|
| Acetic acid | 165.0 mL | 204.5 mL | 1,369.5 mL | 0.16 M acetate |
| Citric acid | 12.6 mL | 77.7 mL | 1,090.4 mL | 12 mM citrate |
| Phosphoric acid | 11.0 mL | 61.5 mL | 1,072.5 mL | 10 mM phosphate |
| Hydrochloric acid | 10.5 mL | 51.0 mL | 1,061.5 mL | 10 mM chloride |

The four acids side by side, each followed by 1.5 M Tris to pH 7.8, from one sweep in Expert Solution Operations Designer.
The difference is how readily each acid gives up its proton at pH 3.5:
- Hydrochloric acid gives up all of it.
- Phosphoric acid (first pKa 2.15) gives up nearly all of it.
- Citric acid (first pKa 3.13) gives up most of it.
- Acetic acid (pKa 4.76) gives up only about 5%. The rest just sits in the tank, and the base has to neutralize all of it on the way back up.
So the three stronger acids need 13 to 16 times less volume than acetic acid, and less than half the base afterward. The pool grows by 6 to 9%, instead of 37%.
What each leaves behind matters too. Acetic acid keeps the pool a single-species acetate system, which some platforms prefer. Hydrochloric acid adds chloride, which some sites limit in stainless-steel equipment. Citrate and phosphate carry more than one charge, which raises the ionic strength the next column sees. And a strong acid makes the pH at the point of addition briefly far lower than the bulk, so mixing matters more.
3. The base
Last, the base, with 1 M acetic acid as the acid again.
| Base | Base to pH 7.8 | Final volume | Left in the pool |
|---|---|---|---|
| Tris base, 1.5 M | 204.5 mL | 1,369.5 mL | 0.22 M Tris, 0.16 M acetate |
| Sodium hydroxide, 1 M | 204.5 mL | 1,369.5 mL | 0.16 M sodium, 0.16 M acetate |
The volumes come out the same, and that’s no accident. At pH 7.8 only about two-thirds of the Tris takes up a proton, so 1.5 M Tris does roughly the work of 1 M sodium hydroxide. With hydrochloric acid instead of acetic acid, the pair comes out close again: 51.0 mL of Tris against 50.0 mL of sodium hydroxide.
The real difference is how forgiving they are. Tris has its pKa near 8, so at pH 7.8 the pool is buffered: a little too much Tris moves the pH only a little. Sodium hydroxide leaves nothing buffering at 7.8 except the antibody, so the last few milliliters swing the pH hard, and overshooting is easy. At the point where the base goes in, sodium hydroxide also makes a brief pocket of very high pH. That is why many processes neutralize with Tris, or add sodium hydroxide slowly into a well-mixed tank.
All of this in one run: the Sweep tab
We ran the cases above one at a time. Solution Operations can also run them all at once. On the Sweep tab, pick the pool’s starting pH as one axis (4.0 to 4.5 in steps of 0.1) and the acid as a second (the four acids), then press Run sweep. It ran all 24 combinations in under ten seconds and drew every pH profile on one chart.
Each run keeps its whole pH and volume profile, step by step, and the sweep’s table lists the volume each step added, so the acid and the base can be read straight off it.
Acid to reach pH 3.5 (mL of 1 M acid, per liter of pool)
| Pool starts at | Acetic | Citric | Phosphoric | Hydrochloric |
|---|---|---|---|---|
| pH 4.0 | 100.0 | 7.5 | 6.5 | 6.1 |
| pH 4.1 | 130.0 | 10.0 | 8.5 | 8.1 |
| pH 4.2 | 165.0 | 12.6 | 11.0 | 10.5 |
| pH 4.3 | 205.0 | 15.6 | 13.5 | 13.0 |
| pH 4.4 | 245.0 | 19.0 | 16.5 | 16.0 |
| pH 4.5 | 290.0 | 22.5 | 19.5 | 19.0 |
Tris to reach pH 7.8 (mL of 1.5 M Tris base, per liter of pool)
| Pool starts at | Acetic | Citric | Phosphoric | Hydrochloric |
|---|---|---|---|---|
| pH 4.0 | 144.5 | 67.5 | 57.5 | 51.0 |
| pH 4.1 | 172.2 | 72.5 | 59.0 | 51.0 |
| pH 4.2 | 204.5 | 77.7 | 61.5 | 51.0 |
| pH 4.3 | 241.1 | 84.0 | 63.7 | 51.0 |
| pH 4.4 | 277.5 | 91.0 | 66.5 | 51.0 |
| pH 4.5 | 318.5 | 98.0 | 69.1 | 51.0 |
Final volume (mL, starting from 1,000 mL)
| Pool starts at | Acetic | Citric | Phosphoric | Hydrochloric |
|---|---|---|---|---|
| pH 4.0 | 1,244.5 | 1,075.0 | 1,064.0 | 1,057.2 |
| pH 4.1 | 1,302.2 | 1,082.5 | 1,067.5 | 1,059.2 |
| pH 4.2 | 1,369.5 | 1,090.3 | 1,072.5 | 1,061.5 |
| pH 4.3 | 1,446.1 | 1,099.7 | 1,077.2 | 1,064.0 |
| pH 4.4 | 1,522.5 | 1,110.0 | 1,083.0 | 1,067.0 |
| pH 4.5 | 1,608.5 | 1,120.5 | 1,088.6 | 1,070.0 |
Three things stand out that the one-at-a-time comparisons only hinted at:
- The starting pH matters because of the acid. With acetic acid, starting at pH 4.5 instead of 4.0 takes 190 mL more acid, 174 mL more base, and leaves 364 mL more pool. With hydrochloric acid it adds 13 mL in total.
- With hydrochloric acid, the Tris doesn’t change at all: 51.0 mL at every starting pH. A pool that starts higher carries more sodium from its pH adjustment, and the extra hydrochloric acid only turns that sodium acetate back into acetic acid and sodium chloride. At pH 7.8 the Tris has the same acetate to neutralize either way. With a weak acid, the extra acid stays in the pool and the base has to neutralize it too.
- The weaker the acid, the more the base depends on it. Acetic acid more than doubles the Tris across the range, from 144.5 to 318.5 mL; citric raises it by nearly half; phosphoric by a fifth.
To keep the chart to the part that matters, tick just the acidify and neutralize steps above it, and it starts from the pool rather than from an empty vessel.
Or ask the assistant
All 24 cases also come from a single message to the assistant in Expert Solution Operations Designer:
Build a viral inactivation workflow: 1 L of a mock Protein A pool with 20 g/L antibody in 50 mM acetate at pH 4.2. Acidify to pH 3.5 with 1 M acetic acid, then neutralize to pH 7.8 with 1.5 M Tris base. Then run a sweep: the pool’s starting pH from 4.0 to 4.5 in steps of 0.1, against four acids at 1 M: acetic, citric, phosphoric and hydrochloric. Give me a table of the acid volume added, the base volume added and the final volume for each case.
It built the workflow, ran it, ran the sweep, and answered with all 24 rows in 12.5 seconds, for about two cents of model time. Its table matches the ones above to within 0.1 mL. It reports 6.15 mL of hydrochloric acid at pH 4.0, where we rounded to 6.1.

Every case also lands on the Sweep tab, so you can check the work curve by curve. How we timed it, and three more questions.
Putting it together
- Choose the acid first. It sets the volume of both additions, and what the next step inherits.
- Watch the starting pH, if you use a weak acid. With acetic acid, each tenth of a pH unit above 4.0 costs 58 to 86 mL of final volume per liter; with a strong acid, a few milliliters.
- Choose the base for control, not volume. At the same capacity, the one that buffers at your target makes the step easier to hit.
Try it on your own pool
Every number here came from Expert Solution Operations Designer: open the Viral inactivation: acidify → hold → neutralize example, change the pool, the acid or the base, or sweep them all at once. It’s in invited beta. Ask for an invitation or read about the app.