Applicazioni Bioinformatiche in Ambiente Grid Dott. Alessandro Laganà Dipartimento di Scienze Biomediche Dipartimento di Matematica e Informatica Università di Catania
Allineamento Multiplo di Sequenze Siano date n sequenze S1, S2, …, Sn; Un allineamento multiplo A associa ad S1, S2, …, Sn le sequenze S1’, S2’, …, Sn’, che possono contenere simboli di spazio “-”, in modo che: |S1’|=|S2’|=…=|Sn’| Rimuovendo gli spazi da S1’, S2’, …, Sn’ si ottengano S1, S2, …, Sn.
Allineamento multiplo: un esempio
AntiClustAl++ AntiClustAl++ è un tool per l’allineamento multiplo di sequenze, sviluppato dal Gruppo di Bioinformatica dell’Università di Catania. Basato sul tool T-Coffee e sull’Antipole Clustering.
Sperimentazione di AntiClustAl++ Benchmark Balibase Sabmark Prefab Ox-Bench Homstrad
The need for Grid! Benchmark Prefab: 1682 set di sequenze proteiche da allineare; Da 4 a 40 sequenze in ogni set; Tempo medio di esecuzione di AntiClustAl++ su un file: 20 minuti Numero di esecuzioni per file (parameter tuning): 10 Totale: 16820 esecuzioni 8 mesi su un singolo PC!!!
AntiClustAl++ on Grid Dimensione ac++: 1 Mb Per ogni esecuzione: Input: 1 file di sequenze in formato Fasta (Testo) ( 20 Kb) Output: 1 file di sequenze allineate (Testo) ( 25 Kb) 1 file di log con informazioni sull’esecuzione ( 2 Kb) Tool di supporto richiesti: ClustalW (Allineamento multiplo) ( 200 Kb) LAlign (Allineamento locale) ( 70 Kb)
Job Submission Script ac++_submit (Perl): Genera lista di file di input; Genera lista di parametri per ac++ (10 per ogni file di input); Genera script sub_i_j (Jdl): Sottometti Job (edg-job-submit) Memorizza in un file l’ID del job Executable = "ac.pl“; Arguments = “inputfile outputfile parameters“; StdOutput = "stdout.txt"; StdError = "stderr.txt“ InputSandbox = {"ac.pl", "ac++", inputfile, "lalign2list","clustalw"}; OutputSandbox = {"stdout.txt", "stderr.txt", outputfile, logfile};
Job Submission (2) Script ac.pl: Assegna permessi di scrittura ed esecuzione per ac++, clustalw e lalign2list; Crea riga di comando basata sui parametri in input; Esegui ac++.
Job Retrieve Script ac++_retrieve (Perl): Lanciato automaticamente al termine di ac++_submit; Legge lista di job sottomessi creata da ac++_submit; Per ogni job nella lista (ciclicamente) controlla lo status: Se status = Done Ritira i risultati e segna job come completo. Se status = Aborted Ritenta sottomissione job. Se status = Waiting e timeout scaduto (5 ore) Cancella job e ritenta sottomissione.
Qualche dato Numero di job sottomessi simultaneamente: 1000 Tempo medio di completamento: 8 ore Dettagli: 80% di job completati correttamente alla prima sottomissione; 10% di job “Aborted” da sottomettere di nuovo; 10% di job “Waiting” cancellati e sottomessi di nuovo; Tempo effettivo per il completamento del benchmark: 8 giorni.
Future Work: ac++ Parallelizzazione singola esecuzione di ac++. Impiego di informazioni strutturali in ac++: Predizione di strutture 3D di proteine Tempo medio di predizione: 90 min Dimensione dati di supporto alla predizione: 12 Gb!
Future work: miRFinder tool per la predizione di interazioni tra sequenze di mRNA e sequenze di miRNA. scritto in Python. usa un database di supporto (flat file). Possibile uso su Grid: suddivisione del database in n parti esecuzione simultanea di n istanze di miRFinder raccolta ed elaborazione dei risultati ottenuti.
Future work: Data Mining distribuito Algoritmi di clustering e data mining a basso supporto: Antipole Clustering distribuito Min-Hashing e sue varianti distribuito.
Il Gruppo di Bioinformatica Professors Prof. A. Ferro – Prof. M. Purrello Assistant Professors Dott.ssa C. Di Pietro – Dott.ssa R. Giugno – Dott. A. Pulvirenti Post-doc Dott.ssa M. S. Calafato – Dott. G. Pigola Ph.D. Students Dott. D. Barbagallo – Dott. S. Forte – Dott. A. Laganà – Dott. M. Ragusa Other Collaborators Dott. D. Skripin
Grazie!