Protocol
L' objectiu del nostre treball és identificar les selenoproteïnes Tryp, J, 4 i DI (1,2,3) en el genoma de diferents protistes. El protocol del treball s'ha estructurat en diferents apartats que es corresponen amb el programari utilitzat.
Com a exemple de les comandes utilitzades mostrem un dels hits de SelTryp trobat a T. cruzi. Tots els resultats poden ser consultats en l'apartat Resultats i Discussió.
Les seqüències de SelJ, Sel4 i SelTryp les hem obtingut de l'arxiu TARBALL, mentre que DI les hem obtingut a la base de dades SelenoDB. DI és una familia de Iodothyronine deiodinases i està formada per tres membres en Homo sapiens: DI_1, DI_2 i DI_3, que són les que hem utilitzat en aquest treball.
El primer pas ha estat fer una cerca mitjançant tblastn de cadascuna de les selenoproteïnes al genoma de tots els protistes. Per tal d'automatitzar el procés hem dissenyat dos scripts.
Amb el primer, aconseguim fer el tblastn sense tabular. Dels arxius obtinguts, hem utilitzat la informació de l'alineament i l' E-value obtingut per a cadascun d'aquests alineaments.
#!/bin/bash export PATH=/cursos/BI/bin/ncbiblast/bin:$PATH cp /cursos/BI/bin/ncbiblast/.ncbirc ~/ for genome in T.pseudonana T.parva T.cruzi T.annulata P.sojae P.ramorum M.brevicollis G.intestinalis E.terrapinae E.histolytica B.bovis ; do { blastdb=`grep $genome /cursos/BI/genomes/protists/genomes_list_and_info.tab | cut -f 4` blastall -p tblastn -i SelTryp.fa -d $blastdb -o SelTryphumanCONTRA$genome.tblastn_NO_TABULADO } done
No obstant, com el que volíem era obtenir els hits amb E-value menor d'1 de manera automàtica, vam fer aquest script que es mostra a continuació, que ens genera arxius que contenen la informació tabulada.
#!/bin/bash for genome in T.pseudonana T.parva T.cruzi T.annulata P.sojae P.ramorum M.brevicollis G.intestinalis E.terrapinae E.histolytica B.bovis ; do { blastdb=`grep $genome /cursos/BI/genomes/protists/genomes_list_and_info.tab | cut -f 4` blastall -p tblastn -i SelTryp.fa -d $blastdb -o SelTryphumanCONTRA$genome.tblastn -m 9 } done
Una vegada tenim els arxius tabulats, els hem ordenat en funció del seu E-value. Les columnes de l’arxiu tabulat que hem utilitzat són les corresponents al nom de la proteïna (columna 1), a l'indicador (columna 2), al lloc d'inici del subject predit per tblastn (columna 9), al lloc de finalització del subject predit per tblastn (columna 10), i finalment la corresponent al E-value (columna 11).
Com que volíem ordenar els hits en funció del seu E-value, el que hem fet ha sigut crear un arxiu que tingués totes les columnes que hem comentat abans i un altre amb l'E-value. Posteriorment, els hem enganxat posant primer el que conté l'E-value, i els hem ordenat de manera que els que tinguessin un menor E-value quedessin a dalt. A més a més, hem fet un “egrep –v” per tal d'eliminar les línies que contenien coixinet (#). Com ja hem dit abans, hem considerat els hits que tenen un E-value menor que 1.
egrep -v "#" ./tblastn/* > evalues.txt cut -f1,2,9,10 evalues.txt > evalues_1_2_9_10.txt cut -f11 evalues.txt > evalues_11.txt paste evalues_11.txt evalues_1_2_9_10.txt > evalues_paste.txt sort -g evalues_paste.txt > evalues_sort.txt
Només hem utilitzat Fastaindex per a la cerca de selenoproteïnes als genomes d'altres anys, ja que a la carpeta dels organismes corresponents no estava l'arxiu “genome.index”, per tant, l'hem creat nosaltres amb el script que apareix a continuació.
fastaindex /cursos/BI/genomes/protists/2008/T.brucei/genome.fa Tbrucei.index
Els genomes es troben en fitxers multifasta i hem utilitzat el programa Fastafetch (que acompanya a l’Exonerate) per tal d'extreure el contig que conté el hit d'interès amb la següent comanda:
export PATH=/cursos/BI/bin/exonerate/i386/bin:$PATH fastafetch /cursos/BI/genomes/protists/2010/T.cruzi/genome.fa /cursos/BI/genomes/protists/2010/T.cruzi/genome.index "gi|70872946|gb|AAHK01001137.1|" > DNA_genomico_TcruziSELTRYP.fa
Un cop hem extret el contig, hem utilitzat el programa Fastasubseq (que acompanya a l’Exonerate) per a extreure el fragment que hem estimat que conté el nostre gen. Hem afegit unes 2kb a cada costat del hit, per assegurar-nos que agafàvem el gen d’interès.
fastasubseq ../fastafetch/DNA_genomico_TcruziSELTryp.1.fa 27619 4500 > fastasubseq_Tcruzi_SELTRYP.fa
Hem generat les anotacions dels gens que estem buscant amb Exonerate, alineant el fragment de DNA que hem extret amb Fastasubseq amb la seqüència de DNA de la proteïna inicial.
Els arxius obtinguts amb la comanda que tenim a continuació els hem anomentat “exonerate_enteros”, perquè contenen tota la informació que proporciona Exonerate.
Per altra banda, cal destacar que hem fet servir la opció - - exhaustive yes per tal de fer una cerca més acurada.
#!/bin/bash export PATH=/cursos/BI/bin/exonerate/i386/bin:$PATH export PATH=/cursos/BI/bin:$PATH for fastasubseq in fastasubseq_brevicolli_seltryp.fa fastasubseq_Gintestinalis_SelTryp.fa fastasubseq_ramorum_seltryp.fa fastasubseq_Tcruzi_selTryp.fa fastasubseq_Ehistolytica_selTryp.fa fastasubseq_PramorumSelTryp.fa fastasubseq_Tcruzi_SelTryp fastasubseq_Tcruzi_SELTRYP.fa fastasubseq_Ehistolytica_SELTRYP.fa fastasubseq_Psojae_SelTryp_genomic.fa fastasubseq_Tcruzi_SELTRYP_2.fa ; do { exonerate -m p2g --showtargetgff --exhaustive yes -q ./SelTryp.fa -t ./$fastasubseq > exonerate_entero_$fastasubseq } done
En funció dels resultats obtinguts amb l'Exonerate, hem procedit d'una manera o altra:
a) Exonerate no aconsegueix fer una anotació:
Hem finalitzat aquí la cerca d'aquesta proteïna en aquest organisme.
b) Exonerate aconsegueix fer una anotació:
− Si està incompleta, hem hagut de tornar al pas de Fastasubseq, i augmentar la mida del fragment de DNA que hem agafat per a fer l’Exonerate. Amb aquest nou arxiu Fastasubseq, hem tornat a fer l'Exonerate.
− Si està completa: continuem amb els següents passos del protocol.
De manera paral·lela a Exonerate, hem fet Genewise, per tal d’obtenir anotacions en el genoma. Aquest pas també l’hem fet de manera automatitzada. Per tal d'obtenir les anotacions de la cadena reversa hem utilitzat una opció del Genewise, que és “– trev”. A priori, hem utilitzat els dos scripts per a totes les proteïnes i més tard, hem seleccionat quins hits es trobaven en la cadena directa i quins altres en la reversa.
#!/bin/bash export PATH=/cursos/BI/bin:$PATH export WISECONFIGDIR=/cursos/BI/soft/wise-2.2.0/wisecfg for fastasubseq in fastasubseq_brevicolli_seltryp.fa fastasubseq_Gintestinalis_SelTryp.fa fastasubseq_ramorum_seltryp.fa fastasubseq_Tcruzi_selTryp.fa fastasubseq_Ehistolytica_selTryp.fa fastasubseq_PramorumSelTryp.fa fastasubseq_Tcruzi_SelTryp fastasubseq_Tcruzi_SELTRYP.fa fastasubseq_Ehistolytica_SELTRYP.fa fastasubseq_Psojae_SelTryp_genomic.fa fastasubseq_Tcruzi_SELTRYP_2.fa ; do { genewise -pep -pretty -cdna -gff SelTryp.fa $fastasubseq > genewise_$fastasubseq } done
#!/bin/bash for fastasubseq in fastasubseq_brevicolli_seltryp.fa fastasubseq_Gintestinalis_SelTryp.fa fastasubseq_ramorum_seltryp.fa fastasubseq_Tcruzi_selTryp.fa fastasubseq_Ehistolytica_selTryp.fa fastasubseq_PramorumSelTryp.fa fastasubseq_Tcruzi_SelTryp fastasubseq_Tcruzi_SELTRYP.fa fastasubseq_Ehistolytica_SELTRYP.fa fastasubseq_Psojae_SelTryp_genomic.fa fastasubseq_Tcruzi_SELTRYP_2.fa ; do { genewise -pep -pretty -cdna -gff SelTryp.fa $fastasubseq -trev > genewise_trev_$fastasubseq } done
Havíem de decidir quin programa ens donava uns millors resultats per tal de continuar el protocol amb aquests. Com que a nosaltres cap Genewise ens ha donat un resultat estadísticament significatiu, hem continuat el protocol només amb els resultats obtinguts amb l'Exonerate.
Una vegada hem decidit que utilitzarem els resultats obtinguts amb l'Exonerate, hem tornat a utilitzar el programa, però aquesta vegada amb un e-grep “exon” i un redireccionament del resultat a un arxiu que hem anomenat “exonerate_fastaseqfromGFF”. Posteriorment, hem utilitzat el programa fastaseqfromGFF.pl (realitzat per Robert Castelo) amb el fitxer GFF obtingut amb l’Exonerate per tal d’extreure la seqüència de cDNA. A continuació hem traduït el cDNA a proteïna amb el programa Fastatranslate (que acompanya a l'Exonerate). Tots aquests processos els hem automatitzat mitjançant el següent script:
#!/bin/bash for fastasubseq in fastasubseq_brevicolli_seltryp.fa fastasubseq_Gintestinalis_SelTryp.fa fastasubseq_ramorum_seltryp.fa fastasubseq_Tcruzi_selTryp.fa fastasubseq_Ehistolytica_selTryp.fa fastasubseq_PramorumSelTryp.fa fastasubseq_Tcruzi_SelTryp fastasubseq_Tcruzi_SELTRYP.fa fastasubseq_Ehistolytica_SELTRYP.fa fastasubseq_Psojae_SelTryp_genomic.fa fastasubseq_Tcruzi_SELTRYP_2.fa ; do { exonerate -m p2g --showtargetgff --exhaustive yes -q ./SelTryp.fa -t ./$fastasubseq | egrep -w exon > exonerate_selTryp$fastasubseq perl fastaseqfromGFF.pl $fastasubseq exonerate_selTryp$fastasubseq > cDNA_selTryp$fastasubseq fastatranslate cDNA_selTryp$fastasubseq > proteina_$fastasubseq } done
Els arxius que ens ha generat el Fastatranslate contenen 6 seqüències en format fasta, amb 6 pautes de lectura possibles (3 en la cadena directa i 3 en la reversa). Per tant, hem hagut de seleccionar quina és la pauta de lectura correcta en cada cas. En general, només hi ha hagut una pauta de lectura possible. Aquesta contenia com a molt un asterisc (que en general és un codó stop, però que pot ser una selenocisteïna). No obstant, hi ha hagut altres casos en els que no hem pogut decidir quina era la pauta de lectura correcta, i per això hem desat les diferents proteïnes obtingudes amb les diferents pautes de lectura possibles i hem continuat el protocol amb totes elles de manera independent.
Una vegada hem obtingut la seqüències de les proteïnes hem utilitzat el T-coffee, per tal d'alinear la proteïna obtinguda amb la proteïna inicial. D'aquesta manera podem veure si els residus d'aminoàcids de la proteïna inicial i la predita es corresponen. Aquest pas també l’hem automatitzat de la següent manera:
#!/bin/bash export PATH=/cursos/BI/bin:$PATH for fastasubseq in fastasubseq_Tcruzi_selTryp.fa fastasubseq_Tcruzi_SelTryp fastasubseq_Tcruzi_SELTRYP.fa fastasubseq_Tcruzi_SELTRYP_2.fa ; do { t_coffee SelTryp.fa proteina_$fastasubseq > tcoffee_$fastasubseq } done
Una vegada hem obtingut totes les seqüències per a una determinada selenoproteïna, hem alineat mitjançant T-Coffee de seqüències múltiples totes les seqüències d'aquesta selenoproteïna en els diferents organismes.
Per tal de visualitzar millor els alineaments realitzats amb el T-coffee hem utilitzat el Jalview.
Per a la predicció de l'element SECIS hem utilitzat el programa SECISearch.pl. Només hem cercat SECIS en els organismes en els que hem trobat selenoproteïnes.
#!/bin/bash export PATH=/cursos/BI/bin:$PATH for fastasubseq in ../fastasubseq/fastasubseq_Tcruzi_SELTRYP.fa ../fastasubseq/fastasubseq_Tcruzi_SELTRYP_2.fa ../fastasubseq/fastasubseq_Tcruzi_SelTryp_3.fa ; do { SECISearch.pl $fastasubseq > SECIS_search_$fastasubseq } done
Per tal de fer el BLASTp contra el conjunt no-redundant de totes les proteïnes disponibles a NCBI, hem introduït de manera seqüencial cadascuna de les seqüències de les proteïnes a la plana de BLASTp. Per tal de comparar la proteïna predita amb les obtingudes mitjançant el BLASTp, hem escollit 5 de les proteïnes obtingudes amb el BLASTp, hem seleccionat la seqüència d'aquestes proteïnes, i per últim, les hem alineat amb un T-coffee de seqüències múltiples i visualitzat amb el programa Jal-view.
export PATH=/cursos/BI/bin/netblast/bin:$PATH $ blastcl3 -p blastp -i proteina_fastasubseq_Tcruzi_SELTRYP_3.fa -d nr