Materials i mètodes

Obtenció del genoma problema

El genoma de Colobus Angolensis es va obtenir d'una base dades creada pels professors de l'assignatura. El genoma es troba al següent directori:

/cursos/BI/genomes/2015/Colobus_angolensis_palliatus/genome.fa

Aquest directori conté el genoma però s'ha d'indexar, és a dir, cal separar el genoma en segments i ordenar-lo en scaffolds. La següent comanda indexa el genoma i el guarda amb el nom de genome.index:

$ fastaindex /cursos/BI/genomes/2015/Colobus_angolensis_palliatus/genome.fa genome.index



Obtenció de la QUERY

En primer lloc, s’han seleccionat aquelles selenoproteïnes i proteïnes de la maquinària de síntesi de les mateixes que volem comparar amb el genoma de Colobus Angolensis. S’han escollit les proteïnes d’Homo sapiens presents a SelenoDB que es tracta d’una base de dades que forma part d’un projecte col·laboratiu de llarg termini. Proporciona un marc fiable (base de dades i interfície) per al recull de les anotacions, tant experimentals com computacionals, d’alta qualitat de selenoproteïnes individuals i selenoproteomes.

El genoma d’Homo sappiens és el genoma proper el de Colobus més acurat en la base de dades i, és per això, que l’hem utilitzat per a estudiar les selenoproteïnes del nostre genoma d’interès.





BLAST

El Basic Local Alignment Search Tool (BLAST) és una eina que ens permet comparar seqüències biològiques, com ara aminoàcids o DNA. Es tracta d'un algoritme que troba similituds entre dues seqüències, realitzant de forma heurística alineaments locals entre les seqüències donades. S'ha de tenir en compte que el fet d'utilitzar un algoritme heurístic pot comportar la pèrdua de hits reals que no presenten una similitud molt elevada.
Dels diferents tipus de BLAST, es va usar el tblastn, el qual permet comparar una query amb una seqüència de nucleòtids o una base de dades de nucleòtids (genome.index). El resultat del tblastn donarà els alineaments possibles de la query i el genoma. Amb cada alineament apareixerà un hit amb la seva E-value i el seu score. Quan més gran sigui l'score i més petit l'E-value, hi haurà menys possibilitats de que l'alineament s'hagi donat per atzar.

Cal remarcar que es van descartar els hits (high-scoring segment pairs -HSPs-) amb un E-value major a 10-3. En cas de tenir múltiples hits amb bons E-values, es va triar el que tenia el millor E-value, i es va comprovar si els altres hits podien pertànyer a alguna de les altres proteïnes analitzades.

Per executar la cerca amb tBLASTn d'una query contra una base de dades es va utilitzar la comanda següent:


$ blastall -a 4 -p tblastn -e 1e-3 -m9 -i ./queries/" +seqid+ ".fa -d /cursos/BI/genomes/2015/Colobus_angolensis_palliatus/genome.fa -o ./blastall/coord" + seqid + ".blast

  • · -a fa referència al nuclis que fa servir l'ordinador.
  • · -e fa referència al filtre que fem servir per l'E-value.
  • · -m9 fa referència a les columnes.
  • · -p fa referència al tipus de blast.
  • · -i és el fitxer on es troba la query
  • · -d és el fitxer que conté el genoma
  • · -o es el nom que se li dóna al fitxer on guardem la informació del blast .

  • Una vegada obtingut aquest fitxer, s'escullen els hits amb la millor E-value i amb el millor score.





Selecció de l'Scaffold

Quan es selecciona el hit, s'escull l'Scaffold on es troba l'alineament i s'emmagatzema a un nou fitxer, mitjançant el programa fastafetch i la comanda següent:

$ fastafetch /cursos/BI/genomes/2015/Colobus_angolensis_palliatus/genome.fa /cursos/BI/genomes/2015/Colobus_angolensis_palliatus/genome.index " +x+ "> ./fastafetch/"+seqid+"/contig" + x + ".fa

A la comanda s'indica la ubicació del nostre genoma, el fitxer on es troba el genoma indexat i l'scaffold escollit (identificardor). El seleccionat es guarda al fitxer contigx.fa





Selecció del HIT

Dins de l'scaffold que se selecciona, es delimita la ubicació per tal d'obtenir una regió més acotada que envolti el gen que es busca. D'aquesta manera s'obté una seqüència més curta, amb la qual serà més fàcil treballar. Cal tenir en compte que l'alineament no és perfecte, i que és possible que part del gen no es trobi en la regió alineada amb la proteïna. Per aquest motiu, és molt important agafar posicions del hit upstream i downstream. D'aquesta manera, ens assegurem que el gen d'interés es trobi a l'interior de la regió delimitada La mida de l'expansió que es va realitzar va ser diferent en cada cas, depenent de la longitud i de les propietats de la query. El programa utilitzat per acotar la regió és el fastasubseq:


$ fastasubseq ./fastafetch/"+seqid+"/contig" + str(x) + ".fa " +start+ " "+length+ " > ./fastasubseq/"+seqid+"/subseqcontig" + str(x) + ".fa

A la comanda del programa fastasubseq s'introdueix l'scaffold seleccionat , la posició per on volem que comenci la nostra regió (start) i la longitud que tindrà la regió (length). La regió seleccionada es guardarà en un fitxer.





Predicció dels exons

Els softwares Exonerate i Genwise proporcionen un alineament i una descripció detallada del gen, indicant les regions de splicing, exons i introns, entre altres.



Exonerate


L’Exonerate és un programa que prediu la presència de gens en una seqüència. Permet obtenir un bon alineament i predicció acurada de la composició exònica de la regió. Per aquest motiu, s’alinea la seqüència extreta amb el fastasubseq amb la seqüència de DNA de la query inicial seguint la comanda següents:

$ exonerate -m p2g --showtargetgff -q ./canvi_ux/" +seqid+ ".fa -t ./fastasubseq/"+seqid+"/subseqcontig" + str(x) + ".fa --exhaustive | egrep -w exon > ./exonerate/"+seqid+"/conpred" + str(x) + ".gff

On

  • · -m p2g indica el model d'alineament, protein to genome, és a dir, la query contra el genoma.
  • · -showtargetgff emmagatzema el resultat en format GFF al fitxer de sortida,
  • · -q indica on es troba el fitxer amb la query
  • · -t indica la subseqüència obtinguda anteriorment amb el programa fastasubseq.
  • · --exhaustive per tal d'assegurar-nos que agafem tots els exons

Per tal de seleccionar nomès els exons s'utilitza la comanda egrep. Aquesta comanda selecciona les línies on aparegui el patró introduït dins -w. En aquest cas el patró serà l'exó. Finalment en el fitxer de sortida tindrem les regions exòniques en format gff.





FastaseqfromGFF


El programa fastaseqfromGFF.pl extraurà la seqüència exònica en format fasta. Per utilitzar el programa, posem la següent comanda:


$ fastaseqfromGFF.pl ./fastafetch/"+seqid+"/contig" + x + ".fa ./exonerate/"+seqid+"/conpred" + str(x) + ".gff > ./GFF/"+seqid+"/conpred" + str(x) + ".nuc.fa

On

  • · -contig" + x + ".fa és la subseqüència extreta anteriorment
  • · -conpred" + str(x) + ".gff és l'arxiu en format gff contenint només els exons
  • · -conpred" + str(x) + ".nuc.fa és el fitxer de sortida que contindrà, en format fasta, la seqüència del cDNA.




Fastatranslate


A continuació amb el programa fastatranslate fem la traducció del cDNA a proteïna. Per tant, passarem de tenir una seqüència de nucleòtids a tenir una de aminoàcids.


$ fastatranslate -F 1 ./GFF/"+seqid+"/conpred" + str(x) + ".nuc.fa > ./fastatranslate/"+seqid+"/conpred" + str(x) + ".aa.fa

L'arxiu de sortida conté tots els marcs de lectura possibles per la seqüència en format multifasta. L'arxiu conté sis seqüències fasta, que corresponen a les sis pautes de lectura possibles (tres forward i tres reverse) de les quals s'ha de seleccionar el marc de lectura que correspongui. Per això es pot afegir l'ordre -F seguit pel nombre de nucleòtids pel que volem que comenci la lectura. En aquest cas la lectura començarà des del primer nucleòtid.





Genewise


El programa Genewise permet fer una altra predicció de l'anotació del gen. Es tracta d'un programa alternatiu a l'exonerate, que fa un alineament més precís per predir la seqüència exònica des d'una seqüència nucleotídica. La comanda per executar el programa, és la següent:

$ genewise -pep -pretty -cdna -gff ./queries/" +seqid+ ".fa ./fastasubseq/"+seqid+"/subseqcontig" + str(x) + ".fa > ./genewise/"+seqid+"/genewisepred" + str(x) + ".txt
$ genewise -pep -pretty -cdna -gff -trev ./queries/" +seqid+ ".fa ./fastasubseq/"+seqid+"/subseqcontig" + str(x) + ".fa > ./genewise/"+seqid+"/genewisepredrev" + str(x) + ".txt

On

  • · -pep fa que el fitxer de sortida mostri la seqüència peptídica predita
  • · -pretty diu que mostri l'alineament
  • · -cdna que mostri la seqüència genòmica alineada
  • · -gff que mostri la informació en format gff
  • · -trev per tal que realitzi la predicció en el sentit reverse.





T-Coffe


Finalment, per tal d'alinear la seqüència proteica obtinguda a partir de la regió genòmica seleccionada amb la query inicial, s'ha de fer servir el programa t_coffee mitjançant la comanda següent:


$ t_coffee ./canvi_ux/" +seqid+ ".fa ./fastatranslate/"+seqid+"/conpred" + str(x) + ".aa.fa > ./t_coffee/"+seqid+"/t_coffeepred" + str(x) + ".txt

Com a resultat s'obté l'alineament, i es pot veure si els residus d'aminoàcids de la proteïna inicial i la predita es corresponen mitjançant la observació de las diferències i les similituds de les dues seqüències.





Predicció d'elements SECIS

Per a finalitzar, s’han de predir els possibles elements SECIS que poden contenir aquestes proteïnes al seu extrem 3’ downstream. Per fer-ho cal utilitzar el programa Seblastian que es troba disponible online. Aquest programa utilitza en primer lloc, l’eina SECISearch3 per trobar tots els elements SECIS potencials predits en una seqüència diana mitjançant el reconeixement de patrons. Aleshores, examina totes les seqüències upstream d’aquests candidats per esbrinar si conserven l’estructura de selenoproteïna. Per a que el programa pugui fer la seva funció cal introduir el fitxer de sortida obtingut a partir del fastasubseq..





AUTOMATITZACIÓ del procès

Per tal d’agilitzar el procés de cerca de selenoproteïnes en el genoma de Colobus Angiolensis s’ha realitzat el següent programa en llenguatge Python. Quan el programa s’executa, analitza si la query donada es troba en el genoma d’interès o no.

Per a que funcioni correctament, cal que exportar els PATH que es troben en el següent bash, el qual s'ha de cridar amb la següent ordre en el shell:

$ source "nom del programa"(exports.sh)

Per tal de executar el programa, s'ha de cridar amb aquesta ordre:

$ python "nom del programa"(seleno.py)