/**
 * Given two sequences, returns the set of mutated sequences that have a similarity score below the given threshold.
 *
 * @param seq1 The first input sequence to be compared.
 * @param seq2 The second input sequence to be compared.
 * @param threshold The maximum similarity score between sequences to be included in the set.
 * @return Set of mutated sequences with similarity score below the threshold.
 */
fun mutateSequences(seq1: String, seq2: String, threshold: Float): Set<String> {

    val mutatedSequences = mutableSetOf<String>()

    for (i in seq1.indices) {
        for (j in seq2.indices) {
            if (seq1[i] != seq2[j]) {
                val mutatedSeq = seq1.toMutableList()
                mutatedSeq[i] = seq2[j]

                mutatedSequences.add(mutatedSeq.joinToString(""))
            }
        }
    }

    return mutatedSequences
}
/**
 * Given two sequences, returns the set of mutated sequences that have a similarity score below the given threshold.
 *
 * @param seq1 The first input sequence to be compared.
 * @param seq2 The second input sequence to be compared.
 * @param threshold The maximum similarity score between sequences to be included in the set.
 * @return Set of mutated sequences with similarity score below the threshold.
 */
fun mutateSequences(seq1: String, seq2: String, threshold: Float): Set<String> {
/**
 * Given two sequences, returns the set of mutated sequences that have a similarity score below the given threshold.
 *
 * @param seq1 The first input sequence to be compared.
 * @param seq2 The second input sequence to be compared.
 * @param threshold The maximum similarity score between sequences to be included in the set.
 * @return Set of mutated sequences with similarity score below the threshold.
 */
fun mutateSequences(seq1: String, seq2: String, threshold: Float): Set<String> {

    val mutatedSequences = mutableSetOf<String>()

    for (i in seq1.indices) {
        for (j in seq2.indices) {
            if (seq1[i] != seq2[j]) {
                val mutatedSeq = seq1.toMutableList()
                mutatedSeq[i] = seq2[j]

                mutatedSequences.add(mutatedSeq.joinToString(""))
            }
        }
    }

    return mutatedSequences
}