Genòmica- Tema 3 (2014)

Apunte Catalán
Universidad Universidad Autónoma de Barcelona (UAB)
Grado Genética - 3º curso
Asignatura Bioinformática
Año del apunte 2014
Páginas 4
Fecha de subida 18/02/2015
Descargas 2
Subido por

Vista previa del texto

BI- Tema 3 TEMA  3:  Programació  de  scripts  per   l’automatització  de  tasques  bioinformàtiques   LA  INTEGRACIÓ  DE  LES  DADES   Un anàlisi bioinformàtic estàndard seria el següent: 1. Partim d’unes dades i les extraiem i guardem via internet (en noves bases de dades) 2. Analitzem les dades i fem un emmagatzematge reiterat (dels posteriors anàlisis) 3. Consulta i visualització de les dades , el més fàcil és mitjançant una interfície El més important és utilitzar diferents programes que automatitzin aquest procés.
AUTOMATITZACIO  DE  LES  TASQUES  BIOINFORMÀTIQUES   En general els kits que ens permeten fer l’anàlisi bioinformàtic estan fets per Linux.
Una vegada extreta la informació, podríem guardar-la a través de MySQL (un dels gestors més utilitzats). Un altre gestor d’informació podria ser el llenguatge Perl.
Si volem tenir un servidor on oferim tota la informació, necessitarem tenir instal·lat Apache, que s’encarrega de crear un servidor i compartir la informació.
El servidor bàsic es sol definir com LAMP (Linux- Apache- MySQL – Perl).
Perspectives  de  la  bioinformàtica   • • La bioinformàtica actualment és una ciència clau i protagonista en la tasca de donar sentit a moltes dades biològiques (el que està creixent vertiginosament) En la majoria de programes de formació dels biocientífics no s’adquireixen les capacitats bioinformàtiques requerides.
LA  INTEGRACIÓ  DE  LES  DADES   Hi ha dues formes d’integrar les dades: - Manual: fer tot el procés manualment. Això es pot fer si tenim poques dades.
  1   BI- Tema 3 - Automatitzat: crear aplicacions o scripts amb un llenguatge apropiat que automatitzi tant l’extracció de la informació com el tractament posterior de les dades. Aquest mètode és útil quan tenim moltes dades.
La capacitat de fer tasques bioinformàtiques bàsiques avui en dia es imprescindible i el gran repte actual del biocientífic es ser capaç de la gestió àgil i naturalment aquesta informació.
Com  obtenir  informació  automàticament  a  través  d’internet?   Hi ha vàries maneres, a través de: - Web Services: programes que ens ofereixen servidors (via internet) i que ens permeten fer una determinada acció.
o Al NCBI hi ha 8 programes que proporcionen una interfície estable a l’entrez query i la base de dades del NCBI.
o EBI: els web services son més complexes pel que fa al seu programari.
Els Web Services no nomes ens deixen descarregar informació sinó també analitzar-la.
(per exemple, podem fer un Blast de forma automàtica, sense haver d’anar a la pàgina del Blast).
En el cas del EBI no utilitzem cap pàgina web, sinó diferents programes que fan coses diverses.
Els Web Services de l’EBI també ens poden permetre fer alineaments, cerca de seqüències per similitud, anàlisi de proteïnes, de filogènies, alineament de seqüències a parells.
- Perl: ens ofereix mòduls amb els que ens podem descarregar informació: un d’aquests és el mòdul LWP::Simple.
En el programari accediré al mòdul amb use, a continuació li passaré la url d’on descarregar la informació. La funció get es connecta a la url que li he donat i extreu el codi font.
# Necessitem el mòdul LWP::Simple use LWP::Simple; # Definim la web que ens interesa my $url = 'http://www.paginadinteres.com'; # Amb la funció ‘get’ obtenim el CODI FONT de la pàgina my $content = get $url; die "Couldn't get $url" unless defined $content;   2   BI- Tema 3 El codi font està en HTML.
Si descarreguem la informació d’una pàgina amb un format molt estàndard no passa res perquè el programa l’entendrà, però si canvia una mica, el programa ha de canviar. Es per això que ja ens ofereixen programes que serveixen per descarregar la informació sense tenir en compte el format.
El següent codi mostra com descarregar informació, en aquest cas, de la base de dades nucleotide del NCBI. A més, també li diem que ens torni la informació en format FASTA i en TEXT.
#Exemple per obtenir seqüències de GenBank en format FASTA # Podem utilitzar l’Accession Number de GenBank o el GI use LWP::Simple; my $AccNumber = ''; my $url = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleo tide&id='. $AccNumber .'&rettype=fasta&retmode=text'; my $content = get $url;die "Couldn't get $url" unless defined $content; Al NCBI si volem fer diverses consultes, hem d’esperar entre consulta i consulta, sinó l’IP es bloqueja.
Bioperl: és un altre mòdul que permet descarregar informació; els mòduls que ens ofereix són Bio::DB, que es connecten a una base de dades i permeten descarregar informació. Les variables en BioDB son mes complexes, contenen més d’un element, són objectes.
o Bio::DB::GenBank ens permet descarregar informació de Genbank.
§ New: hem creat un objecte § Get_seq_by_acc, accedir a la seqüencia per l’ID. Llavors guardarem la informació que anem obtenint a $seq.
§ En les dos ultimes línies xreem un objecte nou amb un altre objecte i crearem un objecte que és un arxiu en format GenBank. Llavors guardo la informació en un nou arxiu.
§ Obro un arxiu que es diu J00522.gb i li especifico que el format es Genbank. Llavors crido a la funció write_seq i li passo la informació que he guardat a $seq al objecte $outgb #!/usr/bin/perl #bioperl-genbank.pl use Bio::DB::GenBank; #Creamos el objeto Bio::DB $gb = Bio::DB::GenBank->new; #accedemos a Genbank por accession (o id, version, gi,...) $seq = $gb->get_Seq_by_acc('J00522');   3   BI- Tema 3 #definir archivo de salida $outgb = Bio::SeqIO->new( -file=> ">J00522.gb" , -format => 'Genbank'); $outgb->write_seq($seq); Podem utilitzar diferents mòduls per fer una consulta.
o Bio::DB::Quey::Genbank és un mòdul que ens retorna tots els ID d’un organisme + gen...
§ Primer li passem la query, que es l’espècie i el gen.
§ Al objecte $query_obj li passo la base de dades on farem la consulta.
Aquest objecte tindrà la query emmagatzemada per poder fer la cerca § A la funció get_Stream_by_query se li passa la query i tota la informació se’ns guarda a $strem_obj , al mateix temps, com que hi ha un bucle, ens guarda cada seqüencia a %seq_obj.
§ Al objecte seqüencia li podem aplicar una funció que ens torni la longitud, els ID...
#!/usr/bin/perl#bioperl-genbank.pluse Bio::DB::Query::GenBank;use Bio::DB::GenBank; #Creamos el objeto Bio::DBmy $query = 'Arabidopsis[ORGN] AND topoisomerase[TITL]'; my $query_obj = Bio::DB::Query::GenBank->new(-db => 'nucleotide', -query => $query); my $gb_obj = Bio::DB::GenBank->new; my $stream_obj = $gb_obj->get_Stream_by_query($query_obj); while (my $seq_obj = $stream_obj->next_seq) { # pasos a realizar con el objeto print $seq_obj->display_id, "\t", $seq_obj->length, "\n"; } o Bio::DB::SwissProt permet descarregar seqüències de SwissProt.
#!/usr/bin/perl # Consultar Uniprot con Bioperl use Bio::DB::SwissProt; #Creamos el objeto Bio::DB my $sp_obj = Bio::DB::SwissProt->new; #Recuperamos y mostramos informacion my $seq = $sp_obj->get_Seq_by_id('BOLA_HAEIN'); print $seq->id()."\n";print $seq->accession()."\n";print $seq->species>binomial()."\n"; print $seq->seq()."\n";   4   ...