This paper presents a novel subspace segmentation algorithm that models protein Calpha traces of secondary structure elements (SSEs) as a union of subspaces. For each Calpha, a set of general geometric features are considered. The algorithm first identifies the most relevant features for each SSE using a new matrix rank estimation technique and combinatorics. This is followed by grouping Calpha traces in a sliding-window so that each group represents a data point in a high-dimensional ambient space. Then, a lower dimensional subspace is matched for each SSE. When a group of unknown Calpha traces is presented, the algorithm determines a neighborhood around each Calpha and then uses two approaches to classify the Calpha. In the first approach, the Calpha is represented as a data point in the ambient space and its distance to each subspace is calculated. In the second approach, a local subspace is matched to the Calpha, and the separation of this local subspace from each SSE subspace is computed using geodesic distance on the Grassmannian manifold of the subspaces. The minimum point-to-subspace distance and minimum separation of subspaces are used to classify the Calpha. This geometric and mathematical approach has been applied a large protein dataset and generated 85% classification rate without the need to train a large machine learning system.