private List <Antibody> Mutation(List <Antibody> antibodies) { foreach (var antibody in antibodies) { var rate = _distance.CalculateMutationRate(antibody.Affinity, antibody.Length); var mutateAmount = (int)(antibody.Length * rate); var sequenceIndex = Constants.Random.Next(0, antibody.Length); var sequence = antibody.Sequence; for (int j = 0; j < mutateAmount; j++) { var nucleotideOrAminoacid = GenerateSequences(); sequence[sequenceIndex] = nucleotideOrAminoacid; antibody.Sequence = sequence; sequenceIndex = Constants.Random.Next(0, antibody.Length); } } return(antibodies); }