Sto cercando un algoritmo veloce per scopi di ricerca in una stringa enorme (si tratta di una sequenza di genomi di organismi composta da centinaia di milioni a miliardi di caratteri).Algoritmo aiuto! Algoritmo veloce nella ricerca di una stringa con il suo partner
Ci sono solo 4 caratteri {A, C, G, T} presenti in questa stringa, e "A" può solo accoppiarsi con "T" mentre "C" fa coppia con "G".
Ora sto cercando due sottostringhe (con limite di lunghezza sia della sottostringa tra {minLen, maxLen}, sia della lunghezza dell'intervallo tra {intervalMinLen, intervalMaxLen}) che possono accoppiarsi l'un l'altro in modo antiparallelo.
Ad esempio, La stringa è: ATCAG GACCA TACGC CTGAT
Vincoli: minLen = 4, MAXLEN = 5, intervalMinLen = 9, intervalMaxLen = 10
Il risultato dovrebbe essere
pair "ATCAG" con "CTGAT"
coppia "TCAG" con "CTGA"
Grazie in anticipo.
Aggiornamento: ho già il metodo per determinare se due stringhe possono accoppiarsi l'una con l'altra. L'unica preoccupazione è fare una ricerca esauriente richiede molto tempo.
Sembra un lavoro per Regex (System.Text.RegularExpressions.Regex). Questo non è compito per caso, vero? –
No, non è hw – Mavershang
Quali sono i valori tipici per minLen, maxLen, intervalMinLen e intervalMaxLen? – ElKamina