bioinfusion

blog di vita bioinformatica stremata

Archivio per la categoria ‘smart trick’

Visualizzazione di network di interazione tra proteine (sulla base di parole chiave)

Pubblicato da fuliggians su 11 Settembre 2007

Parlando di protein-protein interaction, risulta spesso difficoltoso creare classi e categorie per poter assemblare cluster funzionali di proteine. Le informazioni circa interazioni funzionali sono o non disponibili, o limitate a piccoli e ben specifici gruppi proteici, oppure sono sottoposte a una diaspora che costringe il bioinformatico a raccogliere i dati dalle fonti e database più diversi.
Eppure, è comune in proteomica avere a che fare con enormi liste di proteine identificate in un unico complesso; un’analisi quantitativa può anche fornire informazioni importantissime quali per esempio la lista delle le proteine più espresse. Eppure al contempo non si è in grado di collezionare in modo semplice le relazioni che vigono tra di esse. Questo perchè uno studio funzionale non è certo un’analisi di routine da condurre, e le conseguenti annotazioni presenti nei vari DB non hanno una forma compiuta, facilmente accessibile, come avviene invece per esempio nelle analisi genomiche.

Per superare questo limite ci viene in aiuto il fatto che la visualizzazione delle reti biologiche sta diventando un’operazione sempre più comune per l’analisi di dataset di grosse dimensioni. Questi network fanno riferimento ad un’ampia varietà di interazioni biologiche, similarità di sequenza, vie metaboliche, regolazioni geniche o interazioni proteiche (evviva).
Il mio obiettivo in questo caso è trovare un modo automatico di dare una rappresentazione visiva delle interazioni che possono esserci tra le proteine che compongono il complesso analissato. Interazioni nel senso più ampio, non solo quelle funzionali.

Dunque, la mia piccola ricetta comprende:
1) una lista di proteine identificate con il relativo score di identificazione
2) un server SRS che mi permetta di accedere comodamente a swissprot
3) uno script perl realizzato ad hoc
4) un software di visualizzazione di network

Spieghiamo le cose con ordine. La lista di proteine possiamo ottenerla da un’analisi di spettrometria di massa, usando per esempio come software di ricerca Mascot. Un piccolo lavoro di parsing ci permette di ottenere una semplice lista di proteine identificate.
SRS è un sistema che permette di interrogare database biologici. All’interno di uno script perl è possibile inserire query che sfruttano la potenzialità del comando getz per estrarre facilmente la sequenza fasta e tutte le altre informazioni della relativa proteina.
L’assunto di base è che il database SWISSPROT contiene tra i vari dati che fornisce un campo molto utile KEYWORD. Ovvero una lista di parole chiave che identificano genericamente le caratteristiche della proteina, e che quindi danno un sunto di tutte le sue proprietà desunte dai vari paper.
Estraiamo allora per ogni protein ID (che abbiamo dalla lista di proteine identificate) i vari keyword, e li associamo allo score di identificazione.
Infine diamo in pasto il risultato ad un software per la visualizzazione di network.
Ce ne sono di ogni tipo. Ve ne propongo uno piccolo, dinamico, 2D: BIOLAYOUT JAVA. Lo potete trovare descritto qui e già scaricato nel box dei file del blog. Un breve studio della sua sintassi mi permette di generare un file da dargli in pasto.
Ecco il risultato, una bella immagine che può far bella figura nel mio paper, e che mi dà un’idea complessiva delle interazioni tra proteine, quali sono fosforilate, quali hanno una struttura 3D conosciuta, ecc…

biolayout.jpg

Non male per 100 righe di programma:

Leggi il seguito di questo post »

Pubblicato su Mascot, bioinformatica, perl, protein-protein interaction, smart trick, sorgente, srs, swissprot | Lascia un commento »

ricomicia la stagione blog bioinfo

Pubblicato da fuliggians su 31 Agosto 2007

gente,

tornato da una vacanza passata all’insegna della fuga dalla pioggia tra umbria e marche, rieccomi  carico di energia elettrostatica, pronto a dividermi tra bioinfusion e Inside Bioinfo. Intanto rispondo alla disfida lanciata da dalloliogm in questo post. Mi sono sbizzarrito in questa bagar (come si scrive?) creativa e ho creato il mio bellissimo avatar simpsoniano.

simpson avatar

Sono o non sono un bell’esempio di bioinformatico virile?

Pubblicato su fuligramma, smart trick | Lascia un commento »

NCBI: passare da gi| proteiche a informazioni genomiche

Pubblicato da fuliggians su 22 Maggio 2007

La proteomica, forse per la sua complessità, forse perchè considerata secondaria rispetto alle genomica, ha un limitato numero di tools disponibili on-line. Specialmente, non è al momento ancora automatizzato il passaggio dal nome della proteina alla sua funzione.

Spesso sistemi di identificazione proteica come Mascot o Sequest sono in grado di fornire solo un’informazione di presenza/assenza delle proteine nel complesso analizzato. Con molta fatica già si riesce ad aggiungere un’informazione quantitativa (ovvero stabilire le proporzioni in cui si presentano le diverse proteine – quali sono quelle più espresse, insomma), usando tecniche che si basano su tag isotopici (iTRAQ, ICAT, SILAC).
Una volta identificate le proteine presenti in un complesso, entra in gioco il più delle volte l’esperienza del ricercatore, che deve analizzare le sequenze una ad una. Si possono usare database come prosite, o pfam per cercare di stabilire domini ofamiglie comuni, e qualche caratteristica funzionale. Non esistono però tools paragonabili a quelli a disposizione per l’analisi di liste genomiche, come la gene ontology, o David.

Personalmente per arricchire le informazioni generate da i software di identificazione ho sviluppato un piccolo tool che si integra con un software di visualizzazione di network molto leggero e dinamico (java biolayout). Faccio compiere su il database di SwissProt una ricerca degli ACC che ho a disposizione ed estraggo dalla query il campo KEYWORD. Questa è un’annotazione non sempre presente ma che -se c’è- identifica chiaramente quali sono le caratteristiche funzionali della proteina. Sulla base di questa informazione riesco a generare un’immagine che mi fornisce un’idea (parziale) del legame dei diversi elementi che fanno parte del complesso proteico.

Un’altra operazione ricorrente è collezionare le informazioni genomiche. Ora, come è noto, non vi è sempre una relazione univoca tra il gi| della proteina identificata e il suo gene. Spesso una stessa proteina può derivare da diversi cDNA, ecc..

La mia soluzione è operare una serie di step di calcolo impegnativi per il server ma che mi permettono con buona approssimazione di linkare all’informazione proteica anche i gene ID, le refseq, e via dicendo.

Sfrutto tre strumenti:

$query = "fastacmd -d $db -s $protID ";
$query = "blastall -p blastp -i temp.faa -d refseq_protein -e 1e-500 -m 8";
$query = "getz -e \'[refseqrelease -acc:$refseq]\'";

in questo modo riesco ad estrarre  prima la sequenza della proteina identificata partendo dal sui gi|

la seconda query fa un allineamento della sequenza ottenuta con un database refseq di proteine, molto stringente. Del la lista di match risultanti viene preso solo il primo risultato utile. E a questo livello ho le informazioni fondamentali genomiche, ovvero il gi| del gene corrispondente. Un’ultima query mi permette di estrarre maggiori informazioni ancora, come i riferimenti alla letteratura, per esempio.

E’ un giro un po’ complesso ma funziona!

Pubblicato su bioinformatica, smart trick, sorgente | 2 Commenti »