Para este objetivo utilizamos la bases de datos Ensembl (www.ensembl.org). En primer lugar seleccionamos data mining [Biomart] para acceder al proteoma de Takifugu rubripes (Fugu).
Para la búsqueda de los ortólogos en la sección Output:
Tras realizar estas operaciones obtenemos una lista con los identificadores de todas las proteínas de Fugu y los de las proteínas ortólogas encontradas en Zebrafish. Encontramos esta lista en el fichero proteinas.txt
El siguiente paso es obtener la lista de las proteínas ortólogas en ambas especies.
Para ello utilizamos la siguiente comanda de UNIX:
egrep ENSDARP proteinas.txt | sort | uniq –w21 > ortologos_fugu_zebra.txt
Hicimos un word count “wc ortologos_fugu_zebra.txt”para saber cuantas proteínas ortólogas tenían estas especies y el resultado fue: 12 808.
2) Clasificación de las proteínas de Fugu con ortólogos en Zebrafish en grupos de edad
Queremos clasificar las proteínas de T.rubripes en 3 grupos de edad :
Identificaremos los del grupo 3)como aquellos para los que encontramos homólogos en almenos una de las siguientes especies:S.cerevisiae, C.elegans, D.melanogaster, A.gambiae.
Los del grupo 2) como aquellos que no sean del grupo 3) pero para los que sí encontramos homólogos en almenos una de las siguientes especies: X.tropicalis, G.gallus, M.domestica, H.sapiens, M.musculus, B.taurus.
Los del grupo 1) serán aquellos que no hemos clasificado ni como 2) ni como 3).
Para realizar esta clasificación buscaremos homólogos de las proteínas ortólogas de Fugu en diferentes especies utilizando BLASTP (E-value < 0,0001) a través de la línea de comanda.
Para realizar esta parte del trabajo necesitamos las secuencias de las proteínas que se encuentran en :
/disc8/genomes/”especies”/ensembl/ “fichero.fa”
Así, las secuencias de las proteínas codificadas por el genoma de T.rubripes se encuentran en :
/disc8/genomes/T.rubripes/ensembl/ Fugu_rubripes.FUGU4.feb.pep.fa.
Pero nos interesa tener únicamente las secuencias de aquellas proteínas que tengan homólogas en Zebrafish así que para esto hacemos:
$export PATH=$PATH:/disc8/bin
FastaToTbl /disc8/genomes/T.rubripes/ensembl/Fugu_rubripes.FUGU4.feb.pep.fa | sort | join – ortologos_fugu_zebra.fa | more > proteinasfugu2.tbl
En este paso utilizamos “FastaToTbl”; este programa transforma el formato fasta en formato table donde existen 2 columnas, una para el identificador de la secuencia
y otra que contiene la secuencia de la proteína como una línea única. Este formato nos facilita el realizar el join así como la lectura de las secuencias en el programa explicado a continuación.
Finalmente en el archivo proteinasfugu2.tbl obtenemos los identificadores con las secuencias de las proteínas de Fugu que tienen ortólogos en Zebrafish.
Una vez obtenido el fichero proteinasfugu2.tbl queremos realizar el Blast contra los proteomas de las diferentes especies, para ello debemos diseñar el script de Perl.
El Blast nos permitirá conocer para cada proteína de Fugu si tiene o no homóloga en cada una de las diferentes especies siguientes:
El criterio de selección de proteínas homólogas es el valor de e-value obtenido para cada caso y queremos que este sea inferior a 0,0001.
Para cada proteoma llamaremos al programa desde el shell de la siguiente manera: (ej: Blast de las proteínas de Fugu contra el proteoma de Anopheles gambiae)
$ ./blasteame.pl/disc8/genomes/A.gambiae/ensemble/Anopheles_gambiae.AgamP3.feb.pep.fa < proteinasfugu2.tbl > resultados_agambiae.txt
PROGRAMA blasteame.pl
Los pasos principales del programa son:
Finalmente obtenemos un fichero donde aparecen todos los identificadores de las proteínas de Fugu con la anotación de “No hay homologos” o “hay homologos” (resultados_agambiae.txt) tal que:
NEWSINFRUP00000127019 hay homologo
NEWSINFRUP00000127020 hay homologo
NEWSINFRUP00000127025 hay homologo
NEWSINFRUP00000127037 No hay homologos
NEWSINFRUP00000127039 No hay homologos
NEWSINFRUP00000127055 hay homologo
En el fichero "resultados_agambiae.txt" encontramos las 12808 proteínas ortólogas ya que es el primer Blastp que realizamos. Para optimizar nuestro tiempo decidimos que lo más provechoso sería ir descartando las proteínas de Fugu para las que ya habíamos encontrado homologías con Anopheles gambiae. Ya se podían clasificar como proteínas eucariotas ya que A.gambiae se considera un organismo eucariota en esta clasificación, no llega al estatus de vertebrado. Así no volveremos a utilizarlas en los próximos Blastp. De esta manera reducimos considerablemente el número de proteínas que teníamos que comparar y ganamos mucho tiempo.
Para descartar las proteínas que ya tenían homólogas en A.gambiae hicimos:
egrep “No hay homólogos” resultados_agambiae.txt | cut –d ‘ ‘ –f1 | sort > identificadores_fugu_nohomologos.txt
Obtuvimos un fichero donde teníamos una lista con los identificadores homólogos.
Aquí hicimos un word count y obtuvimos un resultado para el fichero identificadores_fugu_nohomologos.txt de 2272 proteínas! Reducimos el tamaño del archivo 5,6 veces por lo que tardamos mucho menos en hacer el siguiente blastp.
Para poder realizar el siguiente blastp necesitábamos un archivo con los identificadores y las secuencias así que hicimos:
join identificadores_fugu_nohomologos.txt proteinasfugu2.tbl > proteinas_fugu_nohomologas.tbl
Con este fichero que contenía los identificadores y sus respectivas secuencias volvimos a hacer un blastp con el programa blasteame.pl contra el siguiente proteoma del organismo considerado como eucariota : C.elegans.
perl blasteame.pl/disc8/genomes/C.elegans/ensembl/Caenorhabitis_elegans.CEL150.feb.pep.fa < proteinas_fugu_nohomologas.tbl > resultados_proteinas_fugu_nohomologas.txt
Repetimos todo este procedimiento siguiendo este orden:
Finalmente para agrupar en los ficheros de clasificación por grupos (eucariota, vertebrado, teleostomos) los diferentes resultados obtenidos hicimos:
De todos los diferentes ficheros “resultados_proteinas_fugu_nohomologos.txt” obtenidos de los blastp hicimos:
sort –k2 resultados_proteinas_fugu_nohomologas.txt | uniq > resultados_ordenados.txt
Tenemos que hacer esto porque si hiciéramos un egrep de “hay homologos” nos reconocería estas palabras en la frase “No hay homologos” y por lo tanto obtendríamos resultados erróneos.
Este fichero "resultados_ordenados.txt" está ordenado en función de la segunda columna donde tenemos escrito “hay homologos o no hay homologos”. De esta manera tenemos todas las proteínas homólogas y no homólogas agrupadas y podemos seleccionar todos los identificadores que tienen homólogos y pegarlos en un nuevo fichero “eucariotas.txt” . Vamos añadiendo las proteínas homólogas de cada resultado obtenido tras correr Blastp contra los organismos eucariotas. Tras ordenar mediante un “sort” obtenemos finalmente el fichero eucariotas.txt con todas las proteínas de Fugu que se consideran eucariotas.
Para las proteínas clasificadas en el grupo de los vertebrados seguimos el mismo procedimiento pero con las diferentes especies de vertebrados y creamos el fichero vertebrados.txt
Para obtener el fichero de las proteínas de Fugu que sólo encontramos en Fugu y Zebrafish (grupo Teleostomos) juntamos los archivos de eucariotas y vertebrados en un fichero “eucariotas_vertebrados.txt” . Entonces hicimos :
diff eucariotas_vertebrados.txt resultados_agambiae.txt > teleostomos.txt
Esta comanda muestra las diferencias entre un archivo y otro, es decir que en nuestro caso nos mostrará las proteínas que no aparecen en "eucariotas_vertebrados.txt" y sí aparecen en "resultados_agambiae.txt" que contiene las 12808 proteínas de Fugu ortólogas iniciales. El fichero final donde hemos clasificado las proteínas que sólo encontramos en Fugu y Zebrafish se llama : teleostomos.txt.
Paso 3) Alineamiento de pares de ortólogos Fugu-Zebrafish
Para cada par de ortólogos Fugu-Zebrafish hicimos un alineamiento con ClustalW y calculamos el porcentaje de identidad y similaridad en cada caso.
Para eso necesitamos escribir un programa en Perl : clustalw.pl
Los archivos necesarios son:
Este último fichero lo hicimos para no tener que recurrir a todo el proteoma de zebrafish en busca de las proteínas que ibamos a necesitar en el ClustalW y así el programa se efectuaría con más rapidez.
Lo creamos de la misma manera que para proteinas_fugu2.tbl:
FastaToTbl /disc8/genomes/D.rerio/ensembl/ Danio_rerio.ZFISH5.feb.pep.fa| sort | join – ortologos_fugu_zebra.fa | more > proteinas_zebra.tbl
PROGRAMA clustalw.pl
El programa consta principalmente de 3 partes:
NEWSINFRUP00000172783
MDASRVQPIKLARVTKVLGRTGSQGQCTQVRVDFMDDSSRSIIRNVKGPVREGDVLTLLESEREARRLR
ENSDARP00000052062
MDASRVQPIKLARVTKVLGRTGSQGQCTQVRVEFMDDSNRSIIRNVKGPVREGDVLTLLESEREARRLR
`/disc8/bin/clustalw1.8/clustalw ficherosalida.fa`;
con esto se realiza el alineamiento de las 2 secuencias ortólogas.
Mediante expresiones regulares que encuentren [*] y [*.:] y calculando la longitud de las secuencias obtendremos finalmente la identidad y la similaridad que existe entre ambas proteínas ortólogas.
El resultado final del programa se direcciona a un fichero denominado resultados.txt que contendrá 4 columnas tabuladas que corresponden a: Identificador de Fugu , Identificador de Zebrafish, Identidad, Similaridad.
4) Relación entre el grado de conservación (Fugu-Zebrafish) y el grupo de edad de la proteína.
Para determinar si existe alguna relación entre la antigüedad de los genes y su tasa de conservación (identidad y similaridad) utilizamos el paquete estadístico R:
$ export PATH=PATH:/disc8/soft/R/bin
$R
Nos permitió obtener: (ver el apartado Resultados para más detalles)