Para buscar cualquier motivo repetido dentro de un conjunto de secuencias ideamos un programa utilizando el lenguaje de programación PERL. El programa funciona introduciendo dos tipos de información:
-un archivo con una o mas secuencias en las que queremos encontrar los motivos (la secuencia debe estar encabezada por un título que comience por ">")
-una expresión regular (en lenguaje de programación PERL) que defina el motivo que queremos encontrar. Ej: la expresión regular (C\w{2,4}C\w{3}[LIVMFYWC]\w{8}H\w{3,5}H) serviría para identificar los motivos de unión Zinc-Finger.
Dentro del archivo introducido, nuestro programa identificará el símbolo ">" como el título de cada secuencia, hecho que aprovechamos para analizar de forma individual cada secuencia en caso de que el archivo contenga varias.
El programa lee el archivo introducido buscando la expresión regular que le hayamos indicado y nos da un fichero de salida (output.txt) que reproduce el siguiente esquema:
número de secuencias introducidas con el motivo
número total de secuencias introducidas
Ejemplo:
>sp|P39413|AEF1_DROME Adult enhancer factor 1 (AEF-1) - Drosophila melanogaster (Fruit fly). CTVCDRRFRQLSTLTNHVKIH 185 206 308
>sp|P39413|AEF1_DROME Adult enhancer factor 1 (AEF-1) - Drosophila melanogaster (Fruit fly). CNVCDKTFRQSSTLTNHLKIH 213 234 308
>sp|P39413|AEF1_DROME Adult enhancer factor 1 (AEF-1) - Drosophila melanogaster (Fruit fly). CNFCPKHFRQLSTLANHVKIH 241 262 308
>sp|P39413|AEF1_DROME Adult enhancer factor 1 (AEF-1) - Drosophila melanogaster (Fruit fly). CVICKKQFRQSSTLNNHIKIH 269 290 308
>sp|Q9UKT9|AIOL_HUMAN Zinc finger protein Aiolos - Homo sapiens (Human). CDVCGLSCISFNVLMVHKRSH 119 140 509
A partir de este output usando la comanda "cut - f 3 output.txt" conseguimos aislar las posiciones de inicio de los motivos encontrados, y usando el programa de tratamiento estadistico R realizamos los histogramas mostrados en el apartado de resultados
Por ultimo adaptamos el programa para poder utilizarlo deste internet a modo de servidor
descarga gratuita del código del programa
Archivos utilizados y versiones reducidas
hs_cod.fasta - fragmentohs_EPD.fasta
hs_EPD.fasta - fragmentohs_EPD.fasta
columna 1: nombre de la secuencia
columna 2: motivo encontrado
columna 3: posición de la secuencia en que aparece el inicio del motivo
columna 4: posición de la secuencia en que aparece el final del motivo
columna 5: longitud total de la secuencia