AstraZeneca to buy Omthera for $323 million