Aspects of computational topology and mathematical virology