We introduce a new, simplified model of proteins, which we call protein metastructure. The metastructure of a protein carries information about its secondary structure and β-strand conformations. Furthermore, protein metastructure allows us to associate an object called a fatgraph to a protein, and a fatgraph in turn gives rise to a topological surface. It becomes thus possible to study the topological invariants associated to a protein. We discuss the correspondence between protein metastructures and fatgraphs, and how one can compute topological invariants, such as genus and the number of boundary components, from fatgraphs. We then describe an algorithm for generating likely candidate metastructures using the information obtained from topology of protein fatgraphs. This algorithm is further developed to predict β-sheet topology of proteins, with a possibility to combine it with an existing algorithm. We demonstrate the algorithm on the data from PDB, and improve the performance of and existing algorithm by combining with it.