Dire che ho una lista di 50 sequenze di DNA tutte della stessa lunghezza (6, 8 o 16 bps / caratteri).
Voglio raggrupparli in serie di dire 5 o 6 sequenze per set. Ho alcuni criteri che devono essere soddisfatti in base alla sequenza:
1) Devono esserci almeno tre disallineamenti (caratteri diversi),
ACGTAC
ACTTAT
ha 2 disallineamenti - posizioni 3 e 6, quindi non soddisferebbe i criteri
2) se diciamo che A e C sono rossi C e T sono verdi (i colori laser sulle macchine di sequenziamento), allora dobbiamo avere un laser verde e rosso in ogni posizione.
ACACTG
AATGAC
CCATGC
è equivalente a (r è ROSSO, g è verde)
RRRRGG
RRGGRR
RRRGGG
Quindi le ultime quattro posizioni corrispondono ai criteri (abbiamo un rosso e un verde in ogni posizione), ma le prime due posizioni sono tutte rosse, quindi questo set non soddisfa i criteri.
Ho provato a forzare bruto questo, e funziona, ma dopo che la dimensione impostata diventa abbastanza grande, il numero di combinazioni necessarie per il controllo diventa enorme. Quindi questo sarebbe un compito adatto per alcuni algoritmi di "machine learning". Esiste un tipo di algoritmo / processo che dovrei guardare in particolare?
(Ho appena iniziato un corso di Coursera, ma i problemi discussi in questo momento sono la regressione lineare, che sembra essere una diversa classe di problemi).