Materials i Mètodes

Per tal d'agilitzar el procés d'anotació del genoma, hem creat uns sèrie de programes en llenguatge bash i en llenguatge perl per a automatitzar els diferents passos descrits en l'apartat Materials i mètodes.

Automatització

Els programes que hem realitzat són els següents:

  • canvi.sh és un programa que permet canviar les U dels fitxers fasta per X.
  • auto_blast.sh és un programa que produeix alineaments de seqüències tipus tBLASTn. Permet comparar un conjunt de seqüències proteiques (querys) dins de la carpeta Llibreria contra la base de dades prèviament definida (en el nostre cas el genoma de Sarcophilus harrisii).
  • auto_extraccio.sh és un programa que permet extreure la subseqüència necessària per agilitzar el procés d'anàlisi de cada hit obtingut anteriorment.
  • auto_exonerate.sh és un programa que automatitza la predicció de gens mitjançant exonerate, així com també l'extracció de la seqüència peptídica.
  • auto_genewise.sh és un programa que automatitza la realització de la predicció de gens mitjançant el software genewise.
  • auto_tcoffee.sh és un programa que automatitza la realització de l'alineament global mitjançant el programa t-coffee, tant amb les proteïnes predites per l'exonerate com amb les predites pel genewise.
  • Secisearch.sh és un programa que automatitza la cerca d'elements SECIS en els hits obtinguts amb el tBLASTn.
  • analisi_resultats.sh és un programa que ens ha facilitat l'anàlisi inicial dels resultats, tot extraient dades dels diferents outputs obtinguts.

Canvi.sh

Aquest programa, juntament amb el programa perl canvi.pl, permet canviar les U (que és l'abreviatura per les selenocisteïnes) per X. Això ho realitzem perquè hi ha programes que no poden treballar amb U.

Aquest programa requereix:

  1. Tenir les querys dins d'una carpeta anomenada Llibreria
  2. El programa perl canvi.pl

El codi d'aquest programa és:

     

#!/bin/bash

# Programa fet pel grup 5 de 4t de biologia del curs 2012-2012 de la Universitat Pompeu Fabra

# Contacte: helena.xicoy01@estudiant.upf.edu for protein in Llibreria/*.fa; do { ./canvi.pl < $protein > temp mv temp $protein } done


Torna a dalt

Auto_blast.sh

Aquest programa permet fer tBLASTn de forma automàtica de cada proteïna que es trobi dins la carpeta Llibreria contra el genoma ubicat a: /cursos/BI/genomes/project_2013/Sarcophilus_harrisii. L'output d'aquest programa és, d'una banda, un document per cada proteïna amb els seus hits i, d'altra banda, un fitxer anomenat resultats_blast.txt creat gràcies al programa hits.pl Aquest fitxer conté els hits (ajuntant els scaffolds repetitius), l'scaffold on es troben i la posició des d'on s'haurà de començar a extreure la subseqüència.

Aquest programa requereix:

  1. Tenir les querys dins d'una carpeta anomenada Llibreria
  2. Crear una carpeta anomenada output_blast
  3. El programa perl hits.pl

El codi d'aquest programa és:

     

#!/bin/bash

# Programa fet pel grup 5 de 4t de biologia del curs 2012-2012 de la Universitat Pompeu Fabra

# Contacte: helena.xicoy01@estudiant.upf.edu

# Cal crear carpeta exonerate_output, cDNA, translations ### Això és per a detectar quines proteines hi ha a la carpeta Llibreria for proteines_fa in ./Llibreria/*; do { basename_fa=`basename $proteines_fa` proteina=${basename_fa%.fa} proteines=$proteines" $proteina" } done ### Això és per fer el blast, classificar els hits. echo "" > resultats_blast.txt for protein in $proteines; do { patroalfa=`cat ./Llibreria/$protein.fa | egrep ^"<"` patrobeta=${patroalfa#*>} echo $patrobeta > temppatro patro=`cut -f 1 -d " " temppatro` rm temppatro blastall -p tblastn -e 1e-4 -i ./Llibreria/$protein.fa -d /cursos/BI/genomes/project_2013/Sarcophilus_harrisii/genome.fa -o output_blast/$protein.txt -m 8 ./hits.pl $protein < ./output_blast/$protein.txt >> resultats_blast.txt } done


Torna a dalt

Auto_extraccio.sh

Aquest programa permet extreure la subseqüència desitjada, començant 50.000 nucleòtids abans de l'inici determinat pel BLAST (dada ja obtinguda amb el programa hits.pl) i ho allarga 300.000 nucleòtids.

Aquest programa requereix:

  1. Tenir els resultats del BLAST dins la carpeta hits (nosaltres hem copiat el fitxer resultats_blast.txt dins aquesta carpeta, juntament amb el programa linia.pl per tal de tenir-los per separat)
  2. Crear les carpetes: regions i subseq

El codi d'aquest programa és:

     

#!/bin/bash

# Programa fet pel grup 5 de 4t de biologia del curs 2012-2012 de la Universitat Pompeu Fabra

# Contacte: helena.xicoy01@estudiant.upf.edu

# Cal crear carpeta regions i subseq adresa="/cursos/BI/genomes/project_2013/Sarcophilus_harrisii" for proteins in hits/*.fa ; do { protein=`basename $proteins` protein=${protein%.fa} ### Per emagatzemar la regió on apareix el hit regio=`cat ./hits/$protein.fa | cut -f 2` fastafetch $adresa/genome.fa $adresa/genome.index $regio > ./regions/$regio.fa ### Aquí definim l'inici i el final del hit en la regió start=`cat ./hits/$protein.fa | cut -f 3` length="300000" ### FASTASUBSEQ : Retalla una regió al voltant del gen que volem fer servir fastasubseq ./regions/$regio.fa $start $length > ./subseq/${protein}_genomic.fa 2> error_msg.temp ### Això ens servirà per modificar variables en cas que no hi hagi prou bases en la regio o que l'inici estigui massa aprop error=`cat error_msg.temp` if [ "$error" != "" ]; then error_llarg=`cat error_msg.temp | egrep "before end"` ### Si es passa de llarg, establim la llargada perquè arribi al final if [ "$error_llarg" != "" ]; then llargada=$error_llarg llargada=${llargada##*(} llargada=${llargada%)} length=$(( $llargada - $start)) fastasubseq ./regions/$regio.fa $start $length > ./subseq/${protein}_genomic.fa fi fi } done rm *.temp


Torna a dalt

Auto_exonerate.sh

Aquest programa realitza un exonerate exhaustiu de tots els hits obtinguts mitjançant el tBLASTn i tradueix les prediccions a proteïnes.

Aquest programa requereix:

  1. Tenir tots els hits obtinguts amb el tBLASTn dins una carpeta anomenada hits (tal com hem especificat en el programa anterior)
  2. Crear les carpetes: exonerate_output, cDNA, translations
  3. El programa perl fastaseqfromGFF.pl

El codi d'aquest programa és:

     

#!/bin/bash

# Programa fet pel grup 5 de 4t de biologia del curs 2012-2012 de la Universitat Pompeu Fabra

# Contacte: helena.xicoy01@estudiant.upf.edu

# Cal crear carpeta exonerate_output, cDNA, translations ### Això és per poder triar si volem exonerate exhaustiu o no if [ "$1" = "-exhaustive" ]; then exhaustive="--exhaustive yes" fi for proteins in hits/*.fa ; do { protein=`basename $proteins` protein=${protein%.fa} prot=${protein%_*} ### EXONERATE : Predicció de gens exonerate -m p2g --showtargetgff -q ./Llibreria/$prot.fa -t ./subseq/${protein}_genomic.fa $exhaustive > ./output_exonerate/exonerate_${protein}.gff ### Per extreure el cDNA i traduir-lo a proteïnes exon=`grep -w exon ./output_exonerate/exonerate_${protein}.gff` grep -w exon ./output_exonerate/exonerate_${protein}.gff > exon.temp if [ "$exon" != "" ]; then fastaseqfromGFF.pl ./subseq/${protein}_genomic.fa exon.temp > ./cDNA/cDNA_${protein}.fa fastatranslate ./cDNA/cDNA_${protein}.fa -F 1 > ./translations/PEP_e_${protein}.fa fi } done rm *.temp


Torna a dalt

Auto_genewise.sh

Aquest programa permet obtenir unes prediccions de gens mitjançant l'ús de Genewise. L'anàlisi dels fitxers obtinguts amb aquest programa s'han analitzat manualment i s'han guardat les seqüències peptídiques dins una altra carpeta anomenada output_genewise.

Aquest programa requereix:

  1. Tenir tots els hits obtinguts amb el tBLASTn dins una carpeta anomenada hits (tal com hem especificat en el programa auto_extraccio.sh)
  2. Crear la carpeta genewise

El codi d'aquest programa és:

     

#!/bin/bash

# Programa fet pel grup 5 de 4t de biologia del curs 2012-2012 de la Universitat Pompeu Fabra

# Contacte: helena.xicoy01@estudiant.upf.edu

# Crear carpeta genewise for proteins in hits/*.fa ; do { protein=`basename $proteins` protein=${protein%.fa} prot=${protein%_*} genewise -pep -pretty -cdna -gff -both Llibreria/$prot.fa ./subseq/${protein}_genomic.fa > genewise/genewise_${protein}.txt } done


Torna a dalt

Auto_tcoffee.sh

Aquest programa permet la realització d'alineaments globals entre dues seqüències peptídiques: les nostres querys originals i les proteïnes predites per l'exonerate i/o el genewise.

Aquest programa requereix:

  1. Tenir les proteïnes predites per l'exonerate i traduïdes dins la carpeta translations
  2. Tenir les proteïnes predites pel genewise i seleccionades dins la carpeta output_genewise
  3. Crear les carpetes: t_coffee_e i t_coffee_g

El codi d'aquest programa és:

     

#!/bin/bash

# Programa fet pel grup 5 de 4t de biologia del curs 2012-2012 de la Universitat Pompeu Fabra

# Contacte: helena.xicoy01@estudiant.upf.edu

# Crear carpeta t_coffee_e (exonerate) i t_coffee_g (genewise) export PATH=/cursos/BI/bin:$PATH for file in translations/PEP_e_* ; do { name=`basename $file` name=${name%.fa} name=${name#PEP_e_} protein=${name%_*} echo $name echo $protein t_coffee ./Llibreria/$protein.fa $file > ./t_coffee_e/t_coffee_e_$name.txt 2> error.temp mv $protein.aln ./t_coffee_e/t_coffee_e_$name.aln mv $protein.html ./t_coffee_e/t_coffee_e_$name.html echo $file done } done for file in output_genewise/genewise_* ; do { name=`basename $file` name=${name%.fa} name=${name#genewise_} protein=${name%_*} echo $name echo $protein t_coffee ./Llibreria/$protein.fa $file > ./t_coffee_g/t_coffee_g_$name.txt 2> error.temp mv $protein.aln ./t_coffee_g/t_coffee_g_$name.aln mv $protein.html ./t_coffee_g/t_coffee_g_$name.html echo $file done } done rm *.temp


Torna a dalt

Seciserch.sh

Aquest programa permet l'automatització de la cerca d'elements SECIS tot utilitzant el programa SECISearch.

Aquest programa requereix:

  1. Les subseqüències extretes inicialment dins la carpeta subseq
  2. Crear la carpeta secis_search i ficar el programa a dins

El codi d'aquest programa és:

     

#!/bin/bash

# Programa fet pel grup 5 de 4t de biologia del curs 2012-2012 de la Universitat Pompeu Fabra

# Contacte: helena.xicoy01@estudiant.upf.edu

# Crear carpeta secis_search for subseqs in ../subseq/*.fa ; do { subseq=`basename $subseqs` subseq=${subseq%_genomic.fa} SECISearch.pl -H -Y -O -B -S ../subseq/$subseqs } done


Torna a dalt

Analisi_resultats.sh

Aquest programa ens ha permès extreure algunes de les dades importants dels outputs obtinguts i aconseguir un fitxer en format de taula, que hem pogut exportar a excel i manipular millor les dades. Per tal d'extreure totes les dades hem utilitzat el programa de perl analisi_resultats.pl.

Aquest programa requereix:

  1. Tenir tots els hits obtinguts amb el tBLASTn dins una carpeta anomenada hits (tal com hem especificat en el programa auto_extraccio.sh)
  2. El programa perl analisi_resultats.pl
  3. Tots els resultats obtinguts en els passos anteriors en les carpetes corresponents

El codi d'aquest programa és:

     

#!/bin/bash

# Programa fet pel grup 5 de 4t de biologia del curs 2012-2012 de la Universitat Pompeu Fabra

# Contacte: helena.xicoy01@estudiant.upf.edu for proteins in hits/*.fa; do { protein=`basename $proteins` protein=${protein%.fa} prot=${protein%_*} ./analisi_resultats.pl ./genewise/genewise_${protein}.txt ./output_exonerate/exonerate_${protein}.gff ./secis_serch/${protein}_genomic.fa.std.secis $protein >> analisi_resultats.txt } done


Torna a dalt