An algorithm for solving protein sequence alignment which aims to find optimum matching between two amino acid sequences