Requirements: 1) Various inputs - sequence, alignment, use alignment on first step only and feed it to psi blast or build a profile immediately. 2) Run standalone - on the cluster - in parallel - as a part of web services 3) Provide low-memory option 4) Various log levels 5) Configuration is externalised