Say I have a list of 50 DNA sequences all of the same length (6, 8 or 16 bps/ chars).
I want to group these to sets of say 5 or 6 sequences per set. I have some criteria that need to be met based on the sequence:
1) There has to be at least three mismatches (different characters),
ACGTAC
ACTTAT
has 2 mismatches - positions 3, and 6 , so would not meet the criteria
2) if we say A and C are red C and T are green (the laser colours on the sequencing machines), then we must have a green and red laser in each position.
ACACTG
AATGAC
CCATGC
is equivalent to (r is RED, g is green)
RRRRGG
RRGGRR
RRRGGG
So the last four positions match the criteria (we have a red and a green in each position), but the first two positions are all red, so this set would not meet the criteria.
I have tried brute forcing this, and it works, but after the set size gets big enough, the number of combinations needed to check gets huge. So would this be a suitable task for some "machine learning" algorithms. Is there a type of algorithm / process that I should be looking at in particular?
(I just started a Coursera course, but the problems being discussed just now are linear regression, which seems to be a different class of problem).