Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E3101Q116) AA 2015/2016 Parsing di un file in formato EMBL (parte I) Docente del laboratorio: Raffaella Rizzi 1
Esercizio Scrivere un programma che prenda in input un file in formato EMBL e che produca in standard output: l accession number (AC) e la lunghezza della sequenza la descrizione della sequenza l organismo a cui appartiene la sequenza lo start e l end della (eventuale) sequenza codificante (CDS), che esiste solo se la sequenza contenuta nel file è un mrna (RNA messaggero), cioé è un trascritto espresso da un gene il nome del (eventuale) gene che esprime la CDS la sequenza nucleotidica Una volta ottenuta la sequenza nucleotidica, determinare la sequenza codificante (CDS) e verificare che inizia con i tre caratteri atg e termina con una delle seguenti triplette {tag, taa, tga}
Esercizio Scrivere un programma che prenda in input un file in formato EMBL e che produca in standard output: l accession number (AC) e la lunghezza della sequenza la descrizione della sequenza La CDS è la sottostringa di mrna l organismo a cui appartiene la sequenza che viene tradotta in proteina lo start e l end della (eventuale) sequenza codificante (CDS), che esiste solo se la sequenza contenuta nel file è un mrna (RNA messaggero), cioé è un trascritto espresso da un gene il nome del (eventuale) gene che esprime la CDS la sequenza nucleotidica Una volta ottenuta la sequenza nucleotidica, determinare la sequenza codificante (CDS) e verificare che inizia con i tre caratteri atg e termina con una delle seguenti triplette {tag, taa, tga}
EMBL è un formato di puro testo composto da record identificati da un codice a due caratteri maiuscoli nelle prime due posizioni (e seguiti da tre spazi): l accession number (AC) e la lunghezza della sequenza Il record ID contiene una serie di campi separati da punto e virgola, di cui il primo è l accession number AC e l ultimo riporta la lunghezza della sequenza: ID M10051; SV 1; linear; mrna; STD; HUM; 4723 BP. la descrizione della sequenza Il record DE contiene la descrizione della sequenza DE Human insulin receptor mrna, complete cds. l organismo a cui appartiene la sequenza Il record OS contiene l organismo OS Homo sapiens (human)
EMBL è un formato di puro testo composto da record identificati da un codice a due caratteri maiuscoli nelle prime due posizioni (e seguiti da tre spazi): lo start e l end della (eventuale) sequenza codificante (CDS) Il record FT, seguito da spazi e dalla stringa CDS, contiene lo start e l end della CDS sulla sequenza: FT CDS 139..4287 il nome del (eventuale) gene che esprime la CDS Il record FT, seguito da spazi e dalla stringa /gene=, contiene il nome del gene FT /gene="insr la sequenza nucleotidica La sequenza nucleotidica è contenuta nella parte di file che inizia con il record SQ e termina con // (che segnala la fine del file)
Accession number: M10051 Lunghezza: 4723
Accession number: M10051 Lunghezza: 4723 row = leggi riga da file row =~ /^ID\s/
Accession number: M10051 Lunghezza: 4723 row = leggi riga da file row =~ /^ID\s+(\w+);.+?(\d+)\s+(BP bp)/ puts $1 puts $2
L accession number è anche presente nel record AC
Descrizione: Human insulin receptor mrna, complete cds.
Descrizione: Human insulin receptor mrna, complete cds. row = leggi riga da file row =~ /^DE\s+(.+)/ puts $1
Organismo: Homo sapiens (human).
Organismo: Homo sapiens (human). row = leggi riga da file row =~ /^OS\s+(.+)/ puts $1
CDS: sottostringa della sequenza nucleotidica che va dal carattere in posizione 139 al carattere in posizione 4287
row = leggi riga da file row =~ /^FT\s+CDS\s+(\d+)\.\.(\d+)/ puts $1 puts $2 CDS: sottostringa della sequenza nucleotidica che va dal carattere in posizione 139 al carattere in posizione 4287
Gene: INSR
row = leggi riga da file row =~ /^FT\s+\/gene= (\w+) )/ puts $1 Gene: INSR
Sequenza nucleotidica: ggggggctgcgcggccgggtcggtgcgcacacgagaaggacgcgcggccc