Bioinfo Blog!

blog di bioinformatica e di esperienze di studio all’estero

UML e bioinformatica

Posted by dalloliogm su agosto 6, 2007

Dal primo momento in cui ho iniziato a esercitare un po’ di pratica in laboratorio, ossia da quando ‘provo a fare bioinformatica’ sul serio, ho sempre avuto l’impressione che nella mia preparazione ci fosse una grossa lacuna.

Per farla breve, mi é sempre mancato un sistema che mi permettesse di schematizzare e riassumere i passaggi di un esperimento e di avere una idea precisa di quello che stavo facendo.

Purtroppo é cosí, e credo che la stessa cosa valga per altri bioinformatici, e in fondo, anche per tutti i biologi e i ricercatori in generale.
Non so se sia colpa mia, ma di fatto sia nei curriculum di biotecnologie che in quelli di bioinformatica, e a dire la veritá anche nei laboratori dove sono stato, si lavora molto poco sulla progettazione mentre ci si focalizza sulle tecniche e le conoscenze teoriche che servono in laboratorio.

Io per rimediare a questa mancanza ho vagato abbastanza… per un certo periodo di tempo ho provato a studiare taverna (http://taverna.sf.net), peró anche questo progetto rimane ancora un poco incompleto (e poi é in java, e richiede delle conoscenze di bioinformatica non indifferenti).

Per adesso invece sto provando a maneggiare l’UML, che é un linguaggio utilizzato in ingegneria informatica con lo scopo di organizzare grossi progetti software.

Devo dire che per il momento i risultati che sto ottenendo mi paiono piuttosto buoni.

 

1_overview.png
(il diagramma di attivitá UML che rappresenta a grandi linea il mio progetto di ricerca attuale. Leggi il resto dell’articolo per vedere gli altri diagrammi e gli altri tipi di diagrammi. Cmq, prima della discussione della tesi scriveró un articolo piú lungo per spiegare le specificazioni di UML che ho utilizzato).

Penso di scrivere buona parte delle cose scritte in questo post nella mia tesi di specialistica, quindi se mi potete dare qualche suggerimento su UML e questo genere di problemi, ve ne saró veramente riconoscente!🙂

UML in realtá é un linguaggio di progettazione che contiene le specifiche di piú tipi di diagrammi (spero che non ci sia nessun ingegnere informatico fra i miei lettori).

Così c’è un tipo di diagramma per ogni attività da portare avanti all’interno di un progetto: uno per progettare i passaggi generali che il software deve eseguire, un’altro per i casi d’uso (i motivi per cui l’utente, che in questo caso é il bioinformatico stesso, utilizzerá i programmi), un’altro per descrivere la struttura delle classi, etc.

Io tra tutte le specificazioni di UML credo siano sufficenti:

  • diagrammi di attivita’ (che praticamente sono i classici diagrammi di flusso) per indicare i passaggi da compiere;
  • diagrammi delle classi per descrivere la struttura dei moduli utilizzati e le strutture utilizzate per descrivere i dati (a me torna comodo cosi’ perche’ utilizzo molto la programmazione ad oggetti, ma magari si puo’ usare qualche schema piu’ semplice)
  • diagrammi di sequenze per descrivere l’ordine in cui vanno lanciate le varie funzioni e i metodi dei vari oggetti.

In piu’ ogni schema e’ corredato da un file di testo di documentazione di una 40a di righe suddiviso in sezioni: Descrizione, Obbiettivi, Prerequisiti, Risultati.
Si parlava di questo topic sul forum di molecularlab: http://www.molecularlab.it/forum/topic.asp?TOPIC_ID=4312

Al momento la mia tesina consiste in una 20a di pagine in cui illustro questi schemi, e un bel po’ di pagine di introduzioni e ciarle varie.
I diagrammi di classe come quello mostrato nell’ultima figura qui in basso mi sono stati veramente utili per progettare gli oggetti e le strutture con cui maneggio i miei dati; peró devo ancora iniziare a scrivere (e a studiare) i diagrammi di sequenza.

UML activity diagram - knowledge discovery UML class diagram - retained introns set
(un diagramma di attivita’ di UML che descrive i dettagli del diagramma piu’ generale postato qui in alto, ed un diagramma della classi che descrive alcuni degli oggetti che ho usato per i miei dati)

Bene, la mia idea é quella di studiarmi per bene le cose di cui sto parlando e di preparare qualche buon articolo quando ci avró capito abbastanza (magari un bel po’ di tempo?).

Ma cari lettori potete darmi qualche suggerimento? Avete qualche esempio da darmi o cosa ne pensate di queste robe?

Muchas gracias!!🙂

5 Risposte to “UML e bioinformatica”

  1. fuliggians said

    quel che credo è che per la gestione di un lab o di un semplice progetto per ora non c’è nulla di abbastanza dinamico. O si va nella direzione che hai preso tu (ma secondo me uno strumento come questo è stroppo script oriented per poter essere adattabile -facilmente- ad altri contesti), o viceversa ci sono strumenti troppo ampi, e indicati per pianificazioni aziendali, come il project di microsoft. Che sicuramente potrebbe essere usato nel tuo caso, ma ne useresti solo una piccola parte. Servirebbe uno strumento “alla google”. Specifico e immadiato.
    Dovrebbe poter permettere una mini gestione del laboratorio (db dei reagenti), che sia comune a tutti i ricercatori, ognuno dei quali dovrebbe essere dotato di uno scheduler per i singoli esperimenti che si linki per esempio ad una area per tener conto dei protocolli. Un uploader di immagini per registrare i risultati dei gel per esempio, un’area notes per le osservazioni.
    Insomma uno strumento molto indirizzato. C’è tutto in rete per farlo. Ma sarebbe bello poter customizzare il tutto in una suite a se stante. Mica facile.

  2. dalloliogm said

    ehi ciao fuli grazie mille per la risposta🙂.

    Il fatto é che io all’inizio cercavo proprio un modo per mettere ordine in mezzo al caos di script miei e di altri che si vengono a creare in un progetto di bioinformatica, almeno per il modo in cui é stato insegnato a me (che non mi piace se non si é ancora capito).

    E poi cercavo un modo di descrivere i metodi utilizzati nei miei esperimenti nel modo più chiaro possibile.. in modo che fossero facilmente riproducibili.
    Ti é mai capitato di leggere un articolo su una rivista di bioinformatica e di essere in grado di capire immediatamente il procedimento utilizzato e di replicarlo? Quanti articoli descrivono suite di scripts di cui é difficilissimo capirne la funzione?

    E’ questo il mio problema.. voglio rendere la mia tesina quanto più facilmente comprensibile possibile🙂.

    ciauz!!😀

    p.s. dai però qualche volta loggati anche tu su wordpress che così mi appare il tuo avatar nella lista dei commenti!😀

  3. dalloliogm said

    Ehi a proposito di project planner: hai visto questo progetto che si propone di essere una alternative proprio a Project della Microsoft, OpenProj?
    -> http://www.ossblog.it/post/2978/openproj

    Per linux c’é anche planner di gnome, che ho provato qualche volta ma non ho mai usato.

    Però non é esattamente questo quello che cerco… cercavo un linguaggio, un insieme di convenzioni per descrivere il progetto, magari con dei diagrammi di flusso.

  4. Vision82 said

    Hai perfettamente ragione, gli uml sono una cosa estremamente utile che purtroppo nemmeno da me utilizzano o hanno insegnato all’università -_-

  5. michela said

    Se mi spiegate un attimino nei dettagli di cosa avreste bisogno vedo cosa posso fare . Tipo cosa terreste di UML cosa non vi piace cosa vi servirebbe oltre ad un db reagenti😀
    Prendetela come una semplice proposta. PS. Bel blog interessante.

Sorry, the comment form is closed at this time.

 
%d blogger cliccano Mi Piace per questo: