BIOINFO3 - Lezione 291 PATTERN MATCHING Imparato cosa sono e come si usano le espressioni regolari per individuare dei pattern, vediamo come si usano in.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
Sistemi Operativi - Vi 1 Il sistema operativo LINUX Leditor vi Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica.
Dati, istruzione e pseudocodice
PROGRAMMARE IN PASCAL (le basi)
PHP.
Lez. 7 (11/12) - PBElementi di Programmazione1 Lezione 7 Tipi String e Date.
Algoritmi e Programmazione
Laboratorio Matematica e Informatica
Shell Scripting. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure contenuti.
Programmazione Procedurale in Linguaggio C++
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
JAVASCRIPT DIFFERENZA TRA JAVASCRIPT E JAVA TAG LO SCRIPT OGGETTI LE CLASSI FUNZIONE GESTORE DI EVENTI ELEMENTI DEL LINGUAGGI è un vero e proprio linguaggio.
Esercizi di esonero (a.a. 2007/2008) Compito C, terzo esercizio Data una sequenza di caratteri s1 ed una stringa s2 diciamo che s1 è contenuta in s2 se.
Algoritmi Politecnico di Milano C Primi programmi Politecnico di Milano.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
Esercizio 4 Data una stringa P di lunghezza m e definita sullalfabeto, scrivere un programma PERL per calcolare la seguente funzione: PREFIX_FUNCTION:
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Espressioni condizionali
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Informazioni utili Per avere una distribuzione linux sul proprio pc: 1.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX AWK Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Lezione 17 maggio 2007 Parametri da linea di comando FILE Strutture (introduzione)
Corso di PHP.
Programmazione in Java Claudia Raibulet
Biologia Computazionale - Algoritmi
Foglio elettronico Excel Livello avanzato
CAP. 2 ANALISI LESSICALE 2.1 Il ruolo dell'analizzatore lessicale
BIOINFO3 - Lezione 24 ARRAY
BIOINFO3 - Lezione 281 PATTERN MATCHING E sicuramente una delle cose più utili del Perl, che lo rende un linguaggio estremamente potente. Permette di cercare.
Elenchi in Excel E’ possibile inserire le voci del nuovo elenco oppure
Foglio elettronico Excel Livello avanzato
BIOINFO3 - Lezione 261 ESERCIZIO Esercizio. Leggere delle sequenze di DNA (una per riga, a partire da inizio riga) e stampare solo le sequenze lunghe più
BIOINFO3 - Lezione 381 ESERCIZIO Dato un programma con la sola istruzione: $a=Hasta la vista! Quanto vale length($a) ?15 substr($a,0) ? substr($a,$b) ?
BIOINFO3 - Lezione 221 Listruzione IF-ELSE prevede un secondo blocco di istruzioni da eseguire in alternativa al primo nel caso la condizione sia falsa.
IL MASSIMO DI UN ARRAY ESERCIZIO
PARSERIZZAZIONE DI FILE
BIOINFO3 - Lezione PARSING RISULTATI DI BLAST Nella lezione di ieri abbiamo visto come automatizzare lesecuzione di BLAST. Oggi proviamo.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
BIOINFO3 - Lezione 17 VARIABILI
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
BIOINFO3 - Lezione 271 PATH DEL FILE Bisogna fare molta attenzione al path del file da aprire. Per non sbagliare converrebbe passare sempre il path assoluto.
REDIREZIONE INPUT E OUTPUT
BIOINFO3 - Lezione 251 ARRAY ASSOCIATIVI E possibile assegnare tutti gli elementi dellarray con ununica istruzione %anni=(Marco,30,Luigi,33,Anna,28,Chiara,25);
Funzioni per il trattamento delle stringhe
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Lezione 3 Struttura lessicale del linguaggio
Introduzione a Javascript
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Logica A.A Francesco orilia
EPI DATA ver. 3 Costruzione di un file di controllo
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 2: 20 Aprile 2015 Marco D. Santambrogio – Gianluca Durelli –
Contare e ordinare files di testo Per contare i caratteri, le righe e le parole in un file di testo wc (word count) % wc human_proteins.fa Conta le parole.
Operatori di incremento e decremento
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
1 Il preprocessore. 2 Viene invocato dal gcc prima della compilazione vera e propria ( cpp ) Esegue delle manipolazioni testuali sul file –sostituisce.
FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome 
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Transcript della presentazione:

BIOINFO3 - Lezione 291 PATTERN MATCHING Imparato cosa sono e come si usano le espressioni regolari per individuare dei pattern, vediamo come si usano in Perl per cercare i pattern in una stringa $stringa=~ /espressione regolare/ Lespressione nel suo complesso è vera se il pattern descritto dallespressione regolare è trovato nella stringa. In tal caso la stringa ($stringa) appartiene a quellinsieme verde che avevamo visto nel primo lucido. Se invece $stringa non contiene il pattern allora si troverà nellinsieme di stringhe rosso. Esiste anche una versione con !~ al posto di =~ che funziona al contrario: è vera se la stringa non contiene il pattern $a=~ /Mari[ao]/ è vera se la stringa $a contiene il pattern Maria o Mario if ($a=~/^\d+$/){vera se $a è un numero naturale print $a è un numero\n; }

BIOINFO3 - Lezione 292 ESEMPIO

3 ESEMPIO operatore x: ripete un numero prefissato di volte la stringa che lo precede Il pattern può essere una variabile!!!!

BIOINFO3 - Lezione 294

5 ESERCIZIO Leggere un file (ad esempio in redirezione). Stampare solo le righe che iniziano con il carattere >

BIOINFO3 - Lezione 296 ESTRAZIONE DEI PATTERN Se si è interessati a ricavare il valore effettivo delle sottostringhe che hanno soddisfatto certi pattern (ad esempio anche solo una parte di una espressione regolare) si possono racchiudere questi pattern tra parentesi tonde. Le sottostringhe vengono poi automaticamente assegnate rispettivamente alle variabili $1, $2, … (il primo pattern tra parentesi alla variabile $1, il secondo alla variabile $2,…) / ( ) ( ) / $1 $2 …..

BIOINFO3 - Lezione 297 ESEMPIO Nella seguente istruzione ho colorato i tre sottopattern con colori diversi per individuarli subito a vista docchio. In particolare se la stringa $data ha il formato previsto ed è quindi una data valida (una o due cifre per il giorno, una o due cifre per il mese, due, tre o quattro cifre per lanno, separate dal carattere -) allora si esegue lif, in cui la sottostringa corrispondente al primo pattern viene salvata in $1, la sottostringa corrispondente al secondo pattern viene salvata in $2 e la sottostringa corrispondente al terzo pattern viene salvata in $3 if ($data=~ /(^[0-9]?[0-9])-([0-9]?[0-9])-([0-9]?[0-9]?[0-9][0-9]$)/){ $giorno=$1; $mese=$2; $anno=$3; }

BIOINFO3 - Lezione 298

9 SOSTITUZIONI In una stringa è possibile sostituire automaticamente una sottostringa che verifichi un determinato pattern con unaltra stringa $stringa=~ s/pattern di ricerca/sostituzione/gi Le opzioni g ed i sono facoltative e valgono anche per il pattern matching: gsostituisce tutte (global) le occorrenze del pattern incontrate. Se non si specifica g, viene sostituita solo la prima occorrenza. isostituisce in modo case insensitive, cioè non preoccupandosi se la stringa trovata ha esattamente le maiuscole e le minuscole specificate $a=AUTOCARRO 150; $a=~ s/AUTO/MOTO/; # $a diventa MOTOCARRO 150 $a=~ s/RR/R/g; # $a diventa MOTOCARO 150 $a=~ s/ //g; # $a diventa MOTOCARO150 $a=~ s/[0-9]+//g; # $a diventa MOTOCARO

BIOINFO3 - Lezione 2910 ESERCIZI Rimuovere dalla stringa $b tutte le occorrenze dei caratteri di spaziatura Sb=~ s/\s//g; (N.B. senza il g rimuove solo il primo!!) Trasformare tutti gli spazi multipli della stringa $nome in spazi singoli Snome=~ s/ +/ /g; (N.B. ancora è necessario il g) Rimuovere dalla stringa $cognome gli spazi iniziali Scognome=~ s/^ +//; Mascherare nella sequenza di DNA $s la sottosequenza ACTGTT con XXXXXX Ss=~ s/ACTGTT/XXXXXX/gi; (N.B. la sequenza potrebbe essere anche minuscola!)

BIOINFO3 - Lezione 2911 ESERCIZIO Leggere delle righe dallinput. Le righe rappresentano sequenze di DNA. Se la riga contengono il > stampare la riga cosi comè. Altrimenti stampare la riga dopo aver rimosso tutti i caratteri diversi dalle quattro basi

BIOINFO3 - Lezione 2912 RIEPILOGO Pattern matching Estrazione di pattern Sostituzione di pattern Esercizio 15. Passare come argomenti ad un programma due nomi di file. Il primo contiene delle stringhe (una per riga), il secondo delle espressioni regolari (uno per riga). Stampare una per riga le stringhe e per ciascuna stampare, sulla stessa riga, separati da spazi, tutte e sole le espressioni regolari verificate da quella stringa.