Principles and applications of immunoaffinity chromatography