Differential geometry of proteins