AstraZeneca buys most of Acerta for $4 bln to add cancer drug