added input error tolerance and amino acids translation