IPW2008 Perl e Bioinformatica G.M. Dall'Olio
Cosa é la bioinformatica? <ul><li>Scienza che studia come utilizzare la grande quantità di dati prodotti dalla ricerca sci...
Bioinformatica al giorno d'oggi <ul><li>Negli ultimi anni i costi per produrre grandi quantità di dati in esperimenti scie...
Bioinformatica – casi d'uso I <ul><li>Studiare i dati prodotti dal sequenziamento del genoma umano: trovare posizione di g...
Bioinformatica – casi d'uso II <ul><li>Gestire la fase di produzione di dati, come assemblare i risultati di un esperiment...
Differenza tra programmazione di software e bioinformatica <ul><li>In bioinformatica, l'obiettivo non é creare una applica...
Esempio di esperimento bioinformatico <ul><li>Ipotesi : il genoma umano é più lungo di quello di topo. </li></ul><ul><li>A...
Esempio di esperimento bioinformatico <ul><li>Per dimostrare che il genoma umano é più lungo di quello di topo, procedo co...
Esempio di esperimento bioinformatico <ul><li>Contenuto della directory del nostro esperimento di bioinformatica: </li></u...
Perl e bioinfo <ul><li>Perl è tra i linguaggi più utilizzati in bioinformatica. </li></ul><ul><li>Viene insegnato nella ma...
Vantaggi del perl in bioinformatica <ul><li>Perl permette di lavorare facilmente su file di testo </li></ul><ul><ul><li>è ...
Svantaggi del perl in bioinformatica <ul><li>Meno facile da imparare del python </li></ul><ul><li>Meno orientato ad oggett...
Problemi della bioinformatica <ul><li>Basicamente, il problema é che molti bioinformatici programmano avendo poche basi te...
Altri problemi della bioinfo <ul><li>Mentalità 'Publish or Perish': una volta che una libreria viene pubblicata su rivista...
Esempi: BioPerl <ul><li>BioPerl é un insieme di librerie per la bioinformatica rilasciate sotto Gnu/GPL </li></ul><ul><li>...
Esempi: Ensembl APIs <ul><li>Ensembl è un progetto nato per gestire le informazioni ricavate dal sequenziamento del genoma...
Esempi:
Futuro del Perl in bioinfo <ul><li>In alcuni campi ci si sta spostando dal lavoro su file di testo all'uso di database </l...
Errori comuni in bioinformatica
Upcoming SlideShare
Loading in …5
×

(draft) perl e bioinformatica - presentazione per ipw2008

1,324 views
1,244 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,324
On SlideShare
0
From Embeds
0
Number of Embeds
68
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

(draft) perl e bioinformatica - presentazione per ipw2008

  1. 1. IPW2008 Perl e Bioinformatica G.M. Dall'Olio
  2. 2. Cosa é la bioinformatica? <ul><li>Scienza che studia come utilizzare la grande quantità di dati prodotti dalla ricerca scientifica. </li></ul><ul><li>Nata nel 1957, quando Margaret Dayhoff compila un metodo per stabilire quanto due sequenze di proteine sono simili (matrici PAM). </li></ul><ul><li>Approccio scientifico: formulazione di una ipotesi (e.g.: il genoma umano é più lungo di quello di topo), validazione, confronto. </li></ul>
  3. 3. Bioinformatica al giorno d'oggi <ul><li>Negli ultimi anni i costi per produrre grandi quantità di dati in esperimenti scientifici sono diminuiti enormemente. </li></ul><ul><li>Per esempio è possibile sequenziare un intero genoma in poco tempo. </li></ul><ul><li>I piccoli laboratori preferiscono utilizzare dati prodotti da centri più grandi e resi disponibili gratuitamente, e studiarli grazie al computer. </li></ul>
  4. 4. Bioinformatica – casi d'uso I <ul><li>Studiare i dati prodotti dal sequenziamento del genoma umano: trovare posizione di geni, confrontare con altri organismi; </li></ul><ul><li>Catalogare tutte le proteine espresse nell'uomo, clusterizzarle e trovare elementi in comune; </li></ul><ul><li>Prevedere la struttura di una proteina a partire dalla sequenza; </li></ul><ul><li>Rappresentare le reti di interazione tra proteine come grafi. </li></ul>
  5. 5. Bioinformatica – casi d'uso II <ul><li>Gestire la fase di produzione di dati, come assemblare i risultati di un esperimento e salvarli su computer; </li></ul><ul><li>Supportare la ricerca classica, con database, applicazioni web, servizi; </li></ul><ul><li>Tanto altro :) </li></ul>
  6. 6. Differenza tra programmazione di software e bioinformatica <ul><li>In bioinformatica, l'obiettivo non é creare una applicazione software da far utilizzare a terzi. </li></ul><ul><li>Piuttosto bisogna scrivere diversi piccoli programmi che permettano di eseguire calcoli e capire come assemblarli. </li></ul><ul><li>E' necessario un approccio più scientifico, facendo attenzione ai controlli e mettendo bene in chiaro quali sono le nostre ipotesi. </li></ul>
  7. 7. Esempio di esperimento bioinformatico <ul><li>Ipotesi : il genoma umano é più lungo di quello di topo. </li></ul><ul><li>Assunzioni : </li></ul><ul><ul><li>I genomi di entrambi gli organismi sono stati sequenziati con lo stesso livello di qualità; </li></ul></ul><ul><ul><li>Per ogni genoma considero la lunghezza intera della sequenza eccetto alcune parti non sequenziabili (...) </li></ul></ul><ul><ul><li>Le sequenze di riferimento sono quelle depositate nel database genbank sul server ncbi, release 41. </li></ul></ul>
  8. 8. Esempio di esperimento bioinformatico <ul><li>Per dimostrare che il genoma umano é più lungo di quello di topo, procedo così: </li></ul><ul><ul><li>Scrivo un programma che scarichi le due sequenze dal database di riferimento; </li></ul></ul><ul><ul><li>Ne scrivo un secondo che verifichi le sequenze scaricate ed elimini le parti che non voglio considerare; </li></ul></ul><ul><ul><li>Scrivo un terzo programma che calcoli la lunghezza delle due sequenze e le confronti; </li></ul></ul><ul><ul><li>Testo i vari script, e li unisco tramite Make o un tool simile. </li></ul></ul>
  9. 9. Esempio di esperimento bioinformatico <ul><li>Contenuto della directory del nostro esperimento di bioinformatica: </li></ul><ul><ul><li>getSequencesFromNCBI.pl </li></ul></ul><ul><ul><li>cleanSequences.pl </li></ul></ul><ul><ul><li>compareSequenceLength.pl </li></ul></ul><ul><ul><li>Makefile </li></ul></ul><ul><ul><li>Readme.txt </li></ul></ul>
  10. 10. Perl e bioinfo <ul><li>Perl è tra i linguaggi più utilizzati in bioinformatica. </li></ul><ul><li>Viene insegnato nella maggior parte dei corsi e master. </li></ul><ul><li>Si è diffuso quando alcuni gruppi dell'EBI (European Bioinformatics Institute) hanno cominciato a usarlo, e rilasciare codice sotto Gnu/GPL. </li></ul>
  11. 11. Vantaggi del perl in bioinformatica <ul><li>Perl permette di lavorare facilmente su file di testo </li></ul><ul><ul><li>è più pratico salvare la sequenza di un genoma in testo semplice piuttosto che su XML o un database </li></ul></ul><ul><li>Le espressioni regolari sono comode per identificare motivi e pattern su sequenze. </li></ul><ul><ul><li>e.g. trovare il punto di interazione tra due proteine e capire quanto questa sarà forte. </li></ul></ul><ul><li>Numerose librerie disponibili già su CPAN e BioPerl. </li></ul>
  12. 12. Svantaggi del perl in bioinformatica <ul><li>Meno facile da imparare del python </li></ul><ul><li>Meno orientato ad oggetti di altri linguaggi </li></ul><ul><li>Scienziati con teste molto dure </li></ul><ul><li>Usato molto male </li></ul>
  13. 13. Problemi della bioinformatica <ul><li>Basicamente, il problema é che molti bioinformatici programmano avendo poche basi teoriche </li></ul><ul><li>Si studia per 3 o 5 anni biologia, dopodiché con uno o due corsi ci si improvvisa programmatori </li></ul><ul><li>Il perl é svantaggiato in questo contesto perché é più complesso da imparare rispetto ad altri linguaggi </li></ul><ul><li>Molti usano il perl senza sapere usare funzioni, hash, moduli esterni, documentazione, moduli di testing </li></ul>
  14. 14. Altri problemi della bioinfo <ul><li>Mentalità 'Publish or Perish': una volta che una libreria viene pubblicata su rivista, non viene mantenuta. </li></ul><ul><li>Non esiste una vera e propria cultura del software libero. </li></ul><ul><li>Non sono definite delle pratiche di buona programmazione comuni. </li></ul>
  15. 15. Esempi: BioPerl <ul><li>BioPerl é un insieme di librerie per la bioinformatica rilasciate sotto Gnu/GPL </li></ul><ul><li>Casi d'uso: convertire un file in un formato diverso, cercare un articolo, avviare un tool di allineamento su un database pubblico, calcolare proprietà di una sequenza, etc.. </li></ul><ul><li>Esistono altri progetti simili (BioPython, BioJava, BioC, ...), ma BioPerl é il più completo e diffuso </li></ul><ul><li>Purtroppo non tutti lo usano ('snobbato'). </li></ul>
  16. 16. Esempi: Ensembl APIs <ul><li>Ensembl è un progetto nato per gestire le informazioni ricavate dal sequenziamento del genoma umano </li></ul><ul><li>Fornisce informazioni come la posizione di geni e di trascritti, SNPs, regioni d'omologia. </li></ul><ul><li>Adesso é stato allargato ad altre specie oltre all'uomo. </li></ul><ul><li>Ensembl fornisce delle ottime API per estrarre e navigare sui dati annotati, in perl e java. </li></ul>
  17. 17. Esempi:
  18. 18. Futuro del Perl in bioinfo <ul><li>In alcuni campi ci si sta spostando dal lavoro su file di testo all'uso di database </li></ul><ul><ul><li>Come è perl per lavorare su database? </li></ul></ul><ul><li>Antagonisti/Compagni del perl: </li></ul><ul><ul><li>R </li></ul></ul><ul><ul><li>Python </li></ul></ul><ul><ul><li>Java </li></ul></ul><ul><li>In ogni caso, è probabile che perl continui ad essere utilizzato a lungo, perché ci sono molte librerie e comunità disposte a mantenerle. </li></ul>
  19. 19. Errori comuni in bioinformatica

×