L'anàlisi
desenvolupat en el
nostre projecte s'ha realitzat a partir del programa motius.pl. Aquest
és un algorisme escrit en Perl que té com a funció
identificar un motiu determinat en qualsevol conjunt de
seqüències, que poden ser tant nucleotídiques com
aminoacídiques. El programa ignora els distincions
alfabètiques, és a dir, les dades poden estar tant en
majúscuels com en minúscules. Hem escrit dues versions
del programa per tal de poder-lo executar tant des de la terminal de LINUX
(motius.pl) com des de la web, a través del SERVIDOR
(motiusweb.cgi). El contingut de l'script
pot dividir-se, bàsicament, en tres parts fonamentals:
Obertura de fitxers
El programa utilitza com a variables d'entrada dos tipus de dades:
El programa verificarà que s'hagi introduït correctament les dades
i donarà un missatge d'error si hi ha cap incorrecció.
Es crearà un altre filehandle que sostingui un arxiu de sortida,
on s'hi aniran guardant ordenadament les dades obtingudes al llarg del procés.
Preparació de la matriu de seqüències
El programa crea una matriu a partir del fitxer que conté
les seqüències en FASTA. La matriu tindrà tantes
files com seqüències hi hagi a l'arxiu, i cadascuna d'elles
esdevindrà un vector. Hi haurà dues columnes, de forma
que a la primera (primera posició de cada vector) s'hi
registra l'identificador i la descripció, i a la segona s'hi
posa la seqüència linealitzada.
Algorisme pel match
A continuació es
processa la informació recollida fins el moment. El programa recorre
les seqüències contingudes en la segona columna de la matriu a
través de dues composicions iteratives, per tal de trobar
coincidències amb el patró (match). Per a cada match
trobat es registra al fitxer de sortida la següent
informació:
Identificador i descripció de seqüència -
seqüència del motiu trobat - posició inicial -
posició final - longitud total de la seqüència
Addicionalment, en el fitxer de sortida s'adjunta el nombre total de
motius trobats i el nombre de proteïnes que contenen un o
més match. Aquest fitxer es mostrarà en pantalla en la
versió motiusweb.cgi, i s'emmagatzemarà en el fitxer
outfile.txt en la versió per LINUX.