Computational modelling and topological design of porous organic cages