Equus Przewalskii


MATERIALS I MÈTODES


L'objectiu del nostre treball és identificar tant les selenoproteïnes com la maquinària necessària per la seva síntesi presents al genoma de Equus przewalskii i determinar-ne la seva localització genòmica. Hem utilitzat les selenoproteïnes trobades al genoma d'una espècie molt propera, Equus caballus, ja que aquestes estaven prou ben anotades. En cas que l'anotació de la proteïna en Equus caballus no sigui adient o que no s'obtingui un resultat convincent hem procedit a utilitzar com a referència les proteïnes d'humà, ja que l'anotació és més sòlida. A continuació descriurem pas a pas el procés necessari per dur a terme aquest objectiu. Finalment, explicarem detalladament l'automatizació realitzada per tal de poder agilitzar el procés.


Etapes del procés

Obtenció del genoma

No ha estat necessari buscar el genoma d'Equus przewalskii en alguna base de dades com Ensembl o UCSC Genome Browser ja que aquest es pot obtenir directament en la següent ruta facilitada pels professors de l'assignatura:

/cursos/BI/genomes/vertebrates/2014/Equus_przewalskii/genome.fa

D'altra banda, en aquest mateix directori trobem el genoma d'Equus przewalskii indexat, és a dir, separat en segments i organitzat en scaffolds. Aquest serà necessari en el moment de seleccionar els scaffolds d'interès, com veurem més endavant.

/cursos/BI/genomes/vertebrates/2014/Equus_przewalskii/genome.index

En cas que l'índex encara no estigués creat es podria obtenir de la següent manera:

$ fastaindex /cursos/BI/genomes/vertebrates/2014/Equus_przewalskii/genome.fa

/cursos/BI/genomes/vertebrates/2014/Equus_przewalskii/genome.index

Obtenció de les querys

Les selenoproteïnes i la maquinària necessària per sintetitzar-les s'han obtingut de la base de dades SelenoDB 2.0. Com ja ha estat esmentat, hem utilitzat les proteïnes d'una espècie molt propera a la nostra, l'Equus caballus, ja que aquestes estan prou ben anotades, fet que facilitarà la seva posterior identificació en Equus przewalskii.

Per tal de diferenciar entre les selenoproteïnes i la seva maquinària, s'ha utilitzat la informació facilitada pels professors de l'assignatura (veure enllaç) així com una base de dades més antiga (SelenoDB 1.0). En aquesta, a diferència de l'anterior, les proteïnes es troben classificades en funció de si es tracta d'una selenoproteïna, d'un homòleg amb cisteïna, d'un homòleg amb un altre aminoàcid o de la maquinària molecular de les selenoproteïnes.

Així doncs, hem creat un fitxer per cada una de les famílies de selenoproteïnes trobades en Equus caballus. Això facilitarà el seu posterior enfrontament al genoma d'Equus caballus ja que ens permetrà acurar l'anotació de les proteïnes d'una mateixa familia. Hem realitzat el mateix procediment per la maquinària. Així, cada fitxer conté una o varies seqüències fasta, fet que caldrà tenir en compte més endavant.

Aquí facilitem els fitxers en format multifasta de totes les query utilitzades de l'espècie Equus caballus per a les selenoproteïnes i la maquinària.

Exports

Per tal de poder emprar els softwares o programes necessaris pels passos següents des dels ordinadors de la facultat de Ciències de la Salut i de la Vida (FCSV) de la Universitat Pompeu Fabra (UPF), és imprescindible introduir les següents ordres en el shell:

$ export PATH=/cursos/BI/bin/ncbiblast/bin:$PATH

$ cp /cursos/BI/bin/ncbiblast/.ncbirc ~/

Aquestes dues ordres permetran utilitzar el software NCBI BLAST (del què parlarem a continuació).

$ export PATH=/cursos/BI/bin:$PATH

$ export PATH=/cursos/BI/soft/exonerate/i386/bin:$PATH

Aquestes, en canvi, serveixen per poder realitzar els diferents passos del programa Exonerate.

$ export PATH=/cursos/BI/soft/t_coffee/i386/bin:$PATH

$ export PATH=/cursos/BI/soft/genewise/i386/bin:$PATH

$ export WISECONFIGDIR=/cursos/BI/soft/genewise/i386/wise2.2.0/wisecfg/

Finalment, aquestes permeten executar els programes T-Coffee i Genewise respectivament.


Per agilitzar el procés es pot utilitzar el script exports.sh, executant-lo abans d'iniciar el procés amb la següent ordre:

$ source exports.sh

BLAST

El Basic Local Alignment Search Tool (BLAST) és un programa que ens permet comparar seqüències biològiques, ja siguin proteiques o de DNA. Es tracta d'un algoritme que troba similituds entre dues seqüències, realitzant alineaments locals de forma heurística entre aquestes. 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, en aquest cas particular ens interessa el tblastn, que permet comparar una proteïna query amb una seqüència de nucleòtids o una base de dades de nucleòtids (genome.index). El nostre objectiu és, mitjançant aquesta eina, localitzar les regions on es troben els gens d'interès que probablement codificarant per les nostres querys.

Com a resultat obtindrem els alineaments possibles de la query i el genoma. Per a cada alineament se'ns presentarà el hit, és a dir, la regió que s'alinea amb la notsra seqüència problema, amb un determinat E-value i un score. L'E-value ens indica la probabilitat d'obtenir aquell alineament únicament per atzar, de manera que, com menor sigui el valor de l'E-value, menys probabilitat hi ha que aquell alineament s'hagi produit per atzar. S'acostumen a considerar significatius valors d'E-value a partir de 10-4. Pel que fa al score en canvi, valors més grans indicaran un millor alineament. Tot i això, a l'hora d'avaluar un hit, ens basarem principalment en paràmetres estadístics com l'E-value que ens informin de la seva significança.

Per a executar el BLAST utilitzem la següent ordre des del terminal:

$ blastall -p tblastn -e 1e-3 -m 9 -i query.fa -d /cursos/BI/genomes/vertebrates/2014/Equusprzewalskii/genome.fa -o query.blast

On:

  • -p fa referència al tipus de blast.
  • -e indica el valor de E-value que posem com a llindar. El fet de treballar amb espècies tan properes permet utilitzar llindars més restrictius, per exemple, es podrien considerar només els hits amb un E-value inferior a 1e-10.
  • -m indica com s'organitzarà l'output del programa. En el nostre cas i per facilitar la seva interpretació i posterior utilització, la informació obtinguda del BLAST estarà organitzada en columnes, amb una primera línia indicant el contingut de cadascuna de les columnes.
Selecció del scaffold

El següent pas un cop realitzat el BLAST és obtenir els hits, és a dir, la regió genòmica amb la qual ha estat alineada la nostra query. Per fer-ho, però, primer és necessari tenir un arxiu amb la seqüència genòmica per cadascun dels scaffolds d'interès d'Equus przewalskii. Per obtenir aquests arxius farem servir el programa Fastafetch mitjançant la següent comanda:

$ fastafetch /cursos/BI/genomes/vertebrates/2014/Equusprzewalskii/genome.fa genome.index "identificador" > scaffold.fa

En aquest cas utilitzarem el fitxer "genome.index", on el genoma d'Equus przewalskiies troba organitzat en scaffolds, facilitant així el procés.

Selecció del hit

A continuació, l'objectiu és, com ja hem dit, extreure les regions genòmiques que probablement codifiquen per les nostres querys, i que per tant voldrem avaluar. El primer pas és doncs delimitar el hit per tal d'obtenir la regió el més acotada possible que contingui el gen d'interès. Aquest punt serveix per facilitar el procés, ja que ens evita treballar amb seqüències innecessàriament llargues.

L'output del BLAST ens indica, per cada alineament realitzat, la posició d'inici i final d'aquest, tant a nivell d'aminoàcids de la query com a nivell de nucleòtids del genoma d'Equus przewalski. 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 grandària d'aquesta expansió dependrà de la llargada del scaffold, i de les posicions de l'alineament. Agafarem un màxim de 1000 nucleòtids upstream, i 1000 nucleòtids downstream. En cas que, en restar 1000 a la posició d'inici de l'alineament (start position), el seu valor esdevingui negatiu, agafarem la primera posició del scaffold com a inici del hit (start). D'altra banda, en cas que, en sumar 1000 a la posició final de l'alineament, aquesta sigui superior a la última posició del scaffold, s'agafarà aquesta com a última posició del hit.

Per obtenir un arxiu amb el hit per cada scaffold d'interès tenint en compte aquestes consideracions, utilitzarem el programa Fastasubseq, mitjançant la següent comanda:

$ fastasubseq scaffold.fa start length > scaffold_subseq.fa

On "start" fa referència a la posició d'inici del hit, i "length" la seva llargada, obtinguda en restar la posició d'inici a la posició final d'aquest.

Predicció d'exons

T-coffee és un programa que permet realitzar alineaments entre proteïnes. Per aquest motiu, abans d'executar-lo, serà necessari obtenir la seqüència proteïca de cada un dels nostres hits. Exonerate és el programa que ens donarà la informació detallada del gen (exons, introns i regions de splicing) necessària per la posterior traducció de la seqüència de nucleòtids. El fitxer d'entrada que utilitzarem en aquest cas, enlloc de els fitxers multifasta amb totes les proteïnes de la família, seran els fitxers que continguin cada una de les proteïnes per separat.

El primer pas és doncs obtenir els exons de cada hit, gràcies a la seqüent comanda:

$ exonerate -m p2g --showtargetgff -q query.fasta -t scaffold_subseq.fa | egrep -w exon exonerate.gff' > cDNA.gff

On:

  • -m p2g indica el model d'alineament, en el nostre cas, proteïna (query) contra genoma (hit resultant del fastasubseq)
  • --showtargetgff permet obtenir el fitxer de sortida en format GFF

L'ordre "egrep" permet seleccionar els exons obtinguts en la comanda anterior i introduir-los en un nou fitxer amb format GFF.

El segon pas és aconseguir la seqüència de cDNA en format fasta a partir del genoma d'Equus przewalskii i de l'últim fitxer obtingut mitjançant la següent ordre en el terminal:

$ fastaseqfromGFF.pl scaffold.fa cDNA.gff > cDNA.fa

Predicció de pautes de lectura

El programa fastatranslate permet traduir el cDNA a una seqüència proteïca. El programa per defecte ens retorna un arxiu amb tots els marcs de lectura possibles en format multifasta. Aquest arxiu contindidrà per tant les tres seqüències corresponents a les tres pautes de lectura en sentit forward i les tres corresponents en sentit reverse.

$ fastatranslate CDNA.fa > predicted.fa

Per tal de seleccionar el marc de lectura que ens interessi podem afegir l'opcioacute; -F, que indica forward, més el número corresponent al nucleòtid on volem que s'inicii la traducció. Com que la predicció es fa a partir d'exons, es pot utilitzar la opció -F 1:

$ fastatranslate -F 1 CDNA.fa > predicted.fa

Obtenció de l'alineament
T-coffee

El T-coffee (Tree-based Consistency Objective Function for alignment Evaluation) ens permet fer un alineament global de la proteïna predita i traduïda en el fastatranslate d'Equus przewalskii amb la query d'Equus caballus. El resultat indicaragrave; l'homologia entre les dues seqüències.

$ t_coffee query.fa predicted.fa > alignment .fa

Genewise

Mitjançant el programa Genewise podem obtenir una nova anotació utilitzant un algorisme diferent al de Exonerate, de manera que ens serveix com a eina per a contrastar la informació obtinguda. Per a fer-ho utilitzarem la següent ordre, en que introduïm la query individual (enlloc de les famílies) provinent de la base de dades d'Equus caballus i la regió de nucleòtids del genoma d'Equus przewalskii obtinguda a partir de fasta subseq.

$ genewise -cdna -pep -pretty -gff -both query.fa suseq.fa > prot_genewise.fa

Predicció de SECIS

La recerca d'elements SECIS ens permet confirmar si el codó UAG es correspon a una selenocisteïna i no pas a un codó stop ja que les selenoproteïnes necessiten els elements SECIS per poder ser traduïdes. Aquesta cerca es fa a partir de la pàgina web del software SECISearch, en el qual introduirem la regió del genoma on es trobava el hit resultant del fastasubseq.

Filogènia

En els casos en que les famílies de proteïnes eren complexes d'analitzar, s'ha utilitzat el recurs online Phylogeny per a obtenir la filogènia en les espècies utilitzades. Aquest sevidor web permert recostruïr i analitzar relacions filogenètiques entre seqüències. És una eina fàcil d'utilitzar des del mode "One click", on es poden introduïr les seqüències d'interès, en aquest cas proteïques, en format multifasta. L'anàlisi inclou diversos processos: multiple alignment (MUSCLE), filogènia (PhyML) i visualització de l'arbre.





Automatització

Per tal de poder agilitzar l'obtenció de dades vam decidir crear un programa que automatitzés tot el procés. Aquest programa és capaç d'agafar tots els fitxers d'inputs i per cada un realitzar tots els passos explicats anteriorment. Requereix tenir una carpeta "Inputs" amb les seqüències de les querys per famílies en format multifasta i una carpeta "Inputs_separats" amb cada una de les querys separades que duguin com a nom l'identificador de la base de dades "SPPXXXXXXX_2.0.fasta". A més totes les U han de ser prèviament substituides per X. El programa s'ha d'executar des de la carpeta "Inputs".


El programa crea un blast simplificat (-m 9) per a cada família de proteines. A partir dels outputs de blast obtinguts es crea un fitxer "noms.txt" que contingui els noms de tots els scaffolds que es llegirà per a relitzar el fasta fetch. En aquest programa, a l'hora de realitzar el fasta subseq només es tenen en compte els hits amb un E-value menor o igual a 10e-10 i per a cada hit només es té en compte aquella query amb un menor E-value.

El fasta translate es relatiza obtenint només la pauta de lectura corresponent a l'opció -F 1. Finalment, s'obtenen els alineaments tan del T-coffe com del Genewise.


Podeu trobar el codi en el següent enllaç: codi.pl (previsualitza). Cal executar-lo des del terminal dins la carpeta "Inputs" utilitzant la comanda en bash: codi.sh.


Aquest script presenta certes limitacions. D'una banda, el plantejament inicial, en què es va considerar que tenir els inputs organitzats en famílies facilitaria la interpretació, va suposar un problema a l'hora d'executar el programa Exonerate. És per això que es va corregir de manera que, a partir dels inputs per famílies, es realitza el blast i que, en funció de la query que s'analitza, s'agafi el corresponent fitxer (aquell que tingui el mateix ID) de la carpeta "Inputs_separats".

D'altra banda, degut al fet d'assignar per a cada hit la seva millor query perdem resultats en casos que dues proteïnes de la mateixa família es trobin en un mateix scaffold. Degut a que aquestes acostumen a presentar una gran homologia entre elles, en l'output del blast obtindrem hits tant en la regió del scaffold on realment es localitza aquella proteïna com per les regions on es trobi l'altra proteïna de la famïlia. Aixó fa que el subseq es generi des d'na start position corresponent a la regió més pròxima a l'extrem 5' del scaffold i una stop position corresponent a la regió situada més pròxima al 3'. El fet d'obtenir de manera incorrecta el subseq impedeix una correcta predicció d'ambdues proteïnes.

Degut a restriccions de temps, no hem pogut corregir aquesta limitació i el que hem fet, en canvi, és que en cada cas particular en que els resultats obtinguts eren erronis o incomplets hem dut a terme el procés manualment. Tot i això, creiem aquest podría ser un bon punt a tenir en compte per a futures millores en el script.






Cluster de docència


Una opció en cas de trobar-se fora de la FCSV és utilitzar el cluster de docència proporcionat pels professors de l'assignatura, i format per dos ordinadors amb un total de 16 processadors encesos en tot moment. En aquest equipament informàtic anomenat "Luke" trobarem tots els recursos necessaris per dur a terme el treball. Per tal de poder accedir al cluster, s'ha d'introduir la següent ordre, al terminal:

$ ssh UXXXXX@luke.upf.edu (on la U representa l'identificació de cada estudiant).

En cas de voler utilitzar el luke a la FCSV per tal de poder-hi emmagatzemar el material necessari per treballar fora d'aquesta, només caldrà introduir l'anterior ordre una vegada. A partir d'aquell moment, per accedir al cluster, la següent ruta serà suficient:

/cursos/BI/bin/maphome

Cada cop que iniciem el luke, ens demanarà el nom d'usuari (la U) i la contrasenya proporcionada pels professors, que podrem canviar mitjançant l'ordre ja esmentada.

Cal tenir en compte que el cluster de docència presenta una arquitectura diferent a la dels ordinadors de la FSCV. Per tant, per poder utilitzar els diferents programes citats en les punts anteriors, caldrà introduir unes comandes lleugerament diferents a les vistes en l'apartat Exports:

$ export PATH=/cursos/BI/bin/ncbiblast/bin:$PATH

$ cp /cursos/BI/bin/ncbiblast/.ncbirc ~/

$ export PATH=/cursos/BI/bin:$PATH

$ export PATH=/cursos/BI/soft/exonerate/x86_64/bin:$PATH

$ export PATH=/cursos/BI/soft/t_coffee/x86_64/bin:$PATH

$ export PATH=/cursos/BI/soft/genewise/x86_64/bin:$PATH

$ export WISECONFIGDIR=/cursos/BI/soft/genewise/x86_64/wise2.2.0/wisecfg/