Bioinformatica e Web 2.0

Inside Bioinfo

21 novembre 2007 - 17:11

The DNA Network (un occhio di sbieco sul mondo della science-blog-sphere)

Un problema notevole in un mondo dove la blogsfera è infinitamente in crescita, infinitamente veloce, è selezionare cosa leggere, e sapere dove trovare quanto di interessante c’è in un determinato settore. I semplici aggregatori feed possono aiutare, ma spesso sono dispersivi.
La mia pagina personale del google desktop, per esempio, ormai si dispone in 4 tag divisi per argomento, e ognuno di esso è stracolmo di feed a blog che desidererei seguire assiduamente.

 

Ormai sono tantissimi anche i blog di bioinformatica, e di scienza in genere, e seguirli tutti diventa troppo time-consuming.

Una delle soluzioni che ho adottato è stata quella di utilizzare un servizio ancora in beta che mette a disposizione feedburner, ovvero i FB Network. Network di blog. Nel mio caso seguo con piacere THE DNA NETWORK!

 

I blogger vengono invitati ad iscrivere il proprio blog ad un “gruppo tematico”, dopo di che i titoli e gli starter dei diversi post vengono proposti in una unica pagina online aggiornata in real time. E’ un’alternativa all’uso dei tag in technorati o tag bioinformatici di wordpress. Scorrendo questa pagina si riesce a selezionare velocemente articoli e notizie flash che ci possono essere sfuggite.
Naturalmente, non c’è tutto lo scibile d’interesse, però capita spesso che l’attenzione cada su un articolo o un tool che altrimenti non avremmo mai preso in considerazione, e il tempo speso è veramente poco.

Have Fun!

Tags: Aggregatori Feed, bioinformatica, BlogSfera, DNA Network
12 novembre 2007 - 18:20

Bioscreencast (1001 nuovi sharing tools)

Il successo di YouTube ha veramente rivoluzionato il web e la sua anima collaborativa. Oramai tutti i giorni si scoprono nuovi progetti che integrano web 2.0 con lo streaming e dintorni. Ci sono radio via web e portali per condividere slide e presentazioni, ci sono gruppi su social networks, ci sono sistemi televisivi personalizzabili, e mille altri.
In questo marasma, i bioinformatici ci si sono spesso buttati a pesce, navigando a vista tra queste nuove possibilità, disperdendosi ed evolvendo come qualunque altra razza primate.

Di tutte queste nuove proposte, l’intenzione sarebbe di introdurre qui sul blog quanti più nuovi servizi mi sia possibile, dando giusto un’idea di cosa si tratti, e poi, con più calma (e magari un po’ di collaborazione), creare dei mini-tutorial per l’area didattica che ne completino la documentazione.

Oggi volevo parlarvi di un appassionante servizio per bioinformatici pigri: Bioscreeencast ! Molti lo conosceranno di già, ma a me piace e quindi eccovelo!

Cosa è? Wikipedia ci dice che uno screencast è una registrazione digitale di quanto succede sul desktop del nostro computer, magari dotata di una narrazione audio.
A cosa può servire? Per evitare ad un bioinformatico pieno di impegni di spulciarsi 1000 pagine di documentazione per sapere come si usa una specifica funzione di genome browser, per esempio.
L’idea è creare una comunità per condividere video che spieghino, all’atto pratico, l’uso di un tool di interesse scientifico.

L’interfaccia è veramente intuitiva, e c’è un bel blog per approfondire. Forza biocosi, diamoci da fare!

Tags: bioinformatica, bioscreencast, condivisione dei dati, video
10 novembre 2007 - 12:02

Sono solo dati, stupido! (i limiti di OpenSocial)


Torno brevemente sulla questione della necessità che i dati siano condivisi e condivisibili, sopratutto in ambienti scientifici. Nell’articolo su Genome Commons facevo notare come ci sia ben da sperare se nascono iniziative spinte dalla filosofia della condivisione e divulgazione della conoscenza (anche iper-specialistica).

Ebbene, c’è anche chi non va proprio in questa direzione (o almeno devvia un pochetto), e si tratta di qualcuno che non ci saremmo aspettato.Tim O’Reilly (sì, il Tim famoso) in un suo post fa le pulci al progetto di Google: OpenSocial. Per quanti ancora non abbiano letto di questo progetto vi rimando qui e qui .
In un incontro, circa la possibilità di costruire con le API anche applicazioni che ri-mescolino dati da più piattaforme sociali, si dichiara:

No, you only have access to the data of the individual platform or application.

E Tim fa notare che “we want applications that can use data from multiple social networks”.

Bhe, questo è un bel limite. In ogni settore del tecno-mondo ormai c’è la necessità di confrontarsi non solo con la condivisione dei raw data, ma anche con il fatto che dalla loro re-interpretazione, connessione, interazione, è possibile ottenere un maggior livello di comprensione. La bioinformatica è piena di tali esempi.

Speriamo che in Google vi portino rimedio!

Tags: bioinformatica, condivisione dei dati, OpenSocial
9 novembre 2007 - 11:09

Progetto bioSapiens (corsi e dintorni)

There is talk of the project BioSapiens , another of those huge agglomerations of European institutions around a project too big to be conducted by a single institution. These scientific joint ventures will also be in fashion (because they circulate a good amount of funding), but they also fulfill a fundamental task, which is often underestimated: the integration of work platforms . In fact, these projects must forcibly integrate the bioniform tools into their startup phase, as explained in the article:

In Europe, industry luminaries gathered in the Network of Excellence called BioSapiens, funded under the thematic area ‘Life sciences, genomics and biotechnology for health’ under the Sixth Framework Program. So far, one of the project’s main achievements has been the development of new bioinformatics tools and their integration into existing biological data management systems.
Biosapiens also has a wide spectrum of collateral activities. The article says that the project will last one more year and during this period the researchers plan to refine their tools for the next phase of the ENCODE project, which involves the annotation of the remaining 99% of the human genome. In addition it also provides a training component . This aspect intrigued me a lot, and pushed me to go to deepen the official website . Personally I always try to keep myself informed about the training proposals in the bioinformatics field, and, being able,

Our goal is to empower therapists with the knowledge, wisdom and hop over to this website needed to create their strategies for successfully serving their clients.

But I advise all those bioinformatics who would like to make a beautiful foreign training experience (so all, right?) to look in the training section . There are some very interesting information about the ESB: The European School In Bioinformatics and above all c ‘is the ISCB Listing of Degree / Certificate Programs Worldwide , a mini search engine containing information about all the bioinformatics courses that are carried out in the European institutes .
A very convenient way to avoid having to browse the sites of universities and institutions.

Tags: bioinformatica, Cordis, formazione
6 novembre 2007 - 15:03

Genome Commons (Farsi il genoma da soli)

Ricordo quando anni fa incontrai per la prima volta la parola “Commons” insieme a “proteomica”. Proteomecommons fu un sito di grande interesse. Lo si sarebbe dovuto mettere su un piedistallo solo per 2 aspetti: distribuivano l’archivio dei dati e dei tool via torrent, e avevano realizzato la geniale trovata della fetta di torta che viene mangiata mentre si naviga nel sito.

Purtroppo è ormai un progettino messo da parte. :-( In compenso, ecco nascere un progetto che al momento pare limitato ma che nvece è molto ambizioso: genomecommons. Tutto parte da un articolo pubblicato su Nature, che risulta stimolante e futuribile.
Come dice il suo esimio autore Steve Brenner

The Genome Commons and Genome Commons Navigators are open resources I propose to assist with personal genome interpretation.

Il progetto è stato ispirato dai progressi della genotipizzazione e sequenziamento, e la possibilità abbastanza comune ormai per le persone fisiche di ottenere il proprio genoma sequenziato. Alcuni di questi pensieri sono enunciati nel post iniziale del blog del progetto.

Tutto il materiale è sotto licenza Creative Commons, che è un’ottima decisione. In questo caso Commons significa una distribuzione pubblica della conoscenza della variabilità genetica umana e i suoi effetti; conoscenza sostenuta da database, laboratori diagnostici, e letteratura scientifica.
Consiglio d’andare a darci un’occhiata. Anche solo per rendersi conto come il web e la filosofia del Commons sta aprendo panorami nuovi e stimolanti.

Tags: bioinformatica, creative commons, genoma
17 ottobre 2007 - 10:16

Protein ID mapping (come passar da una nomenclatura ad un’altra in due facili click)

Chiunque abbia lavorato con le proteine in silico non può che rendersi conto di quanto sia un pandemonio gestirne la nomenclatura.
La loro complessità disperde la ricerca in mille rivoli; la varietà dei progetti che nascono e i database che ne derivano hanno un tratto in comune: non avere un gran che in comune. Tanto che esistono progetti di integrazione che servono proprio per collezionare e linkare quante più informazioni possibili da diverse fonti.
Spesso risulta necessario fare del “ID Mapping“. Un esempio qualsiasi? Si ha tra le mani una bellissima lista di proteine che si vorrebbe correlare con una lista complementare scaricata dalla rete. E ti ritrovi a non poterlo fare perchè la loro nomenclatura non è compatibile!
Il bio-metodo più puro credo sia mettersi a giocare un po’ con SRS, fare qualche query intelligente con getz e quindi estrarre le corrispondenze. Qualcosa che possa partire da:

#
# SRS query
#
my $query="getz -e \'[database -acc:\"nomeproteina\"]\' |";
open (HANDLE, "$query")or die "can't open $query: $!\n";
while ($line=<HANDLE>) {
if ($line=~/^campo_di_interesse/gi) {
# qualunque operazione ti possa servire
next;
}
}

Naturalmente in questo caso non si è tenuto conto della pigrizia del bioinformatico :-)

SRS è un potente mezzo, e consiglio a tutti quanti di perderci un po’ di tempo, ma non tutti hanno sempre bisogno (o voglia) di lavorar per linea di comando. Magari l’ID mapping non è una attività così comune all’interno del vostro progetto. O gli elementi da convertire non sono poi così tanti. In questo caso vi voglio suggerire tre strumenti on line che possono fare per voi:

Ecco fatto! Certo, non è come farselo da sè, ma d’altra parte, se c’è tanta gente così gentile da lavorare per facilitarci la vita…

15 ottobre 2007 - 17:35

Piccolo momento di autocoscienza bioinformatica (per non sforzare i neuroni)

Quando leggo o sento parlar di scienza in Italia, di come essa sia il futuro del paese (dell’umanità!), e di come siamo tutti tanto orgogliosi del nobel assegnati ai nostri migliori cervelli, non so mai se sorridere o piagnucolare. Inanzitutto perchè subito mi tornano in mente i valori dei finanziamenti che vengono investiti nel nostro paese, in confronto al resto dell’europa, e secondariamente perchè un click mi dice che il nostro orgoglioso nobel è migrato da più di venti anni altrove . Non vogliamo far troppe polemiche, ma costui è considerabile italiano??!
Poi, spontaneamente, protendo al pianto. Leggevo quest’articolo proprio ieri; esemplare sfogo di come ci sia ben poco da stare allegri se veramente nel nostro DNA c’è scritto l’istinto del ricercatore:

L’Italia mi sta cacciando. Sta perdendo una persona che ama il suo paese, ama Napoli e ama la ricerca scientifica. Voglio fare la ricercatrice ma in Italia non ho speranze, non ho futuro. Sono costretta a partire, anche se non vorrei. Mi sento rifiutata dal mio paese

Non dovrei proprio parlare. In effetti io ho scelto di tenere la bioinformatica non come fonte primaria di sopravvivenza, ma come piacere e sfogo per un un informatico che a volte trova il lavoro al computer poco creativo e molto frustrante. Dopo anni di dottorato, di tante soddisfazioni e studi appassionati, mi sono messo in discussione e ho fatto un breve momento di auto-analisi. (AARGH!)

E’ il momento in cui ci si guarda dentro e si fa un bilancio tra quanto ti piace fare scienza, quali sono gli svantaggi a cui vai incontro in quest’Italia, cosa sei disposto a fare per continuare, quali prospettive hai, e quanto effettivamente vali come scienziato. Ora, come diceva il mai troppo compianto Gaber, di solito questo non è un bel momento, non tanto perchè il tempo si fa un po’ più scuro e cupo, quanto perchè tu ti fai un po’ più schifo. :-)

Ora, la scienza già è -ora come ora- qualcosa solo per pochi privilegiati. In Italia è naturalmente fatta “all’italiana” con tutto quel comporta: amicizie, favori, burocrazia, poca meritocrazia. La bioinformatica, per quanto sbandierata come uno strumento fondamentale d’integrazione, assolutamente indispensabile per far compiere in breve tempo, quel passo quantico ad ogni progetto che comporti aspetti computazionali intensi, e’ posta nell’angolino del sottoscala della ricerca di base. Far bioinformatica in Italia significa IMHO essere molto coraggiosi, o molto lungimiranti, ma anche non molto furbi.

Non voglio spaventare nussuno, sia ben chiaro. Il periodo in cui ho fatto bioinfo full time è stato interessantissimo, e forse -fossi 10 anni più giovane- sarei a Toronto a leggere sequenze senza tanti rimpianti di come l’Italia sfratta forzatamente i propri giovani virgulti. Ma ora che sono più grande, sono più interessata a sapere quali sono le migliori creme antirughe per over 60 per farmi sembrare più giovane.

MA quanti, ed eccomi alla domanda che volevo porvi quest’oggi, quanti dei bioinformatici italiani hanno già fatto mente locale su quel che li aspetta, e hanno scelto, razionalmente, in piena coscienza, di continuare con questa difficile carriera? E quanti invece l’unica cosa che possono promettersi è dire “finchè dura…

3 ottobre 2007 - 09:25

gli strumenti indispensabili per il bioinformatico (poco) scaltro

L’idea da cui ero partito per questo articolo era cercare di configurare delle macro-aree di bioinformatica, e per ognuna di esse collezionare i software e gli strumenti on line che un buon bioinformatico non può non conoscere. Un po’ troppo ambizioso, naturalmente. Inanzitutto perchè non è facile individuare delle categorie ben chiare ove collocare questa o quella tipologia di analisi bioinformatica; in secondo luogo perchè a volare un secondo già solo su Expasy si capisce come il mondo del software biomedicale e dintorni si frammenta e s’espande enormemente, in continuazione.

A pensarci bene ad un bioinformatico scaltro serve ricordare solo tre cose seriamente:

  1. Google is yr friend
  2. RTFMF (read the fucking manual first)
  3. Nothing is perfect

Spero di non dover spiegare i tre punti su menzionati a nessuno. Per quanti invece sarebbe necessario, vadano a casa a chiedere delucidazioni al figlio sedicenne prima di continuare a leggere. :-)

Cosciente di queste tre grandi verità, nell’era della bioinformatica, del web 2.0 e della postgenomica, basta adoperarsi con passione e approccio analitico, per poter padroneggiare qualunque tools ci serva di volta in volta.

Questo non toglie che sarebbe carino approcciare l’argomento dei tools che ogni bioinformatico ha in punta di dita, senza essere troppi pretenziosi. Vorrei allora chiedere a chi ha letto fin qui di indicare, a commento di questo post, quale sia lo strumento bioinformatico che usa in assoluto di più. Magari spiegando il perchè, in che settore lo si usa, e come vi facilita la vita. Non vi chiedo una vera recensione (per questo, si faccia riferimento al punto 1). La mia intenzione è quello di raccogliere brevemente qualche esperienza, per magari in futuro approfondire e scriverne ancora con maggior senno.

Inizio io:

Lo strumento bioinformatico in assoluto che uso di più è….Linux!

Why Linux? Basti pensare che con esso si ha accesso libero a centinaia di tools bioniformatici. Possibilità di operare in regime di multiuser, multitasking e accesso remoto. Migliori performance. Accesso da shell. E qui mi fermo.

Ps: io ambizioso lo sono comunque, e quindi provo a stendere un canovaccio per classificare i vari strumenti bioinformatici. Penso si potrebbero distinguere secondo queste aree standard:

  • Biostatistica e biologia computazionale
  • Algoritmi
  • Analisi di sequenze
  • Filogenetica
  • Analisi di espressione genica
  • Proteomica e metabolomica
  • Chemioinformatica
  • Bioinformatica strutturale
  • Modellizzazione molecolare
  • Drug design
  • Database biologici
  • Data managment e annotazione

Che ne dite, potrebbe andare? A voi la parola! Diteci quale è il tool che preferite.

19 settembre 2007 - 12:23

Librerie di oggetti bioinformatici Python (metalinguaggi da laboratorio da condividere)

Sul suo blog personale, Dalloliogm ha scritto un interessante articolo su come python può facilitare la vita dei bioinformatici . Il suo è un bel esempio di come, attraverso una serie di oggetti legati alla genetica, alle banche dati, ecc, è possibile creare una libreria sempre pronta per elaborazioni comode e veloci: un meta linguaggio specifico per le ricerche che il bioinformatico deve svolgere.
Diciamolo subito: amo python. Amo il fatto che non necessiti di parentesi e che lavori esclusivamente ad oggetti. Lo amo per la sua sinteticità! In poche righe è possibile fare grandi operazioni.

Vi propongo un breve esempio comparativo dello sviluppo di una medesima funzione prima in Perl e poi in Python. Tenete presente che io non sono un guru di nessuno dei due linguaggi, e sicuramente le routine che vi proporrò possono essere ottimizzate. Anzi: siete invitati ad ottimizzarle!
La questione è la seguente. La prima operazione che un bioinformatico interessato alla proteomica deve sviluppare è un piccolo algoritmo per svolgere una “digestione in silico delle proteine“. Ovvero: data la sequenza aminoacidica di una proteina, devo poterla spezzare in tanti peptidi attraverso un enzima. Per facilitare la cosa noi simuleremo l’uso della tripsina. Enzima che taglia (FRAMMENTA) la sequenza seguendo le seguenti regole:

  1. Taglia la sequenza quando trova un aminoacido K o R.
  2. Non lo taglia nel caso ci sia una P successiva, ovvero non nel caso KP e RP.
  3. E’ possibile ci sia un “errore di taglio“, ovvero è possibile che l’enzima non funzioni nel 100% dei casi e quindi che lasci la sequenza parzialmente integra

Un esempio per capirci:
La sequenza della nostra proteina sarà: AAAAAKBBKPCCCCRDDDKEEEEPFFRKGGGG
la mia routine deve restituire la seguente lista:
AAAAAK
BBKPCCCR
DDDK
EEEEPFFR
K
GGGG
AAAAAKBBKPCCCR
BBKPCCCRDDDK
DDDKEEEEPFFR
EEEEPFFRK
KGGGG

Ed ecco come faccio la magia in Perl (in input la sequenza e il numero di possibili errori di tagli (miscleavages)). In sostanza la sub percorre la sequenza, taglia prima i singoli pezzi e poi dalla lista creata unisce 2 a 2 per avere le sequenze con miscleavage.
###########################################

sub tryp {
my $seq = shift @_;
my $miscleav = shift @_;
my %Hfrag =();
my @fragments = @fragReturn = ();
my @splittedSeq=split(//,$seq);
my @fragIndex = ();
my $start=0;
my $end=0;
for ($i=0; $i<$#splittedSeq; $i++){
if (($splittedSeq[$i] =~ /[KR]/) && ($splittedSeq[$i+1] =~ /[^P]/)) {
$end = $endf = $i;
@fragment = @splittedSeq[$start..$end];
push @fragments, join(“”,@fragment);
push @fragIndex, $start;
$start = $i+1;
}
}
if ($endf<$#splittedSeq) {
push @fragments, join (“”, @splittedSeq[($endf+1)..$#splittedSeq]);
push @fragIndex, $endf+1;
}
if ($miscleav != 0) {
for ($p=1; $p<=$miscleav; $p++){
for ($j=0; $j<=$#fragIndex-$p-1; $j++) {
@fragment = @splittedSeq[$fragIndex[$j]..$fragIndex[$j+$p+1]-1];
push @fragments , join(“”,@fragment);
}
@fragment = @splittedSeq[$fragIndex[$#fragIndex-$p]..$#splittedSeq];
push @fragments , join(“”,@fragment);
}
}
foreach my $frdef (@fragments) { $Hfrag{$frdef}=1;}
foreach my $frdef (keys %Hfrag) { push @fragReturn, $frdef; }
return @fragReturn;
}

######################################

la stessa cosa scritta in python:

class Protein(object):
def __init__(self,seq):
self.sequence=seq
def dig_tryp(self,misscleavages=0):
seqKP=re.sub(‘KP’,’1′,self.sequence)
seqRP=re.sub(‘RP’,’2′,seqKP)
seqModified=re.sub(‘K’,'K ‘,seqRP)
invseqKP=re.sub(’1′,’KP’,seqModified)
invseqRP=re.sub(’2′,’RP’,invseqKP)
listPeptides=invseqRP.split()
list=listPeptides
listTot=listPeptides
for num in range(1,misscleavages):
listTemp=[]
listTemp=[list[y]+listPeptides[y+num] for y,t in enumerate(list[:len(list)-1]) if listPeptides[y+num] ]
list=listTemp
listTot.extend(list)
return listTot

##################################

Ho semplicemente creato una classe Protein e un oggetto dig_tryp.
Come si può notare la sinteticità del secondo esempio facilita anche la lettura del codice. E anche quando lo si usa
basta a questo punto creare una istanza con qualcosa del tipo:
P1 = Protein(AAAAAKBBKPCCCCRDDDKEEEEPFFRKGGGG)
peptidi = P1.dig_tryp(1);
Naturalmente anche Perl può essere programmato ad oggetti. E’ possibile creare package pm che contengano le varie sub da richiamare in altri script, ma Perl non è nato come un linguaggio Object oriented e quindi ne eredita certe limitazioni.
Altro vantaggio non da poco del python: il 99.9% dei moduli che vi potranno mai servire sono integrati nel pacchetto di base. Non vi dovrete mai spezzare la testa per far funzionare il modulo DBI su un sistema SUN con Solaris 10 (per esempio) e connettervi al vostro bel DB mysql!
Una piccola nota positiva per i Perlisti convinti (giusto per accontentare anche loro. L’unico vero vantaggio non da poco che vedo in Perl per applicazioni bioinformatiche è l’uso comodo e veloce delle espressioni regolari, che in python non è così immediato.

Immaginate ora una libreria di librerie, scritte in python, adatte per creare classi e oggetti per ogni settore scientifico. Integrabili, portabili! Altro che Bioperl!

10 settembre 2007 - 14:48

Scienza, studi e ricerche spiegati in video

Altrove se ne è già parlato, uno tra tutti vi cito l’articolo su bioinfo Blog!

E quindi vi indico solo l’uscita di un nuovo articolo
sulla Repubblica online che discute delle grandi potenzialità del nuovo sito di scivee.tv

per quanti siano interessati ad approfondire argomenti scientifici via video.