Sequential and parallel implementation of a constraint-based algorithm for searching protein structures