Tesi: Sviluppo ed estensione della API per il database Ensembl

Descrizione

Il database Ensembl (www.ensembl.org) è uno dei principali database pubblici a livello mondiale che contiene informazioni sulle sequenze genomiche e relativi dati biologici delle principali specie oggetto di studio. L’API storica e ufficiale del database Ensembl è sviluppata da EBI (European Bioinformatics Institute, http://www.ebi.ac.uk) nel linguaggio Perl. In un processo di aggiornamento e di maggiore facilità d’accesso a questo tipo di informazioni, nel 2011 è stata pubblicata una nuova API per il database Ensembl nel linguaggio Ruby, che si basa sul pacchetto ActiveRecord di Rails. Questo progetto è ufficialmente supportato dalla comunità BioRuby (www.bioruby.org) e nel periodo di stage lo studente avrà la possibilità di lavorare a stretto contatto con gli autori di questo pacchetto e di essere introdotto nella realtà dei progetti OpenBio (www.open-bio.org). Durante il lavoro di stage sarà richiesto di estendere l’API esistente per supportare nuovi database di Ensembl non ancora inclusi, quali Compara e Functional Genomics. Particolarmente critica per questo tipo di API è la parte di testing, poichè il database Ensembl è un punto di riferimento per le analisi bioinformatiche e vi è la necessità di verificare la correttezza dei dati che sono restituiti dall’API. Inoltre, ogni 2-3 mesi circa, viene rilasciata da EBI una nuova versione di questo database, pertanto nel progetto di stage sarà prevista una fase di sviluppo mirata ad aggiungere all’API caratteristiche che consentano un più rapido aggiornamento del codice e una fase di testing più veloce ad ogni nuovo rilascio. A questo scopo lo studente utilizzerà la meta-programmazione offerta dal linguaggio Ruby e da ActiveRecord per generare automaticamente una parte di codice, sulla base dello schema del database Ensembl, e per rendere la suite di testing più flessibile possibile.

Luogo

Parco Tecnologico Padano — Lodi — http://www.tecnoparco.org

Requisiti

Familiarità con il linguaggio Ruby e con i database relazionali.

Competenze acquisibili

Esperienza con la meta-programmazione e lo sviluppo di un’API completa per accedere a dati complessi.

Risultati attesi

Sviluppo dell’API per accedere ai database Ensembl Compara e Ensembl FuncGen.

Per informazioni contattare

Gianluca Della Vedova <gianluca.dellavedova@unimib.it> oppure Francesco Strozzi <Francesco.strozzi@tecnoparco.org>

Tempo di realizzazione: 6 mesi